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

下載本文檔

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

文檔簡(jiǎn)介

編譯原理

(CompilerPrinciples)主講:陳有英

E-Mail:cyyanswer@126.com編譯原理課程的地位和作用地位是軟件技術(shù)的基礎(chǔ)是計(jì)算機(jī)專業(yè)的基礎(chǔ)課程,是專業(yè)必修課是研究生入學(xué)考試的課程之一作用編譯原理是介紹如何將高級(jí)語(yǔ)言程序變換成低級(jí)語(yǔ)言程序的方法。其理論基礎(chǔ)堅(jiān)實(shí),其形式化系統(tǒng)不僅用于編譯程序,還大量用于人工智能、多媒體技術(shù)、數(shù)據(jù)庫(kù)等領(lǐng)域。編譯原理的相關(guān)技術(shù)可應(yīng)用于其它許多領(lǐng)域a.文本編輯器、信息檢索系統(tǒng)、模式識(shí)別器b.排版、繪圖系統(tǒng)c.程序驗(yàn)證器、語(yǔ)言程序的調(diào)試或測(cè)試工具、高級(jí)語(yǔ)言間的轉(zhuǎn)換工具d.集成電路設(shè)計(jì)e.外文翻譯學(xué)習(xí)任務(wù)和學(xué)習(xí)方法學(xué)習(xí)任務(wù)掌握編譯的理論基礎(chǔ)和形式化系統(tǒng)了解編譯的全部過(guò)程和具體實(shí)現(xiàn)方法(實(shí)驗(yàn))學(xué)習(xí)方法預(yù)習(xí)、聽(tīng)課、練習(xí)、復(fù)習(xí)理解基本概念、基本原理和基本算法。弄懂例題,獨(dú)立完成課后作業(yè)。認(rèn)真總結(jié)每章的要點(diǎn),在理解的基礎(chǔ)上記憶。理論結(jié)合實(shí)踐,認(rèn)真獨(dú)立地完成實(shí)驗(yàn)。進(jìn)行大量的閱讀,通過(guò)閱讀加強(qiáng)理解。參考書目Compilers:Principles,Techniques,andToolsAlfredV.AhoRaviSethiJeffreyD.Ullman人民郵電出版社CompilerConstructionPrincipleandPracticeKennethC.Louden機(jī)械工業(yè)出版社程序設(shè)計(jì)語(yǔ)言編譯原理陳火旺等國(guó)防工業(yè)出版社先修課程高級(jí)程序設(shè)計(jì)語(yǔ)言如:PascalCC++Fortran等匯編語(yǔ)言程序設(shè)計(jì)其它課程如:離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)等課程要求基礎(chǔ)理論:熟悉基于形式語(yǔ)言理論的編譯程序構(gòu)造原理和高級(jí)語(yǔ)言的實(shí)現(xiàn)原理?;A(chǔ)知識(shí):全面掌握詞法分析、語(yǔ)法分析和語(yǔ)法制導(dǎo)翻譯方法等計(jì)算機(jī)處理技術(shù),了解高級(jí)語(yǔ)言中各種語(yǔ)言成分的實(shí)現(xiàn)方法?;炯寄埽赫莆沼?jì)算機(jī)語(yǔ)言處理系統(tǒng)中各種通用的分析和翻譯技術(shù),以及自動(dòng)生成系統(tǒng)的運(yùn)用。成績(jī)考核方法(1)平時(shí)成績(jī)30%課堂考勤10%平時(shí)作業(yè)10%上機(jī)實(shí)驗(yàn)10%(2)考試成績(jī)70%課前思考及學(xué)習(xí)目標(biāo)【課前思考】

自然語(yǔ)言的自動(dòng)翻譯有什么哪些困難?

什么是編譯程序?

編譯過(guò)程和編譯程序的結(jié)構(gòu)?【學(xué)習(xí)目標(biāo)】

明確編譯程序的功能及其在計(jì)算機(jī)系統(tǒng)中的作用。

了解源語(yǔ)言程序被編譯為目標(biāo)程序的整個(gè)過(guò)程,這個(gè)過(guò)程一般劃分為哪些階段?

了解解釋與編譯的差別。

知道編譯技術(shù)可用于哪類軟件的設(shè)計(jì)和開發(fā)。1)自然語(yǔ)言及其翻譯谷歌翻譯

百度翻譯例:我是一名教師。你是一個(gè)優(yōu)秀的學(xué)生。2)計(jì)算機(jī)語(yǔ)言及其編譯高級(jí)語(yǔ)言:接近人類自然語(yǔ)言。匯編語(yǔ)言:一般為機(jī)器語(yǔ)言的記號(hào)系統(tǒng),便于記憶。低級(jí)語(yǔ)言:0、1代碼的語(yǔ)言,計(jì)算機(jī)能夠認(rèn)識(shí)的語(yǔ)言。問(wèn)題:書寫程序用什么語(yǔ)言?--高級(jí)語(yǔ)言,甚至自然語(yǔ)言。問(wèn)題:可是,計(jì)算機(jī)根本就“聽(tīng)不懂”高級(jí)語(yǔ)言,怎么辦?--給它聘請(qǐng)一個(gè)翻譯,即編譯程序,亦稱編譯器。用戶高級(jí)語(yǔ)言程序計(jì)算機(jī)二進(jìn)制代碼編譯編寫執(zhí)行匯編指令第1章引論1.1什么是編譯程序1.2編譯過(guò)程和編譯程序的結(jié)構(gòu)1.2.1編譯過(guò)程1.2.2編譯程序結(jié)構(gòu)1.2.3編譯階段的組合1.3解釋程序和一些軟件工具1.3.1解釋程序1.3.2處理源程序的軟件工具1.4程序設(shè)計(jì)語(yǔ)言范型程序設(shè)計(jì)語(yǔ)言低級(jí)語(yǔ)言特定的計(jì)算機(jī)系統(tǒng)所固有的語(yǔ)言即:機(jī)器語(yǔ)言、匯編語(yǔ)言特點(diǎn):執(zhí)行效率高、編制效率低高級(jí)語(yǔ)言與自然語(yǔ)言比較接近的語(yǔ)言如:過(guò)程式語(yǔ)言:C,Pascal,Fortran,ADA對(duì)象式語(yǔ)言:Java,C++等函數(shù)式語(yǔ)言:LISP邏輯式語(yǔ)言:Prolog特點(diǎn):執(zhí)行效率低、編制效率高1.1什么是編譯程序一、編譯程序(又稱“編譯器”)是語(yǔ)言的翻譯器功能:高級(jí)語(yǔ)言的源程序低級(jí)語(yǔ)言的目標(biāo)程序重要性:使編程者不必考慮與機(jī)器有關(guān)的細(xì)節(jié)本課程主要研究:順序過(guò)程式語(yǔ)言的編譯原理和技術(shù)源程序預(yù)處理程序源程序編譯程序匯編程序裝配/連接程序目標(biāo)匯編程序可再裝配的機(jī)器代碼絕對(duì)機(jī)器代碼將機(jī)器代碼與一些庫(kù)文件連接匯集分散的源程序、宏展開、…二、高級(jí)語(yǔ)言程序的處理過(guò)程三、編譯程序的分類一趟編譯多趟編譯具有調(diào)試、優(yōu)化功能的編譯都使用相同的基本編譯技術(shù)??!1、20世紀(jì)50年代早期:將計(jì)算公式翻譯成機(jī)器碼2、20世紀(jì)50年代中期:出現(xiàn)了FORTRAN等一批高級(jí)語(yǔ)言

(也就出現(xiàn)了相應(yīng)的編譯程序)3、20世紀(jì)50年代后期:出現(xiàn)了編譯程序的編譯程序

(即編譯程序的自動(dòng)生成工具)4、20世紀(jì)60年代:用自展技術(shù)構(gòu)造編譯程序

(用被編譯語(yǔ)言書寫其自身的編譯程序,1971年P(guān)ASCAL的成功)5、并行技術(shù)與并行語(yǔ)言的發(fā)展:——發(fā)展方向并行語(yǔ)言的并行編譯自動(dòng)并行編譯技術(shù)(將串行程序轉(zhuǎn)換成并行程序)四、編譯程序的歷史和發(fā)展1.2編譯過(guò)程和編譯程序的結(jié)構(gòu)一、編譯過(guò)程表格管理詞法分析語(yǔ)法分析語(yǔ)義分析中間代碼生成代碼優(yōu)化目標(biāo)代碼生成出錯(cuò)處理源程序目標(biāo)程序詞法分析任務(wù):從左到右讀入源程序的每個(gè)字符,對(duì)構(gòu)成源程序的字符流進(jìn)行掃描和分解,從而識(shí)別出一個(gè)個(gè)單詞(也叫單詞符號(hào)或符號(hào))。單詞是具有獨(dú)立意義的最小語(yǔ)法單位。如:標(biāo)識(shí)符、保留字(關(guān)鍵字或基本字)、算符、界符、常數(shù)等。例.某源程序片斷如下:beginvarsum,first,count:real;sum:=first+count*10end.保留字 begin保留字 var標(biāo)識(shí)符 sum逗號(hào) ,標(biāo)識(shí)符 first逗號(hào) ,標(biāo)識(shí)符 count冒號(hào) :保留字 real分號(hào) ;標(biāo)識(shí)符 sum賦值號(hào) :=標(biāo)識(shí)符 first加號(hào) +標(biāo)識(shí)符 count乘號(hào) *整數(shù) 10保留字 end界符 .語(yǔ)法分析任務(wù):依據(jù)語(yǔ)言的語(yǔ)法規(guī)則,確定源程序的輸入串是否構(gòu)成一個(gè)語(yǔ)法上正確的程序。最終將單詞序列分解成各類語(yǔ)法短語(yǔ)(也叫語(yǔ)法單位),如“程序”、“語(yǔ)句”、“表達(dá)式”等。語(yǔ)法:由程序語(yǔ)言基本符號(hào)組成程序中各個(gè)語(yǔ)法成分的一組規(guī)則。一般語(yǔ)法規(guī)則:由單詞符號(hào)構(gòu)成語(yǔ)法成分的規(guī)則;詞法規(guī)則:由基本符號(hào)構(gòu)成的符號(hào)書寫規(guī)則。舉例:id1:=id2+id3*10

的語(yǔ)法樹賦值語(yǔ)句標(biāo)識(shí)符表達(dá)式表達(dá)式+表達(dá)式表達(dá)式標(biāo)識(shí)符整數(shù)標(biāo)識(shí)符:=表達(dá)式*id1sumid2

firstid3

count10id1:=id2+id3*10

的語(yǔ)法樹的另一種形式:=id1+id2*id310程序結(jié)構(gòu)的遞歸表示表達(dá)式的表示:1)任何標(biāo)識(shí)符是表達(dá)式。2)任何常數(shù)(整常數(shù)、實(shí)常數(shù))是表達(dá)式。3)若表達(dá)式1和表達(dá)式2都是表達(dá)式,那么表達(dá)式1+表達(dá)式2表達(dá)式1*表達(dá)式2(表達(dá)式1)都是表達(dá)式。語(yǔ)句的表示:1)標(biāo)識(shí)符:=表達(dá)式是語(yǔ)句2)while(表達(dá)式)do語(yǔ)句是語(yǔ)句3)if(表達(dá)式)then語(yǔ)句else語(yǔ)句是語(yǔ)句語(yǔ)義分析任務(wù):審查源程序有無(wú)語(yǔ)義錯(cuò)誤,為代碼生成階段收集類型信息。主要功能:類型檢查、報(bào)語(yǔ)義錯(cuò)誤、類型轉(zhuǎn)換等語(yǔ)義:是程序設(shè)計(jì)語(yǔ)言中按語(yǔ)法規(guī)則構(gòu)成的各個(gè)語(yǔ)法成分的意義。靜態(tài)語(yǔ)義:編譯時(shí)刻即可確定的語(yǔ)法成分含義。動(dòng)態(tài)語(yǔ)義:運(yùn)行時(shí)刻才能確定的語(yǔ)法成分含義。語(yǔ)義分析:=id1+id2*id310inttorealrealfirst,count,sum……sum:=first+count*10舉例:類型檢查和轉(zhuǎn)換中間代碼生成任務(wù):在語(yǔ)法和語(yǔ)義分析之后,將源程序變成一種“內(nèi)部表示形式”。

中間代碼:一種結(jié)構(gòu)簡(jiǎn)單、含義明確的記號(hào)系統(tǒng)。特征:1)結(jié)構(gòu)簡(jiǎn)單、含義明確2)復(fù)雜性介于源語(yǔ)言和機(jī)器語(yǔ)言之間3)容易生成;4)容易將它翻譯成目標(biāo)代碼。四元式:(運(yùn)算符,運(yùn)算對(duì)象1,運(yùn)算對(duì)象2,結(jié)果)四元式:(運(yùn)算符,運(yùn)算對(duì)象1,運(yùn)算對(duì)象2,結(jié)果)舉例:源程序sum:=first+count*10生成的四元式可以是:(inttoreal, 10, -, t1)(* , id3, t1, t2)(+ , id2, t2, t3)(:= , t3, -, id1):=id1+id2*id310inttoreal波蘭表示問(wèn)題——Lukasiewicz1929/1951年發(fā)明

中綴表示(Infixnotation):(a+①b)*(-c+②d)+③e/f波蘭表示(Polish/Prefix/Parenthesis-free/Lukasiewicznotation)——也就是前綴表示+③*+①ab+②@cd/ef運(yùn)算順序從右向左逆波蘭表示(ReversePolish/Suffix/Postfixnotation)——也就是后綴表示

ab+①c@d+②*ef/+③運(yùn)算順序從左向右代碼優(yōu)化任務(wù):對(duì)中間代碼進(jìn)行變換或改造,使之更為高效(時(shí)間、空間)。

(inttoreal, 10, -, t1)(* , id3, t1, t2)(+ , id2, t2, t3)(:= , t3, -, id1)(*, id3, 10.0, t2)(+, id2, t2, id1)(* id3 10.0 t1)(+ id2 t1 id1)目標(biāo)代碼生成任務(wù):把中間代碼變換成特定機(jī)器上的絕對(duì)指令代碼或可重定位的機(jī)器指令代碼或匯編指令代碼。特點(diǎn):1)與硬件系統(tǒng)結(jié)構(gòu)和指令含義有關(guān),涉及到硬件系統(tǒng)功能部件的運(yùn)用、機(jī)器指令的選擇、各種數(shù)據(jù)類型變量的存儲(chǔ)空間分配以及寄存器和后緩寄存器的調(diào)度等。2)高級(jí)語(yǔ)言低級(jí)語(yǔ)言轉(zhuǎn)換是基于語(yǔ)義的等價(jià)變換,不是結(jié)構(gòu)上的變換。(* id3 10.0 t1)(+ id2 t1 id1)sum:=first+count*10MOVF id3, R2MULF #10.0, R2MOVF id2, R1ADDF R1, R2MOV R1, id1表格管理任務(wù):用于保存源程序的各種信息。因?yàn)樯鲜龈麟A段工作均需要查找、更新、構(gòu)造表格。管理各種符號(hào)表(常數(shù)、標(biāo)號(hào)、變量、過(guò)程、結(jié)構(gòu)……),查、填(登記、查找)源程序中出現(xiàn)的符號(hào)和編譯程序生成的符號(hào),為編譯的各個(gè)階段提供信息。輔助語(yǔ)法檢查、語(yǔ)義檢查完成靜態(tài)綁定、管理編譯過(guò)程Hash表、鏈表等各種查、填表技術(shù)出錯(cuò)處理任務(wù):報(bào)告源程序中錯(cuò)誤的性質(zhì)、地點(diǎn),將錯(cuò)誤所造成的影響限制在盡可能小的范圍。有些編譯程序還可以自動(dòng)糾錯(cuò)。一個(gè)程序是正確的,包括兩層含義:

1)書寫正確(合乎語(yǔ)法規(guī)則)

2)含義正確(合乎語(yǔ)義規(guī)則)說(shuō)明多數(shù)實(shí)用的編譯程序都采用以上幾個(gè)階段的工作過(guò)程。有些編譯程序沒(méi)有“中間代碼生成”和“代碼優(yōu)化”。

詞法分析

語(yǔ)法分析

語(yǔ)義分析中間代碼生成

優(yōu)化目標(biāo)代碼生成目標(biāo)代碼源程序

符號(hào)表管理

錯(cuò)誤診查處理

二、編譯程序的結(jié)構(gòu)例一個(gè)語(yǔ)句的翻譯三、編譯階段的組合前端:主要依賴于源語(yǔ)言而與目標(biāo)機(jī)器無(wú)關(guān)的編譯階段。如:詞法分析、語(yǔ)法分析、語(yǔ)義分析、中間代碼生成、部分代碼優(yōu)化、與前端有關(guān)的出錯(cuò)處理工作和表格管理工作。后端:依賴于目標(biāo)機(jī)而一般不依賴于源語(yǔ)言,只與中間代碼有關(guān)的編譯階段。如:目標(biāo)代碼生成,以及相關(guān)出錯(cuò)處理和表格處理。遍(趟):對(duì)源程序或其等價(jià)的中間語(yǔ)言程序從頭到尾掃視并完成規(guī)定任務(wù)的過(guò)程。每一遍掃視可完成編譯的一個(gè)階段或多個(gè)階段工作。多遍編譯:占內(nèi)存少,邏輯結(jié)構(gòu)清晰,耗時(shí)長(zhǎng)一遍編譯:占內(nèi)存多,邏輯結(jié)構(gòu)不清晰,耗時(shí)短1.3解釋程序和一些軟件工具一、解釋程序接受高級(jí)語(yǔ)言程序,并立即運(yùn)行這個(gè)源程序。例如:BASIC語(yǔ)言解釋程序,LISP解釋程序,SQL解釋程序,Java語(yǔ)言中的BYTECODE解釋程序解釋程序源程序輸入數(shù)據(jù)結(jié)果編譯程序高級(jí)語(yǔ)言程序(源程序)低級(jí)語(yǔ)言程序(目標(biāo)程序)解釋程序源程序結(jié)果輸入數(shù)據(jù)運(yùn)行程序輸入數(shù)據(jù)結(jié)果編譯與解釋的根本區(qū)別:是否生成目標(biāo)代碼。二、解釋程序與編譯程序的比較三、解釋程序的優(yōu)、缺點(diǎn)優(yōu)點(diǎn):可移植性較好。缺點(diǎn):(1)速度慢(2)空間開銷大有些語(yǔ)言既有編譯程序,又有解釋程序。四、處理源程序的軟件工具1語(yǔ)言的結(jié)構(gòu)化編輯器正文編輯、修改對(duì)源程序正文進(jìn)行分析(檢查用戶輸入是否正確、自動(dòng)提供關(guān)鍵字、檢查括號(hào)的匹配情況)2語(yǔ)言程序的調(diào)試工具

了解程序執(zhí)行的結(jié)果與編程人員的意圖是否一致允許用戶一行一行跟蹤程序,查看變量值的變化3程序格式化工具

分析源程序,并使程序結(jié)構(gòu)變得清晰可讀(如縮排)四、處理源程序的軟件工具4語(yǔ)言程序測(cè)試工具靜態(tài)分析器:不運(yùn)行源程序,就可以發(fā)現(xiàn)其中潛藏的錯(cuò)誤或異常。動(dòng)態(tài)分析器:對(duì)源程序進(jìn)行分析,把記錄和顯示程序執(zhí)行軌跡的語(yǔ)句或函數(shù)插入源程序,將運(yùn)行結(jié)果與期望結(jié)果進(jìn)行比較和分析。5程序理解工具

對(duì)程序進(jìn)行分析,確定模塊間的調(diào)用關(guān)系,并畫出控制流程圖。6高級(jí)語(yǔ)言之間的轉(zhuǎn)換工具將一種高級(jí)語(yǔ)言程序轉(zhuǎn)換成另一種高級(jí)語(yǔ)言程序1.4程序設(shè)計(jì)語(yǔ)言范型一、強(qiáng)制式語(yǔ)言(過(guò)程式語(yǔ)言、命令式語(yǔ)言)由一系列的語(yǔ)句組成,每個(gè)語(yǔ)句的執(zhí)行引起若干存儲(chǔ)單元中值的改變。如:C,F(xiàn)ortran,Pascal二、函數(shù)式語(yǔ)言(應(yīng)用式語(yǔ)言)從前面已有的函數(shù)出發(fā)構(gòu)造出更復(fù)雜的函數(shù)。Functionn(…Function2(Function1(data))…)如:ML,LISP1.4程序設(shè)計(jì)語(yǔ)言范型三、基于規(guī)則的語(yǔ)言(基于邏輯的語(yǔ)言)檢查一定的使能條件,當(dāng)它滿足時(shí),則執(zhí)行適當(dāng)?shù)膭?dòng)作。條件動(dòng)作如:PROLOG四、面向?qū)ο笳Z(yǔ)言提供抽象數(shù)據(jù)類型,支持封裝性、繼承性和多態(tài)性。如:Ada,C++,Java練習(xí)1、程序語(yǔ)言一般分為(1)和(2)兩大類。其中(3)與人類自然語(yǔ)言比較接近,(4)又稱為面向機(jī)器的語(yǔ)言。

A高級(jí)語(yǔ)言

B專用程序語(yǔ)言

C低級(jí)語(yǔ)言

D通用程序語(yǔ)言ACAC練習(xí)2、面向機(jī)器的語(yǔ)言是指(1),其特點(diǎn)是(2)。(1) A.用于解決機(jī)器硬件設(shè)計(jì)問(wèn)題的語(yǔ)言 B.特定計(jì)算機(jī)系統(tǒng)所固有的語(yǔ)言 C.各種計(jì)算機(jī)系統(tǒng)都通用的語(yǔ)言 D.只能在一臺(tái)計(jì)算機(jī)上使用的語(yǔ)言(2) A.程序執(zhí)行效率低,編寫效率低,可讀性差 B.程序執(zhí)行效率低,編寫效率高,可讀性強(qiáng) C.程序執(zhí)行效率高,編寫效率高,可讀性強(qiáng) D.程序執(zhí)行效率高,編寫效率低,可讀性差BD練習(xí)3、編譯程序是將(1)翻譯成(2);匯編程序是將(3)翻譯成(4)。 A.匯編語(yǔ)言程序 B.高級(jí)語(yǔ)言程序 C.機(jī)器語(yǔ)言程序 D.匯編語(yǔ)言程序或機(jī)器語(yǔ)言程序 E.匯編語(yǔ)言程序或高級(jí)語(yǔ)言程序BDAC練習(xí)4、編譯程序的工作過(guò)程可以劃分為(1)等六個(gè)階段,同時(shí)還伴有(2)和(3)。(1)詞法分析、語(yǔ)法分析、語(yǔ)義分析、中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成。(2)表格管理 (3)出錯(cuò)處理5、編譯程序可以發(fā)現(xiàn)源程序的全部(1)錯(cuò)誤和部分(2)錯(cuò)誤。 A.語(yǔ)用 B.語(yǔ)義

C. 語(yǔ)法 D.運(yùn)行CB練習(xí)6、要在某臺(tái)機(jī)器上為某種語(yǔ)言構(gòu)造一個(gè)編譯程序(編譯器),必須掌握的內(nèi)容有(1)。 A.匯編語(yǔ)言 B.源語(yǔ)言 C.目標(biāo)語(yǔ)言 D.程序設(shè)計(jì)方法學(xué) E.編譯方法 F.測(cè)試方法 G.機(jī)器語(yǔ)言BCE7、一個(gè)編譯程序,不僅包含詞法分析、語(yǔ)法分析、語(yǔ)義分析、中間代碼生成、代碼優(yōu)化和目標(biāo)代碼生成,還應(yīng)包括(1)。 其中(2)和(3)不是每個(gè)編譯程序都必需的。 詞法分析器用于識(shí)別(4)。 語(yǔ)法分析器可以發(fā)現(xiàn)源程序中的(5)。

(1)表格處理和出錯(cuò)處理 (2)中間代碼生成 (3)代碼優(yōu)化(4)單詞(5)語(yǔ)法錯(cuò)誤練習(xí)8、程序語(yǔ)言的語(yǔ)言處理程序是一種(1)。(2)都是程序語(yǔ)言的處理程序,兩者的主要區(qū)別在于(3)。(1) A.系統(tǒng)軟件 B.應(yīng)用軟件 C.實(shí)時(shí)軟件 D.分布式系統(tǒng)軟件(2) A.高級(jí)語(yǔ)言程序和低級(jí)語(yǔ)言程序

B.解釋程序和編譯程序 C.編譯程序和操作系統(tǒng) D.系統(tǒng)程序和應(yīng)用程序(3) A.單用戶與多用戶的差別

B.對(duì)用戶程序的查錯(cuò)能力不同 C.機(jī)器執(zhí)行的效率不同 D.是否生成目標(biāo)代碼 ABD練習(xí)9、編譯器必須完成的工作有(1)。A.

詞法分析B.

語(yǔ)法分析C.

語(yǔ)義分析D.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論