編譯原理第二版張素琴清華大學(xué)答案詳解_第1頁
已閱讀1頁,還剩168頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、《編譯原理》課后習(xí)題答案第一章第1章引論第1題解釋下列術(shù)語:(1)編譯程序(2)源程序(3)目標(biāo)程序(4)編譯程序的前端(5)后端(6)遍答案:(1)編譯程序:如果源語言為高級(jí)語言,目標(biāo)語言為某臺(tái)計(jì)算機(jī)上的匯編語言或機(jī)器語言,則此翻譯程序稱為編譯程序。(2)源程序:源語言編寫的程序稱為源程序。(3)目標(biāo)程序:目標(biāo)語言書寫的程序稱為目標(biāo)程序。(4)編譯程序的前端:它由這樣一些階段組成:這些階段的工作主要依賴于源語言而與目標(biāo)機(jī)無關(guān)。通常前端

2、包括詞法分析、語法分析、語義分析和中間代碼生成這些階段,某些優(yōu)化工作也可在前端做,也包括與前端每個(gè)階段相關(guān)的出錯(cuò)處理工作和符號(hào)表管理等工作。(5)后端:指那些依賴于目標(biāo)機(jī)而一般不依賴源語言,只與中間代碼有關(guān)的那些階段,即目標(biāo)代碼生成,以及相關(guān)出錯(cuò)處理和符號(hào)表操作。(6)遍:是對(duì)源程序或其等價(jià)的中間語言程序從頭到尾掃視并完成規(guī)定任務(wù)的過程。第2題一個(gè)典型的編譯程序通常由哪些部分組成?各部分的主要功能是什么?并畫出編譯程序的總體結(jié)構(gòu)圖。答案

3、:一個(gè)典型的編譯程序通常包含8個(gè)組成部分,它們是詞法分析程序、語法分析程序、語義分析程序、中間代碼生成程序、中間代碼優(yōu)化程序、目標(biāo)代碼生成程序、表格管理程序和錯(cuò)誤處理程序。其各部分的主要功能簡(jiǎn)述如下。詞法分析程序:輸人源程序,拼單詞、檢查單詞和分析單詞,輸出單詞的機(jī)內(nèi)表達(dá)形式。語法分析程序:檢查源程序中存在的形式語法錯(cuò)誤,輸出錯(cuò)誤處理信息。語義分析程序:進(jìn)行語義檢查和分析語義信息,并把分析的結(jié)果保存到各類語義信息表中。中間代碼生成程序:

4、按照語義規(guī)則,將語法分析程序分析出的語法單位轉(zhuǎn)換成一定形式的中間語言代碼,如三元式或四元式。中間代碼優(yōu)化程序:為了產(chǎn)生高質(zhì)量的目標(biāo)代碼,對(duì)中間代碼進(jìn)行等價(jià)變換處理。盛威網(wǎng)()專業(yè)的計(jì)算機(jī)學(xué)習(xí)網(wǎng)站1《編譯原理》課后習(xí)題答案第一章是哪種方式,其加工結(jié)果都是源程序的執(zhí)行結(jié)果。目前很多解釋程序采取上述兩種方式的綜合實(shí)現(xiàn)方案,即先把源程序翻譯成較容易解釋執(zhí)行的某種中間代碼程序,然后集中解釋執(zhí)行中間代碼程序,最后得到運(yùn)行結(jié)果。廣義上講,編譯程序和解

5、釋程序都屬于翻譯程序,但它們的翻譯方式不同,解釋程序是邊翻譯(解釋)邊執(zhí)行,不產(chǎn)生目標(biāo)代碼,輸出源程序的運(yùn)行結(jié)果。而編譯程序只負(fù)責(zé)把源程序翻譯成目標(biāo)程序,輸出與源程序等價(jià)的目標(biāo)程序,而目標(biāo)程序的執(zhí)行任務(wù)由操作系統(tǒng)來完成,即只翻譯不執(zhí)行。第4題對(duì)下列錯(cuò)誤信息,請(qǐng)指出可能是編譯的哪個(gè)階段(詞法分析、語法分析、語義分析、代碼生成)報(bào)告的。(1)else沒有匹配的if(2)數(shù)組下標(biāo)越界(3)使用的函數(shù)沒有定義(4)在數(shù)中出現(xiàn)非數(shù)字字符答案:(1

6、)(2)(3)(4)第5題語法分析語義分析語法分析詞法分析編譯程序大致有哪幾種開發(fā)技術(shù)?答案:(1)自編譯:用某一高級(jí)語言書寫其本身的編譯程序。(2)交叉編譯:A機(jī)器上的編譯程序能產(chǎn)生B機(jī)器上的目標(biāo)代碼。(3)自展:首先確定一個(gè)非常簡(jiǎn)單的核心語言L0,用機(jī)器語言或匯編語言書寫出它的編譯程序T0,再把語言L0擴(kuò)充到L1,此時(shí)L0?L1并用L0編寫L1的編譯程序T1,再把語言L1擴(kuò)充為L(zhǎng)2,有L1?L2并用L1編寫L2的編譯程序T2,??,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論