




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章 引 論本章要點(diǎn):1. 正確理解什么是編譯程序;2. 了解編譯程序工作的基本過(guò)程及各階段的基本任務(wù);3. 熟悉編譯程序的總體結(jié)構(gòu)框圖;4. 了解編譯程序的構(gòu)造過(guò)程和構(gòu)造工具。本章目標(biāo):1. 掌握本章的“編譯程序”、“交叉編譯程序”、“編譯前端與編譯后端”等基本概念,并能在以后的學(xué)習(xí)熟練運(yùn)用;2. 掌握T形圖表示。本章重點(diǎn):1. 概念比較:編譯程序、解釋程序;診斷編譯程序、優(yōu)化編譯程序;交叉編譯程序、可變目標(biāo)編譯程序;編譯前端與編譯后端;2. 編譯工作過(guò)程的五個(gè)階段;3. 編譯程序總框;4. 編譯程序“移植”。本章難點(diǎn)1. 編譯程序“移植”;作業(yè)題及參考答案一、單項(xiàng)選擇題:(按照組卷方案,
2、至少8道小題)1. 如果一個(gè)編譯程序能產(chǎn)生不同于其宿主機(jī)的機(jī)器代碼,則稱(chēng)它為: 。a. 診斷編譯程序b. 優(yōu)化編譯程序 c. 交叉編譯程序 d. 可變目標(biāo)編譯程序2. 編譯程序?qū)⒏呒?jí)語(yǔ)言程序翻譯成 。a. 機(jī)器語(yǔ)言程序或高級(jí)語(yǔ)言程序 b. 匯編語(yǔ)言或機(jī)器語(yǔ)言程序 c. 匯編語(yǔ)言程序或高級(jí)語(yǔ)言程序 d. 中間語(yǔ)言程序或高級(jí)語(yǔ)言程序3. 下面的四個(gè)選項(xiàng)中,_不是編譯程序的組成部分。a. 詞法分析程序 b. 代碼生成程序 c. 設(shè)備管理程序 d. 語(yǔ)法分析程序4. 現(xiàn)代多數(shù)實(shí)用編譯程序所產(chǎn)生的目標(biāo)代碼都是一種可重定位的指令代碼,在運(yùn)行前必須借助于一個(gè) 把各個(gè)目標(biāo)模塊,包括系統(tǒng)提供的庫(kù)模塊連接在一起,
3、確定程序變量或常數(shù)在主存中的位置,裝入內(nèi)存中制定的起始地址,使之成為一個(gè)可運(yùn)行的絕對(duì)指令代碼的程序。a. 重定位程序; b. 解釋程序;c. 連接裝配程序;d. 診斷程序;5. 從編譯程序的角度說(shuō),源程序中的錯(cuò)誤通常分為 兩大類(lèi)。a. 詞法錯(cuò)誤和語(yǔ)法錯(cuò)誤; b. 語(yǔ)法錯(cuò)誤和語(yǔ)義錯(cuò)誤; c. 編輯錯(cuò)誤和診斷錯(cuò)誤; d. 詞法錯(cuò)誤和語(yǔ)義錯(cuò)誤;6. 下面對(duì)編譯原理的有關(guān)概念正確描述的是: 。a. 目標(biāo)語(yǔ)言只能是機(jī)器語(yǔ)言b. 編譯程序處理的對(duì)象是源語(yǔ)言。c. Lex是語(yǔ)法分析自動(dòng)生成器d. 解釋程序?qū)儆诰幾g程序7. 目標(biāo)代碼生成階段所生成的目標(biāo)代碼的形式不可能是 。a. 絕對(duì)指令代碼b. 可充定位的指
4、令代碼。c. 匯編指令代碼d. 三地址代碼8. 語(yǔ)義錯(cuò)誤是指源程序中不符合語(yǔ)義規(guī)則的錯(cuò)誤,不包括: a. 非法字符錯(cuò)誤b. 類(lèi)型不一致錯(cuò)誤。c. 作用域錯(cuò)誤 d. 說(shuō)明錯(cuò)誤一答案:1. c; 2. b; 3. c; 4. c;5. b;6. d;7. d;8.a;二、填空題:(按照組卷方案,至少8道小題)1我們有時(shí)把編譯程序劃分為編譯前端和編譯后端。前端主要由與 有關(guān)但與 無(wú)關(guān)的那些部分組成。2對(duì)編譯程序而言,輸入數(shù)據(jù)是 ;輸出數(shù)據(jù)是 。3. 編譯后端通常不依賴(lài)于源語(yǔ)言而僅僅依賴(lài)于 。4. 如果不需改寫(xiě)編譯程序中與機(jī)器無(wú)關(guān)的部分就可以把編譯程序移植到另外一個(gè)目標(biāo)機(jī)上,則稱(chēng)該編譯程序是 。5.
5、描述程序設(shè)計(jì)語(yǔ)言詞法的有效工具是 。6. 編譯過(guò)程的每一個(gè)階段都能檢測(cè)出錯(cuò)誤,其中,絕大多數(shù)錯(cuò)誤在_ 階段檢測(cè)出來(lái)的。7. 為了使編譯后的Java程序從一個(gè)平臺(tái)移到另外一個(gè)平臺(tái)上執(zhí)行,Java定義了一種稱(chēng)為ByteCode的虛擬機(jī)代碼。只要實(shí)際使用的操作平臺(tái)上實(shí)現(xiàn)了執(zhí)行ByteCode的Java解釋器,這個(gè)操作平臺(tái)就可以執(zhí)行各種Java程序。這就是所謂Java語(yǔ)言的 。8.在一個(gè)程序設(shè)計(jì)環(huán)境中, 起著中心作用。連接程序、調(diào)試程序、程序分析等工具的工作直接依賴(lài)于它所產(chǎn)生的結(jié)果。二答案:1. 源程序,目標(biāo)機(jī);2. 源程序,目標(biāo)程序;3. 中間語(yǔ)言; 4. 可變目標(biāo)編譯程序;5. 正規(guī)式和有限自動(dòng)機(jī)
6、;6. 詞法分析、語(yǔ)法分析和語(yǔ)義分析;7. 操作平臺(tái)無(wú)關(guān)性;8.編譯程序。 三、判斷題:(按照組卷方案,至少8道小題)1. 在編譯過(guò)程中,既可以將幾個(gè)不同的階段合為一遍,也可以把一個(gè)階段的工作分為若干遍。 ( )2. 編譯程序生成的目標(biāo)程序都是可執(zhí)行的程序。 ( )3. 編譯前端主要由與源語(yǔ)言和目標(biāo)機(jī)相關(guān)的那些部分組成。 ( )4. 優(yōu)化的任務(wù)在于對(duì)前端編譯所產(chǎn)生的中間代碼進(jìn)行加工和變換,以其能產(chǎn)生運(yùn)行結(jié)果更為準(zhǔn)確的目標(biāo)代碼。 ( )5. 為了讓編譯程序可改變目標(biāo)機(jī),通常需要一種良好定義的中間語(yǔ)言支持。 ( )6. 匯編器將高級(jí)語(yǔ)言程序翻譯成匯編語(yǔ)言程序。 ( )7. 許多編譯程序在識(shí)別出語(yǔ)法
7、單位后并不真正構(gòu)造語(yǔ)法樹(shù)。 ( )8. 取編譯程序前端改寫(xiě)其后端以生成不同機(jī)器上的目標(biāo)代碼,目前技術(shù)上還難以實(shí)現(xiàn)。( )三答案 1. ;2. ;3. ;4. ;5. ;6. ;7. ;8. ;四、名詞解釋?zhuān)骸ⅲò凑战M卷方案,至少3道小題)1. 診斷編譯程序、優(yōu)化編譯程序;2. 交叉編譯程序、可變目標(biāo)編譯程序;3. 編譯程序的“遍”4. 程序設(shè)計(jì)環(huán)境四答案:1.診斷編譯程序:專(zhuān)門(mén)用于幫助程序開(kāi)發(fā)和調(diào)試的編譯程序。 優(yōu)化編譯程序:著重于提高目標(biāo)代碼效率的編譯程序。2.交叉編譯程序:能產(chǎn)生不同于其宿主機(jī)的機(jī)器代碼的編譯程序。 可變目標(biāo)編譯程序:不需重寫(xiě)編譯程序中與機(jī)器無(wú)關(guān)的部分就能改變目標(biāo)機(jī)的編譯程
8、序。3. 編譯程序的“遍”:就是對(duì)源程序或者中間結(jié)果從頭到尾的一次掃描,并做有關(guān)的加工處理,生成新的中間結(jié)果或者目標(biāo)程序。4. 程序設(shè)計(jì)環(huán)境:支持程序設(shè)計(jì)人員進(jìn)行程序設(shè)計(jì)開(kāi)發(fā)所需要的如編輯程序、編譯程序、連接程序和調(diào)試程序等軟件工具,一起構(gòu)成程序設(shè)計(jì)環(huán)境。五、簡(jiǎn)答題:(按照組卷方案,至少3道小題)1. 什么是編譯程序的“遍”?2. 什么編譯程序、解釋程序?編譯程序和解釋程序有什么區(qū)別?3. 前端編譯和后端編譯是如何劃分的?4. 什么是標(biāo)識(shí)符,什么是名字,它們的區(qū)別是什么?5. 如果機(jī)器A上已有一個(gè)用A機(jī)器代碼實(shí)現(xiàn)的某高級(jí)語(yǔ)言L(fǎng)1的編譯程序,則可以用L1編寫(xiě)另一種高級(jí)語(yǔ)言L(fǎng)2的編譯程序,畫(huà)出這個(gè)
9、實(shí)現(xiàn)過(guò)程的T形圖表示。6. 如何采用“移植”的辦法,利用A機(jī)器上已有的高級(jí)語(yǔ)言L(fǎng)編寫(xiě)能夠在B機(jī)器上運(yùn)行的高級(jí)語(yǔ)言L(fǎng)的編譯程序?畫(huà)出T形圖表示。五答案:1. 編譯程序的“遍”,就是對(duì)源程序或者中間結(jié)果從頭到尾的一次掃描,并做有關(guān)的加工處理,生成新的中間結(jié)果或者目標(biāo)程序。既可以將幾個(gè)不同階段合為一遍,也可以把一個(gè)階段的工作分為若干遍。當(dāng)一遍中包含若干階段時(shí),各階段的工作是穿插進(jìn)行的。一個(gè)編譯程序究竟應(yīng)分為幾遍、如何劃分,是與源語(yǔ)言、設(shè)計(jì)要求、硬件設(shè)備等諸因素有關(guān)的,難以統(tǒng)一規(guī)定。2. 編譯程序:把某一種高級(jí)語(yǔ)言源程序轉(zhuǎn)換成匯編語(yǔ)言程序或機(jī)器語(yǔ)言程序的程序。解釋程序:對(duì)高級(jí)語(yǔ)言源程序并不生成匯編程序或機(jī)器語(yǔ)言程序,而是邊解釋邊執(zhí)行的程序。編譯程序把源語(yǔ)言程序翻譯成目標(biāo)代碼,然后由操作系統(tǒng)加載執(zhí)行;而解釋程序則是邊翻譯邊執(zhí)行,不生成目標(biāo)代碼。3. 前端編譯和后端編譯是如何劃分的?根據(jù)編譯器的工作是與源語(yǔ)言相關(guān)還是目標(biāo)機(jī)器有關(guān)來(lái)進(jìn)行劃分。編譯前端:編譯程序中包括詞法分析、語(yǔ)法分析、語(yǔ)義分析和中間代碼產(chǎn)生等主要與源語(yǔ)言程序有關(guān)但與目標(biāo)機(jī)無(wú)關(guān)的那些部分叫編譯前端。編譯后端:編譯程序中包括目標(biāo)代碼生成、目標(biāo)代碼優(yōu)化等與目標(biāo)機(jī)有關(guān)而與源語(yǔ)言無(wú)關(guān)的那些部分部分叫編譯后端。4. 標(biāo)識(shí)符是由字母或數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 展望2024年藥理學(xué)考試形勢(shì)試題及答案
- 2017江西i高考技術(shù)試題及答案
- 汽車(chē)維修法規(guī)與政策考核題及答案
- 2024省考食品相關(guān)技術(shù)預(yù)備試題及答案
- 2024年藥物研發(fā)前沿試題及答案
- 2024年統(tǒng)計(jì)學(xué)應(yīng)用題分析及答案
- 化驗(yàn)室苯中毒試題及答案
- 培養(yǎng)邏輯思維的語(yǔ)文試題及答案
- 2024年統(tǒng)計(jì)學(xué)測(cè)試題目解析及答案
- 食品行業(yè)自律與監(jiān)管機(jī)制研究試題及答案
- 2025年四級(jí)作文預(yù)測(cè)
- 拆除工程專(zhuān)項(xiàng)施工方案和技術(shù)措施
- 中職高教版(2023)語(yǔ)文職業(yè)模塊-第五單元:走近大國(guó)工匠(一)展示國(guó)家工程-了解工匠貢獻(xiàn)【課件】
- 2025年合肥市公安局第一批招考聘用警務(wù)輔助人員591人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 回轉(zhuǎn)窯車(chē)間培訓(xùn)教材幻燈片資料
- 2024年常德職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)
- 管理咨詢(xún)行業(yè)企業(yè)戰(zhàn)略規(guī)劃與咨詢(xún)服務(wù)方案
- 人工智能與醫(yī)學(xué)影像技術(shù)
- 思旺河(含田貴水庫(kù))岸線(xiàn)保護(hù)與利用規(guī)劃報(bào)告
- 品管圈PDCA改善案例-降低術(shù)中低體溫發(fā)生率
- 2024版兒科教學(xué)查房教案模板()
評(píng)論
0/150
提交評(píng)論