編譯原理1

2021-08-17 04:09:14 字數 1300 閱讀 8579

1        引論

1.1        什麼叫編譯程式

編譯程式是指能夠把某一種語言程式(稱為源語言程式)轉換成另一種語言程式(稱為目標語言程式),而後者與前者在邏輯上是等價的。

1.2        編譯過程概述

1.2.1   詞法分析。對構成源程式的字串進行掃瞄和分解,識別單詞。

例: for i := 1 to 100 do,分析結果如下:

基本字                 for

識別符號                 i

賦值號                 :=

整常數                 1

基本字                 to

整常數                 100

基本字                 do

描述詞法規則的有效工具是正規式和有限自動機。

1.2.2   語法分析。在詞法分析的基礎上,根據語言的語法規則,把單詞符號串分解成各類語法單位。

1.2.3   語義分析與中間**產生。對語法分析所識別出的各類語法範疇,分析其含義,並進行初步翻譯(產生中間**)。

1.2.4   優化。優化的任務在於對前段產生的中間**進行加工變換,以期在最後階段能生產出更高效的目標**。

1.2.5   目標**生成。把中間**(或經優化處理之後)變換成特定及其上的低階語言**。

1.3        編譯程式的結構

1.3.1   編譯程式總框

1.3.2   **與**管理

編譯程式在工作過程中需要保持一系列**,以等級源程式的各類資訊和編譯各階段的進展狀況。最重要的是符號表。用來登記源程式中出現的每個名字以及名字的各種屬性。

1.3.3   出錯處理

編譯程式應能最大限度的發現源程式中的各種錯誤,準確的指出錯誤的性質和發生錯誤的地點,並且能將錯誤所造成的的影響限制在盡可能小的範圍內,是的源程式的其餘部分能繼續被編譯下去,以便進一步發現其他可能的錯誤。

1.3.4   遍

受不聽源語言、設計要求、使用物件和計算機條件的限制,往往將編譯程式組織為若干遍。所謂「遍」就是對源程式或源程式的中間結果從頭到尾掃瞄一次,並作有關的加工處理。

1.3.5   編譯前端與後端

前端主要由與源語言有關但與目標機無關的那些部分組成。通常包括詞法分析、語法分析與中間**產生,有的**優化工作也可包括在前端。後端程式包括編譯程式中與目標機有關的那些部分,如與目標機有關的**優化和目標**生成。

《編譯原理》1

翻譯程式 將一種語言等價轉換另一種語言的程式 編譯程式 將某種高階語言等價轉換另一種低階語言的程式 解釋程式 將源語言寫的源程式作為輸入,但不會產生目標程式,而是邊解釋邊執行源程式 編譯執行 解釋執行 1 html xml分析 2 語言處理工具 模擬英文翻譯為中文 識別句子中乙個個單詞 詞法分析 分...

編譯原理(1)

什麼是宿主機,什麼是目標機?編譯程式的平台叫宿主機。編譯後產生的 的執行平台叫目標機。計算機思維包括什麼?計算機思維 抽象 自動化 分解 遞迴 權衡 折中 任務 輸入源程式,對構成源程式的字串進行掃瞄和分解,識別出乙個個單詞符號。依循的原則 構詞規則。描述工具 有限自動機 for i 1 to 10...

編譯原理 編譯原理期末複習1

1,關於文法 乙個文法g可以抽象的分為四元組 vn,vt,p,s vn表示非終結符 vt表示終結符 p表示產生式 s表示開始符 2,老師上課說的編譯原理的階段說的是 詞法分析,語法分析,語義分析,中間 生成,優化,目標 生成 其中語法分析,語義分析,中間 生成稱為語法制導翻譯 語義分析,中間 生成稱...