編譯原理期末復(fù)習(xí)總結(jié).doc

編譯原理期末復(fù)習(xí)總結(jié).doc

ID:54946313

大?。?.06 MB

頁數(shù):15頁

時間:2020-04-24

編譯原理期末復(fù)習(xí)總結(jié).doc_第1頁
編譯原理期末復(fù)習(xí)總結(jié).doc_第2頁
編譯原理期末復(fù)習(xí)總結(jié).doc_第3頁
編譯原理期末復(fù)習(xí)總結(jié).doc_第4頁
編譯原理期末復(fù)習(xí)總結(jié).doc_第5頁
資源描述:

《編譯原理期末復(fù)習(xí)總結(jié).doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、編譯原理復(fù)習(xí)資料一、簡答題1.什么是編譯程序?答:編譯程序是一種將高級語言程序(源程序)翻譯成低級語言(目標(biāo)程序)的程序。將高級程序設(shè)計(jì)語言程序翻譯成邏輯上等價的低級語言(匯編語言,機(jī)器語言)程序的翻譯程序。2.請寫出文法的形式定義?答:一個文法G抽象地表示為四元組?G=(Vn,Vt,P,S)?–其中Vn表示非終結(jié)符號–Vt表示終結(jié)符號,Vn∪Vt=V(字母表),Vn∩Vt=φ–S是開始符號,–P是產(chǎn)生式,形如:α→β(α∈V+且至少含有一個非終結(jié)符號,β∈V*)3.語法分析階段的功能是什么?答:在詞

2、法分析的基礎(chǔ)上,根據(jù)語言的語法規(guī)則,將單詞符號串分解成各類語法短語(例:程序、語句、表達(dá)式)。確定整個輸入串是否構(gòu)成語法上正確的程序。4.局部優(yōu)化有哪些常用的技術(shù)?答:優(yōu)化技術(shù)1—刪除公共子表達(dá)式優(yōu)化技術(shù)2—復(fù)寫傳播優(yōu)化技術(shù)3—刪除無用代碼優(yōu)化技術(shù)4—對程序進(jìn)行代數(shù)恒等變換(降低運(yùn)算強(qiáng)度)優(yōu)化技術(shù)5—代碼外提優(yōu)化技術(shù)6—強(qiáng)度削弱優(yōu)化技術(shù)7—刪除歸納變量優(yōu)化技術(shù)簡介——對程序進(jìn)行代數(shù)恒等變換(代數(shù)簡化)優(yōu)化技術(shù)簡介——對程序進(jìn)行代數(shù)恒等變換(合并已知量)5.編譯過程分哪幾個階段?答:邏輯上分五個階段:詞

3、法分析、語法分析、語義分析與中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成。每個階段把源程序從一種表示變換成另一種表示。6.什么是文法?答:文法是描述語言的語法結(jié)構(gòu)的形式規(guī)則。是一種工具,它可用于嚴(yán)格定義句子的結(jié)構(gòu);用有窮的規(guī)則刻劃無窮的集合;文法是被用來精確而無歧義地描述語言的句子的構(gòu)成方式;文法描述語言的時候不考慮語言的含義。7.語義分析階段的功能是什么?答:對語法分析所識別出的各類語法范疇分析其含義,進(jìn)行初步的翻譯(翻譯成中間代碼);并對靜態(tài)語義進(jìn)行審查。8.代碼優(yōu)化須遵循哪些原則?答:等價原則:不改變運(yùn)

4、行結(jié)果有效原則:優(yōu)化后時間更短,占用空間更少合算原則:應(yīng)用較低的代價取得較好的優(yōu)化效果9.詞法分析階段的功能是什么?答:15編譯原理復(fù)習(xí)資料逐個讀入源程序字符并按照構(gòu)詞規(guī)則切分成一系列單詞任務(wù):讀入源程序,輸出單詞符號—濾掉空格,跳過注釋、換行符—追蹤換行標(biāo)志,指出源程序出錯的行列位置—宏展開,……10.什么是符號表?答:符號表在編譯程序工作的過程中需要不斷收集、記錄和使用源程序中一些語法符號的類型和特征等相關(guān)信息。這些信息一般以表格形式存儲于系統(tǒng)中。如常數(shù)表、變量名表、數(shù)組名表、過程名表、標(biāo)號表等等

5、,統(tǒng)稱為符號表。對于符號表組織、構(gòu)造和管理方法的好壞會直接影響編譯系統(tǒng)的運(yùn)行效率。11.什么是屬性文法?答:是在上下文無關(guān)文法的基礎(chǔ)上,為每個文法符號(含終結(jié)符和非終結(jié)符)配備若干個屬性值,對文法的每個產(chǎn)生式都配備了一組屬性計(jì)算規(guī)則(稱為語義規(guī)則)。在語法分析過程中,完成語義規(guī)則所描述的動作,從而實(shí)現(xiàn)語義處理。12.什么是基本塊?答:是指程序中一順序執(zhí)行的語句序列,其中只有一個入口語句和一個出口語句,入口是其第一個語句,出口是其最后一個語句。13.代碼優(yōu)化階段的功能是什么?答:對已產(chǎn)生的中間代碼進(jìn)行加

6、工變換,使生成的目標(biāo)代碼更為高效(時間和空間)。14.文法分哪幾類?答:文法有四種:設(shè)有G=(Vn,Vt,P,S),不同類型的文法只是對產(chǎn)生式的要求不同:0型文法(短文文法):G的每個產(chǎn)生式α?β滿足:α∈V+且α中至少含有一個非終結(jié)符,β∈V*1型文法(上下文有關(guān)文法):如果G的每個產(chǎn)生式α?β均滿足

7、β

8、>=

9、α

10、,僅當(dāng)S?ε除外,但S不得出現(xiàn)在任何產(chǎn)生式的右部2型文法(上下文無關(guān)文法):G的每個產(chǎn)生式為A?β,A是一非終結(jié)符,β∈V*3型文法(正規(guī)文法):G的每個產(chǎn)生式的形式都是:A?αB或A?

11、α,其中A,B是非終結(jié)符,α是終結(jié)符串。(右線性文法)。15.循環(huán)優(yōu)化常用的技術(shù)有哪些?答:代碼外提;強(qiáng)度削弱;刪除歸納變量。16.什么是算符優(yōu)先文法?答:算符文法G的任何終結(jié)符a,b之間要么沒有優(yōu)先關(guān)系,若有優(yōu)先關(guān)系,至多有中的一種成立,則G為一算符優(yōu)先文法。二、計(jì)算題(一)推導(dǎo)、最左推導(dǎo)、最右推導(dǎo)和語法樹,復(fù)習(xí)表達(dá)式文法及相關(guān)例題。1.表達(dá)式的推導(dǎo)例:G=({E},{i,+,*,(,)},P,E)P:E?E+E

12、E*E

13、(E)

14、i答:表達(dá)式(i)和(i+i)*i的推導(dǎo):ET(E)T(i)ETE*E

15、T(E)*ET(E+E)*ET(i+E)*ET(i+i)*ET(i+i)*iETE*ETE*iT(E)*iT(E+E)*iT(E+i)*iT(i+i)*i15編譯原理復(fù)習(xí)資料(i+i)*i的最左推導(dǎo)過程:ETE*ET(E)*ET(E+E)*ET(i+E)*ET(i+i)*ET(i+i)*i(i+i)*i的最右推導(dǎo)過程:ETE*ETE*iT(E+E)*iT(E+i)*iT(i+i)*i2.語法樹例:對文法G=({E},{i,+,*,(,)},P,E)P:E

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。