翻譯程式:將一種語言等價轉換另一種語言的程式
編譯程式:將某種高階語言等價轉換另一種低階語言的程式
解釋程式:將源語言寫的源程式作為輸入,但不會產生目標程式,而是邊解釋邊執行源程式
編譯執行
解釋執行
(1)html/xml分析
(2)語言處理工具
模擬英文翻譯為中文
識別句子中乙個個單詞 詞法分析
分析句子的語法結構 語法分析
根據句子的含義進行初步翻譯 中間**產生
對譯文進行修飾 優化
寫出最後的譯文 目標**產生
4.各階段分析
(1)詞法分析
任務:輸入源程式,對構成源程式的字串進行掃瞄和分解,識別出單詞符號
依循的原則:構詞規則
描述工具:有限自動機
for i := 1 to 100 do
基本字 識別符號 賦值號 整常數 基本字 整常數 基本字
(2)語法分析
編譯過程-語法分析
任務:在詞法分析的基礎上,根據語法規則把單詞符號串分解成各類語法單位語法範疇)依循的原則:語法規則
描述工具:上下文無關文法
(3)中間**產生
任務:對各類語法單位按語言的語義進行初步翻譯
依循的原則:語義規則
描述工具:屬性文法
中間**:三元式,四元式,樹
z:=x +0.618 *y 翻譯成四元式為
(4)優化
任務:對前階段產生的中間**進行加工變換以期在最後階段產生更高效的目標**
依循的原則:程式的等價變換規則
(5)目標**產生
任務:把中間**變換成特定機器上的目標**
依賴於硬體系統結構和機器指令的含義
目標碼三形式
彙編指令**:需要進行彙編
絕對指令**(機器**):可直接執行(位址為絕對位址)
可重新定位指令**:需要鏈結(位址為相對位址)
概念介紹
遍(pass)
所謂"遍",就是對源程式或源程式的中間表示從頭到尾掃瞄一次
階段與遍是不同的概念
1.一遍可以由若干段組成(如詞法分析、語法分析、中間**產生合為一遍)
2.乙個階段也可以分若干遍來完成(如優化階段分為若干段)
1.以機器語言和組合語言為工具
優點:可以針對具體的機器,充分發揮計算機的系統功能;生成的程式效率高
缺點:程式難讀、難寫、易出錯、難維護、生產效率低
2.高階語言書寫
程式易讀,易理解,易維護,生產效率高
編譯原理1
1 引論 1.1 什麼叫編譯程式 編譯程式是指能夠把某一種語言程式 稱為源語言程式 轉換成另一種語言程式 稱為目標語言程式 而後者與前者在邏輯上是等價的。1.2 編譯過程概述 1.2.1 詞法分析。對構成源程式的字串進行掃瞄和分解,識別單詞。例 for i 1 to 100 do,分析結果如下 基本...
編譯原理(1)
什麼是宿主機,什麼是目標機?編譯程式的平台叫宿主機。編譯後產生的 的執行平台叫目標機。計算機思維包括什麼?計算機思維 抽象 自動化 分解 遞迴 權衡 折中 任務 輸入源程式,對構成源程式的字串進行掃瞄和分解,識別出乙個個單詞符號。依循的原則 構詞規則。描述工具 有限自動機 for i 1 to 10...
編譯原理 編譯原理期末複習1
1,關於文法 乙個文法g可以抽象的分為四元組 vn,vt,p,s vn表示非終結符 vt表示終結符 p表示產生式 s表示開始符 2,老師上課說的編譯原理的階段說的是 詞法分析,語法分析,語義分析,中間 生成,優化,目標 生成 其中語法分析,語義分析,中間 生成稱為語法制導翻譯 語義分析,中間 生成稱...