版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、《編譯原理》課后習(xí)題答案第一章 第 1 章 引論 引論 第 1 題 解釋下列術(shù)語: 解釋下列術(shù)語: (1)編譯程序 )編譯程序 (2)源程序 )源程序 (3)目標(biāo)程序 )目標(biāo)程序 (4)編譯程序的前端 )編譯程序的前端 (5)后端 )后端 (6)遍 )遍 答案: 答案: (1) 編譯程序:如果源語言為高級語言,目標(biāo)語言為某臺計算機上的匯編語言或機器語言,則此翻譯程序稱為編譯程序。 (2) 源程序:源語言編寫的程序稱為源程序。 (3) 目
2、標(biāo)程序:目標(biāo)語言書寫的程序稱為目標(biāo)程序。 (4) 編譯程序的前端:它由這樣一些階段組成:這些階段的工作主要依賴于源語言而與目標(biāo)機無關(guān)。通常前端包括詞法分析、語法分析、語義分析和中間代碼生成這些階段,某些優(yōu)化工作也可在前端做,也包括與前端每個階段相關(guān)的出錯處理工作和符號表管理等工作。 (5) 后端:指那些依賴于目標(biāo)機而一般不依賴源語言,只與中間代碼有關(guān)的那些階段,即目標(biāo)代碼生成,以及相關(guān)出錯處理和符號表操作。 (6) 遍:是對源程序或其等
3、價的中間語言程序從頭到尾掃視并完成規(guī)定任務(wù)的過程。 第 2 題 一個典型的編譯程序通常由哪些部分組成?各部分的主要功能是什么?并畫出編譯程序的總體結(jié)構(gòu)圖。一個典型的編譯程序通常由哪些部分組成?各部分的主要功能是什么?并畫出編譯程序的總體結(jié)構(gòu)圖。 答案: 答案: 一個典型的編譯程序通常包含 8 個組成部分,它們是詞法分析程序、語法分析程序、語義分析程序、中間代碼生成程序、中間代碼優(yōu)化程序、目標(biāo)代碼生成程序、表格管理程序和錯誤處理程序。其各
4、部分的主要功能簡述如下。 詞法分析程序: 輸人源程序, 拼單詞、 檢查單詞和分析單詞, 輸出單詞的機內(nèi)表達形式。語法分析程序:檢查源程序中存在的形式語法錯誤,輸出錯誤處理信息。 語義分析程序: 進行語義檢查和分析語義信息, 并把分析的結(jié)果保存到各類語義信息表中。 中間代碼生成程序: 按照語義規(guī)則, 將語法分析程序分析出的語法單位轉(zhuǎn)換成一定形式的中間語言代碼,如三元式或四元式。 中間代碼優(yōu)化程序:為了產(chǎn)生高質(zhì)量的目標(biāo)代碼,對中間代碼進行等
5、價變換處理。 盛威網(wǎng)(www.snwei.com)專業(yè)的計算機學(xué)習(xí)網(wǎng)站 1h y h h y h《編譯原理》課后習(xí)題答案第一章 是哪種方式, 其加工結(jié)果都是源程序的執(zhí)行結(jié)果。 目前很多解釋程序采取上述兩種方式的綜合實現(xiàn)方案, 即先把源程序翻譯成較容易解釋執(zhí)行的某種中間代碼程序, 然后集中解釋執(zhí)行中間代碼程序,最后得到運行結(jié)果。 廣義上講,編譯程序和解釋程序都屬于翻譯程序,但它們的翻譯方式不同,解釋程序是邊翻譯(解釋)邊執(zhí)行,不產(chǎn)生目標(biāo)
6、代碼,輸出源程序的運行結(jié)果。而編譯程序只負(fù)責(zé)把源程序翻譯成目標(biāo)程序, 輸出與源程序等價的目標(biāo)程序, 而目標(biāo)程序的執(zhí)行任務(wù)由操作系統(tǒng)來完成,即只翻譯不執(zhí)行。 第 4 題 對下列錯誤信息,請指出可能是編譯的哪個階段(詞法分析、語法分析、語義分析、代碼生成)報告的。對下列錯誤信息,請指出可能是編譯的哪個階段(詞法分析、語法分析、語義分析、代碼生成)報告的。 (1) ) else 沒有匹配的 沒有匹配的 if (2) 數(shù)組下標(biāo)越界 ) 數(shù)組下
7、標(biāo)越界 (3) 使用的函數(shù)沒有定義 ) 使用的函數(shù)沒有定義 (4) 在數(shù)中出現(xiàn)非數(shù)字字符 ) 在數(shù)中出現(xiàn)非數(shù)字字符 答案: 答案: (1) 語法分析 (2) 語義分析 (3) 語法分析 (4) 詞法分析 第 5 題 第 5 題 編譯程序大致有哪幾種開發(fā)技術(shù)? 編譯程序大致有哪幾種開發(fā)技術(shù)? 答案: 答案: (1)自編譯:用某一高級語言書寫其本身的編譯程序。 (2)交叉編譯:A 機器上的編譯程序能產(chǎn)生 B 機器上的目標(biāo)代碼。 (3)自展:
8、首先確定一個非常簡單的核心語言 L0,用機器語言或匯編語言書寫出它的編譯程序 T0,再把語言 L0 擴充到 L1,此時 L0? L1 ,并用 L0 編寫 L1 的編譯程序 T1,再把語言 L1 擴充為 L2, 有 L1 L2 ,并用 L1 編寫 L2 的編譯程序 T2, ……, 如此逐步擴展下去,好似滾雪球一樣,直到我們所要求的編譯程序。 ?(4)移植:將 A 機器上的某高級語言的編譯程序搬到 B 機器上運行。 盛威網(wǎng)(www.sn
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 編譯原理課后習(xí)題答案_清華大學(xué)_第二版
- 編譯原理課后習(xí)題答案+清華大學(xué)出版社第二版
- 編譯原理第二版張素琴清華大學(xué)答案詳解
- 現(xiàn)代普通測量學(xué)課后習(xí)題答案第二版清華大學(xué)出版社
- 現(xiàn)代普通測量學(xué)課后習(xí)題答案---第二版(清華大學(xué)出版社)
- ibm-pc匯編語言程序設(shè)計第二版課后習(xí)題答案清華大學(xué)
- 清華大學(xué)版基礎(chǔ)工程課后習(xí)題答案
- 信號與系統(tǒng)第二版余成波主編清華大學(xué)出版社課后習(xí)題答案
- 《大學(xué)基礎(chǔ)物理學(xué)》第二版上清華大學(xué)出版社-課后答案
- 第二版結(jié)構(gòu)設(shè)計原理課后習(xí)題答案
- 全新版大學(xué)英語(第二版)綜合教程1-課后習(xí)題答案全集
- 《大學(xué)基礎(chǔ)物理學(xué)》張三慧第二版清華大學(xué)出版社課后答案
- 計算機專業(yè)英語課后答案清華大學(xué)出版社第二版
- 《測試技術(shù)》(第二版)課后習(xí)題答案--
- 《測試技術(shù)》第二版課后習(xí)題答案-
- 測試技術(shù)第二版課后習(xí)題答案
- 《測試技術(shù)》第二版課后習(xí)題答案
- 計算機網(wǎng)絡(luò)清華大學(xué)出版社第二版課后習(xí)題答案完整版
- 計算機組成原理第二版課后習(xí)題答案
- 單片機原理及應(yīng)用第二版課后習(xí)題答案
評論
0/150
提交評論