《編譯原理》1

2022-04-02 03:23:05 字數 1732 閱讀 2395

翻譯程式:將一種語言等價轉換另一種語言的程式

編譯程式:將某種高階語言等價轉換另一種低階語言的程式

解釋程式:將源語言寫的源程式作為輸入,但不會產生目標程式,而是邊解釋邊執行源程式

編譯執行

解釋執行

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