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,老師上課說的編譯原理的階段說的是 詞法分析,語法分析,語義分析,中間 生成,優化,目標 生成 其中語法分析,語義分析,中間 生成稱為語法制導翻譯 語義分析,中間 生成稱...