第1章 編譯原理_第1頁
第1章 編譯原理_第2頁
第1章 編譯原理_第3頁
第1章 編譯原理_第4頁
第1章 編譯原理_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、編譯原理 教師:王文晶為什么要學(xué)習(xí)編譯原理l 必修主干課程:操作系統(tǒng)和編譯系統(tǒng)構(gòu)成程序設(shè)計(jì)者與計(jì)算機(jī)之間的基本界面。l 通過學(xué)習(xí)該課程,掌握編譯的基本理論、常用的編譯技術(shù),了解編譯過程及編譯系統(tǒng)結(jié)構(gòu)和機(jī)理。能運(yùn)用所學(xué)技術(shù)解決實(shí)際問題,能獨(dú)立編寫一個(gè)小型編譯系統(tǒng)。l 此外,通過學(xué)習(xí)編譯原理可以更好地理解程序語言的內(nèi)部機(jī)制,從而更好地理解和運(yùn)用程序設(shè)計(jì)語言。能運(yùn)用編譯程序構(gòu)造的原理和技術(shù)完成相關(guān)軟件工具的設(shè)計(jì)和開發(fā)工作。學(xué)習(xí)方法學(xué)習(xí)方法 平時(shí)(平時(shí)(30%30%) 一本教材,一本教材,認(rèn)真聽課認(rèn)真聽課:以講義為主,板書為:以講義為主,板書為輔輔-做適當(dāng)?shù)墓P記做適當(dāng)?shù)墓P記考勤(考勤(10分)分)+作

2、業(yè)(實(shí)驗(yàn)報(bào)告、隨堂作業(yè)作業(yè)(實(shí)驗(yàn)報(bào)告、隨堂作業(yè) 20分)分)課程特點(diǎn):理論性強(qiáng),算法復(fù)雜課程特點(diǎn):理論性強(qiáng),算法復(fù)雜補(bǔ)充:公共郵箱補(bǔ)充:公共郵箱 密碼密碼byylwwjbyylwwj 編譯理論編譯理論自動(dòng)機(jī)和形式語言離散數(shù)學(xué)數(shù)據(jù)結(jié)構(gòu)操作系統(tǒng)素材素材基礎(chǔ)基礎(chǔ)控制對(duì)象控制對(duì)象編譯原理與其它課程關(guān)系 要求先學(xué)習(xí)以下課程要求先學(xué)習(xí)以下課程1.程序設(shè)計(jì)語言2.算法與數(shù)據(jù)結(jié)構(gòu):棧分配、堆分配、靜態(tài)分配等各種存儲(chǔ)分配方式。線性表、二叉查找樹、哈希表等多種數(shù)據(jù)結(jié)構(gòu)。 3.離散數(shù)學(xué):集合論與數(shù)理邏輯是進(jìn)一步學(xué)習(xí)形式語言與自動(dòng)機(jī)理論的數(shù)學(xué)基礎(chǔ)。 l 最好學(xué)習(xí)過或同時(shí)學(xué)習(xí)以下課程 1.軟件工程:掌握大型程序設(shè)計(jì)以及

3、工程化的軟件生產(chǎn)方法。 2.形式語言與自動(dòng)機(jī):相當(dāng)于本課程中詞法分析與語法分析的理論基礎(chǔ)。 目目 錄錄第一章第一章 引言引言 學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)l 了解和掌握高級(jí)程序設(shè)計(jì)語言與編譯程序的關(guān)系了解和掌握高級(jí)程序設(shè)計(jì)語言與編譯程序的關(guān)系l 了解和掌握編譯程序的了解和掌握編譯程序的功能功能 l 了解和掌握編譯程序的體系結(jié)構(gòu)了解和掌握編譯程序的體系結(jié)構(gòu) l 了解和掌握編譯程序的了解和掌握編譯程序的工作過程工作過程 l1.1 1.1 編譯程序、匯編程序、解釋程序編譯程序、匯編程序、解釋程序l1.2 1.2 編譯過程概述編譯過程概述l1.3 1.3 編譯程序的開發(fā)編譯程序的開發(fā)目目 錄錄l 低級(jí)語言低級(jí)語言

4、(Low level Language)字位碼、機(jī)器語言、匯編語言字位碼、機(jī)器語言、匯編語言特點(diǎn):與特定的機(jī)器有關(guān),功效高,但使用復(fù)雜、繁特點(diǎn):與特定的機(jī)器有關(guān),功效高,但使用復(fù)雜、繁瑣、費(fèi)時(shí)、易出錯(cuò)瑣、費(fèi)時(shí)、易出錯(cuò)l 高級(jí)語言高級(jí)語言 - Fortran、Pascal、C 語言等語言等特點(diǎn):不依賴具體機(jī)器,移植性好、對(duì)用戶要求低、易特點(diǎn):不依賴具體機(jī)器,移植性好、對(duì)用戶要求低、易使用、易維護(hù)等。使用、易維護(hù)等。1.11.1翻譯程序、編譯程序、解釋程序翻譯程序、編譯程序、解釋程序源程序源程序 用匯編語言或高級(jí)語言編寫的程序稱為源程序目標(biāo)程序(翻譯后的程序)目標(biāo)程序(翻譯后的程序) 用目標(biāo)語言所

5、表示的程序 目標(biāo)語言:可以是介于源語言和機(jī)器語言之間的“中間語言”,可以是某種機(jī)器的機(jī)器語言,也可以是某機(jī)器的匯編語言。翻譯程序翻譯程序 將源程序轉(zhuǎn)換為目標(biāo)程序的程序稱為翻譯程序。它是指各種語言的翻譯器,包括匯編程序和編譯程序,是匯編程序、編譯程序以及各種變換程序的總稱。概念:概念:源程序、翻譯程序、目標(biāo)程序 三者關(guān)系:源程序翻譯程序目標(biāo)程序SOURCE PROGRAMTRANSLATER OBJECT PROGRAM輸入輸入輸出輸出翻譯程序(翻譯程序(TranslatorTranslator)是一種程序,其輸入輸入是某種語言某種語言的一系列語句,而其輸出輸出則是另一種語言另一種語言的一系列語

6、句。1.1.1 1.1.1 翻譯程序翻譯程序源語言程序源語言程序目標(biāo)語言程序目標(biāo)語言程序TranslatorTranslator輸入輸入輸出輸出如匯編程序:匯編語言翻譯為機(jī)器語言。編譯程序(編譯程序(CompilerCompiler)是一種程序。它把用高級(jí)語言寫的高級(jí)語言寫的源程序源程序作為數(shù)據(jù)接收接收,經(jīng)過翻譯轉(zhuǎn)換,產(chǎn)生面向機(jī)器的代面向機(jī)器的代碼碼作為輸出輸出。這當(dāng)中代碼還可能要由匯編程序匯編程序或裝配程序裝配程序作進(jìn)一步加工,得出目標(biāo)程序目標(biāo)程序,交給計(jì)算機(jī)執(zhí)行。1.1.2 1.1.2 編譯程序編譯程序高級(jí)語言源程序高級(jí)語言源程序面向機(jī)器代碼面向機(jī)器代碼CompilerCompiler目標(biāo)

7、程序代碼目標(biāo)程序代碼匯編匯編 裝配裝配源程序的編譯和運(yùn)行l(wèi) 編譯或匯編階段編譯或匯編階段l 運(yùn)行階段運(yùn)行階段源程序源程序目標(biāo)程序目標(biāo)程序編譯程序編譯程序或匯編程序或匯編程序輸出數(shù)據(jù)輸出數(shù)據(jù)目標(biāo)程序目標(biāo)程序+運(yùn)行子程序運(yùn)行子程序輸入數(shù)據(jù)輸入數(shù)據(jù)l 工作過程工作過程解釋程序(解釋程序(Interpreter)(類似于口譯,不生成目標(biāo)代碼)(類似于口譯,不生成目標(biāo)代碼) 對(duì)源程序進(jìn)行解釋執(zhí)行的程序。對(duì)源程序進(jìn)行解釋執(zhí)行的程序。輸出數(shù)據(jù)輸出數(shù)據(jù)解釋程序解釋程序輸入數(shù)據(jù)輸入數(shù)據(jù)源程序源程序1.1.3 1.1.3 解釋程序解釋程序優(yōu)點(diǎn):優(yōu)點(diǎn):l 提供一種直接的交互調(diào)試能力,在執(zhí)行用戶程序時(shí)可以 修改用戶程

8、序。l 對(duì)新的類型可動(dòng)態(tài)地修改,如符號(hào)的意義。l 提高良好的診斷信息l 不依賴于目標(biāo)機(jī),移植性較好。 事實(shí)上,純粹的解釋程序并不多見,通常做某種程序的 結(jié)合。編譯過程是指將編譯過程是指將高級(jí)語言程序高級(jí)語言程序翻譯為等價(jià)的翻譯為等價(jià)的目標(biāo)程序目標(biāo)程序的過程。的過程。翻譯外文資料:翻譯外文資料:1、能、能識(shí)別識(shí)別出句子中的一個(gè)出句子中的一個(gè)單詞單詞;2、分析句子的、分析句子的語法語法結(jié)構(gòu);結(jié)構(gòu);3、根據(jù)句子的、根據(jù)句子的含義含義進(jìn)行初步進(jìn)行初步翻譯翻譯;4、對(duì)譯文進(jìn)行、對(duì)譯文進(jìn)行修飾修飾;5、寫出最后的譯文。、寫出最后的譯文。1.21.2編譯過程概述編譯過程概述l翻譯和編譯工作的比較翻譯和編譯工

9、作的比較翻譯外文翻譯外文編譯程序編譯程序分析分析識(shí)別識(shí)別單詞單詞分析分析句子句子根據(jù)語義進(jìn)根據(jù)語義進(jìn)行初步翻譯行初步翻譯詞法分析詞法分析語法分析語法分析語義分析、生成中間代碼語義分析、生成中間代碼綜合綜合修辭加工修辭加工寫出譯文寫出譯文代碼優(yōu)化代碼優(yōu)化目標(biāo)代碼生成目標(biāo)代碼生成符號(hào)表管理符號(hào)表管理源程序源程序目目標(biāo)標(biāo)代代碼碼生生成成目標(biāo)程序目標(biāo)程序出錯(cuò)處理出錯(cuò)處理詞詞法法分分析析優(yōu)優(yōu)化化語語義義分分析析語語法法分分析析編譯過程編譯過程1. 1. 詞法分析詞法分析任務(wù)任務(wù)所做轉(zhuǎn)換所做轉(zhuǎn)換依據(jù)依據(jù)構(gòu)詞規(guī)則構(gòu)詞規(guī)則主要理論基礎(chǔ)主要理論基礎(chǔ)自動(dòng)機(jī)理論自動(dòng)機(jī)理論源程序字符串源程序字符串單詞符號(hào)單詞符號(hào)輸入

10、源程序;掃描、分解字符串,識(shí)別出一輸入源程序;掃描、分解字符串,識(shí)別出一個(gè)個(gè)單詞(定義符、標(biāo)識(shí)符、運(yùn)算符、界符、個(gè)個(gè)單詞(定義符、標(biāo)識(shí)符、運(yùn)算符、界符、常數(shù))常數(shù))概念l單詞單詞token:是語言的基本語法單位l保留字保留字reserved word (有時(shí)也叫關(guān)鍵字有時(shí)也叫關(guān)鍵字) (如:if、else、while)l標(biāo)識(shí)符標(biāo)識(shí)符identifier(如:max、min、str)l常數(shù)常數(shù) (如:12、6.8)l分界符和分界符和運(yùn)算符運(yùn)算符(如:+、-、*、/、;、(、) )示例示例FOR K FOR K := 1 TO 100= 1 TO 100 M M := I + 10 = I + 1

11、0 * * K K N N := J + 10 = J + 10 * * K KNEXT KNEXT KTOTONEXTNEXTFORFOR K KN NM MI IJ JK KK KK K:= =100100:= =:= =1 110101010+ +* * *+ +關(guān)鍵字關(guān)鍵字標(biāo)識(shí)符標(biāo)識(shí)符分界符分界符運(yùn)算符運(yùn)算符 常數(shù)常數(shù)詞法分析程序的結(jié)果詞法分析程序的結(jié)果-二元式二元式(如:如:FOR K:=1 TO 100)單詞值單詞值單詞類別單詞類別FOR關(guān)鍵字關(guān)鍵字K標(biāo)識(shí)符標(biāo)識(shí)符:=分界符分界符1常數(shù)常數(shù)TO關(guān)鍵字關(guān)鍵字100常數(shù)常數(shù).2 2 語法分析語法分析任務(wù)任務(wù)所做轉(zhuǎn)換所做轉(zhuǎn)換依據(jù)依據(jù)語法規(guī)

12、則語法規(guī)則主要理論基礎(chǔ)主要理論基礎(chǔ)上下文無關(guān)文法上下文無關(guān)文法單詞符號(hào)單詞符號(hào)語法單位(語法范疇)語法單位(語法范疇)在詞法分析基礎(chǔ)上,將單詞符號(hào)串轉(zhuǎn)化為語在詞法分析基礎(chǔ)上,將單詞符號(hào)串轉(zhuǎn)化為語法單位(語法范疇)(短語、子句、句子、法單位(語法范疇)(短語、子句、句子、程序段、程序),并確定整個(gè)輸入串是否構(gòu)程序段、程序),并確定整個(gè)輸入串是否構(gòu)成語法上正確的程序。成語法上正確的程序。如:This line is a longer sentence語法分析l又例:position := initial + rate * 60 ;(Pascal)規(guī)則)規(guī)則 :=“:=” :=“+” :=“*” :

13、=“(”“)” := := := 賦值語句標(biāo)識(shí)符表達(dá)式表達(dá)式+表達(dá)式表達(dá)式標(biāo)識(shí)符整數(shù)標(biāo)識(shí)符:=表達(dá)式*id1:=id2+id3*N:=+N 60*id1 Positionid2 initialid3 rate進(jìn)一步分析語法結(jié)構(gòu)正確的程序是否符合源程序的上下文約束、運(yùn)算相容性等規(guī)定。審查靜態(tài)語義使用的變量聲明了嗎?允許操作的運(yùn)算對(duì)象嗎?類型正確嗎?3 3 語義分析語義分析語義分析l 句子的結(jié)構(gòu)理解了,撲捉它的“含義” 如:杰克說杰瑞把他的作業(yè)落在了家里。 “他的”是誰的? 又:杰克說杰克把他的作業(yè)落在了家里。 幾個(gè)杰克?語義分析l杰克把她的作業(yè)落在了家里。(杰克是男生)“杰克”和“她的”不一致。

14、 “杰克”和“他的”才匹配語義分析(語言的規(guī)定和實(shí)現(xiàn)) int arr2, c; c = arr * 10; “中間代碼中間代碼”是一種含義明確、便于處理的是一種含義明確、便于處理的記號(hào)系統(tǒng)記號(hào)系統(tǒng)。 如:三元式、四元式、逆波蘭式。如:三元式、四元式、逆波蘭式。 例:四元式(運(yùn)算符,第一運(yùn)算量,第二運(yùn)算量,結(jié)果)例:四元式(運(yùn)算符,第一運(yùn)算量,第二運(yùn)算量,結(jié)果) x:= ax:= a* *b+c b+c (* *, a a, b b, T T1 1) (+,T T1 1, c, T, c, T2 2 ) (:=, T(:=, T2 2 , - , -, x)x)4 4 中間代碼中間代碼id1:

15、= id2 + id3 * 60(1)(inttoreal,60-t1)(2)(*,id3t1t2)(3)(+,id2t2t3)(4)(:=,t3-id1)5 5 代碼優(yōu)化代碼優(yōu)化任務(wù)任務(wù)所做轉(zhuǎn)換所做轉(zhuǎn)換依據(jù)依據(jù)程序等價(jià)變換規(guī)則程序等價(jià)變換規(guī)則主要理論基礎(chǔ)主要理論基礎(chǔ)數(shù)據(jù)流方程數(shù)據(jù)流方程中間代碼中間代碼中間代碼(優(yōu)化后)中間代碼(優(yōu)化后)對(duì)于代碼(主要是中間代碼)進(jìn)行加工變換,對(duì)于代碼(主要是中間代碼)進(jìn)行加工變換,以期能夠產(chǎn)生更為高效(省時(shí)間和空間)的以期能夠產(chǎn)生更為高效(省時(shí)間和空間)的目標(biāo)代碼。目標(biāo)代碼。代碼優(yōu)化id1:= id2 + id3 * 60(1)(inttoreal60-t1

16、)(2)( * id3t1t2)(3)( +id2t2t3)(4)( :=t3-id1) 變換變換 (1) ( *id360.0t1) ( 2)( + id2 t1id1)6 6 目標(biāo)代碼生成目標(biāo)代碼生成任務(wù)任務(wù)所做轉(zhuǎn)換所做轉(zhuǎn)換依據(jù)依據(jù)硬件體系結(jié)構(gòu)、指令系統(tǒng)硬件體系結(jié)構(gòu)、指令系統(tǒng)中間代碼中間代碼目標(biāo)代碼目標(biāo)代碼將中間代碼變換成特定機(jī)器上的低級(jí)語言代碼將中間代碼變換成特定機(jī)器上的低級(jí)語言代碼目標(biāo)代碼形式目標(biāo)代碼形式絕對(duì)指令、可重定位指令、匯編指令絕對(duì)指令、可重定位指令、匯編指令(*,id360.0t1)(+,id2t1id1)movfid3,R2mulf#60.0,R2movfid2,R1add

17、fR2,R1movfR1,id16.6.目標(biāo)代碼生成目標(biāo)代碼生成l 按邏輯功能不同,可將編譯過程劃分為五個(gè)基本階段,與此相對(duì)應(yīng),我們將實(shí)現(xiàn)整個(gè)編譯過程的編譯程序劃分為五個(gè)邏輯階段(即五個(gè)邏輯子過程)。目標(biāo)代碼生成程序代碼優(yōu)化程序語義分析生成中間代碼語法分析程序詞法分析程序編譯過程小結(jié)編譯過程小結(jié)S.PO.P1.3 1.3 編譯程序的組織及開發(fā)編譯程序的組織及開發(fā) 編譯程序是一個(gè)非常復(fù)雜的軟件系統(tǒng),雖然編譯理編譯程序是一個(gè)非常復(fù)雜的軟件系統(tǒng),雖然編譯理論和技術(shù)不斷發(fā)展,開發(fā)周期縮短,但研制仍需大量時(shí)論和技術(shù)不斷發(fā)展,開發(fā)周期縮短,但研制仍需大量時(shí)間。追求目標(biāo)過程自動(dòng)化。間。追求目標(biāo)過程自動(dòng)化。

18、根據(jù)編譯程序各部分功能,將編譯程序分成根據(jù)編譯程序各部分功能,將編譯程序分成前端前端和和后端后端 前端前端:通常將與:通常將與源程序源程序有關(guān)的編譯部分稱為前端。有關(guān)的編譯部分稱為前端。 詞法分析、語法分析、語義分析、中間代碼生成詞法分析、語法分析、語義分析、中間代碼生成 -分析部分分析部分 特點(diǎn):與特點(diǎn):與源語言源語言有關(guān)有關(guān) 后端后端:與:與目標(biāo)機(jī)目標(biāo)機(jī)有關(guān)的部分稱為后端。有關(guān)的部分稱為后端。 代碼優(yōu)化、代碼生成代碼優(yōu)化、代碼生成-綜合部分綜合部分 特點(diǎn):與特點(diǎn):與目標(biāo)機(jī)器目標(biāo)機(jī)器有關(guān)有關(guān)編譯程序的前端和后端編譯程序的前端和后端.java java源程序文件.class 二進(jìn)制字節(jié)碼文件J

19、ava虛擬機(jī)(JVM)本地計(jì)算機(jī)系統(tǒng)編譯同一前端同一前端+ +不同后端不同后端 不同機(jī)器構(gòu)成同一語言的編譯程序不同機(jī)器構(gòu)成同一語言的編譯程序例如例如JavaJava語言語言 同一前端同一前端+ +不同后端不同后端 不同機(jī)器構(gòu)成同一語言的編譯程序不同機(jī)器構(gòu)成同一語言的編譯程序例如例如.NET.NET框架框架 不同前端不同前端+ +同一后端同一后端 同一機(jī)器生成幾個(gè)語言的編譯程序同一機(jī)器生成幾個(gè)語言的編譯程序例如例如GCCGCC 第一遍 第二遍 S.P中間形式1S.P中間形式2C2C1S.PO.P對(duì)源程序(包括源程序中間形式)從頭到尾掃描一次,并做有關(guān)的加工處理 ,生成新的源程序中間形式或目標(biāo)程序

20、,通常稱之為一遍。 遍遍上一遍的結(jié)果是下一遍的輸入,最后一遍生成目標(biāo)程序。一遍掃描即可完成整個(gè)編譯工作的稱為一遍掃描即可完成整個(gè)編譯工作的稱為一遍掃描編譯程序一遍掃描編譯程序遍的劃分視具體情況而定(內(nèi)存的大小、源語言的繁簡(jiǎn)、遍的劃分視具體情況而定(內(nèi)存的大小、源語言的繁簡(jiǎn)、目標(biāo)程序質(zhì)量的高低)目標(biāo)程序質(zhì)量的高低) 優(yōu)點(diǎn)優(yōu)點(diǎn):1、減少對(duì)內(nèi)存容量的要求2、編譯程序結(jié)構(gòu)清晰、各遍功能獨(dú)立、相互聯(lián)系簡(jiǎn)單缺點(diǎn)缺點(diǎn):增加讀寫中間文件的次數(shù),降低效率應(yīng)用:應(yīng)用:大部分軟件工具的開發(fā),都要使用大部分軟件工具的開發(fā),都要使用編譯技術(shù)和方法編譯技術(shù)和方法語法制導(dǎo)的結(jié)構(gòu)化編輯器語法制導(dǎo)的結(jié)構(gòu)化編輯器程序格式化工具程

21、序格式化工具軟件測(cè)試工具軟件測(cè)試工具靜態(tài)分析器:不可能執(zhí)行的代碼、定義后未引用的變量靜態(tài)分析器:不可能執(zhí)行的代碼、定義后未引用的變量動(dòng)態(tài)測(cè)試工具:運(yùn)行后與期望結(jié)果比較動(dòng)態(tài)測(cè)試工具:運(yùn)行后與期望結(jié)果比較程序理解工具:確定調(diào)用關(guān)系,畫出流程圖程序理解工具:確定調(diào)用關(guān)系,畫出流程圖高級(jí)語言的翻譯工具高級(jí)語言的翻譯工具編譯技術(shù)的應(yīng)用及發(fā)展編譯技術(shù)的應(yīng)用及發(fā)展其它應(yīng)用:其它應(yīng)用:v文本編輯器文本編輯器v信息檢索系統(tǒng)信息檢索系統(tǒng)v模式識(shí)別器模式識(shí)別器v排版、繪圖系統(tǒng)排版、繪圖系統(tǒng)小結(jié)小結(jié) 內(nèi)容內(nèi)容 1 1 什么是編譯程序什么是編譯程序 2 2 編譯過程和編譯程序的結(jié)構(gòu)編譯過程和編譯程序的結(jié)構(gòu) 3 3 為什

22、么要學(xué)習(xí)編譯程序?yàn)槭裁匆獙W(xué)習(xí)編譯程序 重點(diǎn)重點(diǎn) 對(duì)編譯程序的功能和結(jié)構(gòu)做一綜述對(duì)編譯程序的功能和結(jié)構(gòu)做一綜述 難點(diǎn)難點(diǎn) 了解編譯程序各個(gè)成分在編譯階段的邏輯關(guān)系了解編譯程序各個(gè)成分在編譯階段的邏輯關(guān)系以及他們?cè)鯓幼鳛橐粋€(gè)整體完成編譯任務(wù)的以及他們?cè)鯓幼鳛橐粋€(gè)整體完成編譯任務(wù)的小結(jié)小結(jié)1.1.判斷下面的陳述是否正確。判斷下面的陳述是否正確。(1)編譯程序的五個(gè)組成部分缺一不可。)編譯程序的五個(gè)組成部分缺一不可。 (2)高級(jí)語言程序到低級(jí)語言程序的轉(zhuǎn)換是基)高級(jí)語言程序到低級(jí)語言程序的轉(zhuǎn)換是基于語義的等價(jià)變換。于語義的等價(jià)變換。(3)含有優(yōu)化部分的編譯程序的執(zhí)行效率高。)含有優(yōu)化部分的編譯程序的執(zhí)行效率高。 (4)因?yàn)榫幾g程序和解釋程序具有不同的功能,)因?yàn)榫幾g程序和解釋程序具有不同的功能,所以它們的實(shí)現(xiàn)技術(shù)也完全不同。所以它們的實(shí)現(xiàn)技術(shù)也完全不同。(5)編譯程序和解釋程序的根本區(qū)別在于解釋)編譯程序和解釋程序的根本區(qū)別在于解釋程序?qū)υ闯绦虿]有真正進(jìn)行翻譯。程序?qū)υ闯绦虿]有真正進(jìn)行翻譯。(6)無論一遍掃描的編譯器還是多遍掃描的編)無論一遍掃描的編譯器還是多遍掃描的編譯器都要對(duì)源程序掃描一遍。譯器都要對(duì)源程序掃描一遍。答案:答案:(1)(1) F F (2) (2) T T

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)論