大學(xué)試題(計算機科學(xué))-編譯原理筆試(2018-2023年)真題摘選含答案_第1頁
大學(xué)試題(計算機科學(xué))-編譯原理筆試(2018-2023年)真題摘選含答案_第2頁
大學(xué)試題(計算機科學(xué))-編譯原理筆試(2018-2023年)真題摘選含答案_第3頁
大學(xué)試題(計算機科學(xué))-編譯原理筆試(2018-2023年)真題摘選含答案_第4頁
大學(xué)試題(計算機科學(xué))-編譯原理筆試(2018-2023年)真題摘選含答案_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

長風(fēng)破浪會有時,直掛云帆濟(jì)滄海。大學(xué)試題(計算機科學(xué))-編譯原理筆試(2018-2023年)真題摘選含答案(圖片大小可自由調(diào)整)卷I一.參考題庫(共30題)1.對任意一個右線性文法G,都存在一個DFAM,滿足L(G)=L(M)。2.已知文法G[S]:S→(L)|a?L→L,S|S為句子(a,(a,a))構(gòu)造最左推導(dǎo)和最右推導(dǎo)。3.文法的二義性和語言的二義性是兩個不同的概念。4.一個LL(1)文法一定是無二義和無回溯方法。5.編譯過程中可進(jìn)行的優(yōu)化如何分類?6.()是指源程序中不符合語義規(guī)則的錯誤,這些錯誤一般在語義分析時能檢測出來。A、語義錯誤B、語法錯誤C、短語錯誤D、短句錯誤7.語法分析時必須先消除文法中的左遞歸。8.分離詞法器的理由9.后綴式abc-/所代表的表達(dá)式是()。10.編譯程序首先要識別出源程序中每個(),然后再分析每個()并翻譯其意義。11.一個多遍的編譯程序可以較之一遍的編譯程序少占內(nèi)存。12.設(shè)有文法G={{S},{a},{S→SaS|ε},S},該文法是()A、LL(1)文法B、二義性文法C、SLR(1)文法D、算法優(yōu)先文法13.已知文法為:S->a|^|(T) T->T,S|S 構(gòu)造它的LR(0)分析表。14.編譯程序前端15.每個基本塊可用一個DAG表示。16.計算機系統(tǒng)中主存一輔存存儲層次或Cache一主存存儲層次常用的替換算法是()A、隨機算法B、近期最少使用算法C、先進(jìn)后出算法D、OPT算法17.最常用的代碼優(yōu)化技術(shù)有哪些?18.編譯程序中語法分析器接收以()為單位的輸入。A、單詞B、表達(dá)式C、產(chǎn)生式D、句子19.在規(guī)范規(guī)約中用最左素短語來刻畫可規(guī)約串。20.產(chǎn)生式是用于定義詞法成分?的一種書寫規(guī)則。21.編譯器與要編譯的源程序的接口階段是()。A、掃描程序B、語法分析程序C、語義分析程序D、代碼生成器22.有文法G://E→E*T|TT→T+i|i句子1+2*8+6按該文法G歸約,其值為()A、23B、42C、30D、1723.為什么在代碼生成時要考慮充分利用寄存器?24.在語法分析處理中,F(xiàn)IRST集合、FOLLOW集合、SELECT集合均是什么集合?25.由文法的開始符經(jīng)0步或多步推導(dǎo)產(chǎn)生的文法符號序列是()A、短語B、句柄C、句型D、句子26.詞法分析器的主要任務(wù)是什么?27.通常一個編譯程序中,不僅包含詞法分析,語法分析,語義分析,中間代碼生成,代碼優(yōu)化,目標(biāo)代碼生成等六個部分,還應(yīng)包括()。A、模擬執(zhí)行器B、解釋器C、表格處理和出錯處理D、符號執(zhí)行器28.自上而下分析法采用()、歸約、錯誤處理、()等四種操作。29.一個LR(1)文法合并同心集后若不是LALR(1)文法()A、則可能存在移進(jìn)/歸約沖突B、則可能存在歸約/歸約沖突C、則可能存在移進(jìn)/歸約沖突和歸約/歸約沖突30.編譯程序后端卷I參考答案一.參考題庫1.參考答案:正確2.參考答案: 3.參考答案:正確4.參考答案:正確5.參考答案: 依據(jù)優(yōu)化所涉及的程序范圍,可以分為:局部優(yōu)化、循環(huán)優(yōu)化和全局優(yōu)化。6.參考答案:A7.參考答案:錯誤8.參考答案: 1)語言的詞法規(guī)則簡單 2)正規(guī)式給出的描述更簡潔且易于理解 3)從正規(guī)式自動構(gòu)造出的詞法分析器更有效上面這些理由也決定了此法分析和語法分析的分離。 從軟件工程的角度看,它們的分離有如下好處: 1)編譯器的效率會改進(jìn)。 2)編譯器的可移植性加強。 3)把語言的語法結(jié)構(gòu)分成詞法和非詞法兩部分,為編譯器前端的模塊劃分提供了方便的途徑。9.參考答案:a/(b-c)10.參考答案:單詞;句子11.參考答案:正確12.參考答案:B13.參考答案: 14.參考答案: 是由詞法分析器、語法分析器和中間代碼產(chǎn)生器組成的。她的特點是依賴于被編譯的源程序,輸出結(jié)果用中間代碼描述,和目標(biāo)機器無關(guān)。15.參考答案:正確16.參考答案:B17.參考答案: 1.刪除多余運算。 2.代碼外提。 3.強度削弱。 4.變換循環(huán)控制條。 5.合并已知量與復(fù)寫傳播。 6.刪除無用賦值。18.參考答案:A19.參考答案:錯誤20.參考答案:錯誤21.參考答案:A22.參考答案:B23.參考答案: 因為當(dāng)變量值存在寄存器時,引用的變量值可直接從寄存器中取,減少對內(nèi)存的存取次數(shù),這樣便可提高運行速度。因此如何充分利用寄存器是提高目標(biāo)代碼運行效率的重要途徑。24.參考答案: 均是終結(jié)符集。25.參考答案:C26.參考答案: 詞法分析器的主要任務(wù)是逐步掃描和分解構(gòu)成源程序的字符串,識別出一個一個的單詞符號。27.參考答案:C28.參考答案:移進(jìn);接受29.參考答案:B30.參考答案: 是由目標(biāo)代碼生成器組成,他的特點是和源程序無關(guān),以中間代碼形式的源程序為輸入進(jìn)行處理,輸出結(jié)果依賴于目標(biāo)機器。卷II一.參考題庫(共30題)1.編譯程序與解釋程序的區(qū)別?2.計算機高級語言翻譯成低級語言只有解釋一種方式。3.在編譯的各階段中,和目標(biāo)機器關(guān)系最為密切的是()。A、詞法分析B、語法分析C、語義分析D、目標(biāo)代碼生成4.哪個不是編譯系統(tǒng)的組成部分()A、詞法分析器B、代碼生成器C、設(shè)備管理程序D、語法分析器5.棧式分配策略在下列哪些情況下行不通?()A、過程活動停止后,局部名字的值還必須維持B、被調(diào)用者的活動比調(diào)用者的活動活得更長,此時活動樹不能正確描繪程序的控制流C、不遵守棧式規(guī)則的有Pascal語言和C語言的動態(tài)變量D、Java禁止程序員自己釋放空間6.由于受到具體機器主存容量的限制,編譯程序幾個不同階段的工作往往被組合成()。A、過程B、程序C、批量D、遍7.目標(biāo)代碼生成8.常見的代碼優(yōu)化包括()。A、常量合并B、公共子表達(dá)式刪除C、復(fù)寫傳播D、死代碼刪除9.在自頂向下的語法分析方法中,分析的關(guān)鍵是什么?10.任何文法的任何句子的句柄都是唯一的。11.規(guī)范句型12.已知文法A->aAd|aAb|ε 判斷該文法是否是SLR(1)文法,若是構(gòu)造相應(yīng)分析表,并對輸入串a(chǎn)b#給出分析過程。13.文法符號的屬性有綜合屬性和()。14.下面()不是自底向上的語法分析方法。A、SLR(1)B、LR(1)C、LL(k)D、算符優(yōu)先符15.目標(biāo)代碼生成時,應(yīng)考慮如何充分利用計算機的寄存器的問題。16.如果編譯程序生成的目標(biāo)程序是匯編語言程序,則源程序的執(zhí)行分為哪三個階段?17.綜合屬性18.說明下面文法G[S]是二義性文法:S→SaS|SbS|cSd|eS|f19.在規(guī)范歸約中,用()來刻畫可歸約串。A、直接短語B、句柄C、最左素短語D、素短語20.句柄21.簡述自下而上的分析方法。22.進(jìn)行代碼優(yōu)化時應(yīng)著重考慮循環(huán)的代碼優(yōu)化,這對提高目標(biāo)代碼的效率將起更大作用。23.文法G的一個句子對應(yīng)于多個推導(dǎo),則G是二義的。24.LL(1)文法又稱為預(yù)測分析方法。25.源程序26.程序中的表達(dá)式語句在語義翻譯時不需要回填技術(shù)。27.符號表中的信息欄中登記了每個名字的屬性和特征等有關(guān)信息,如類型、種屬、所占單元大小、地址等等。28.間接三元式表示法的優(yōu)點為()。??A、采用間接碼表,便于優(yōu)化處理B、節(jié)省存儲空間,不便于表的修改C、便于優(yōu)化處理,節(jié)省存儲空間D、節(jié)省存儲空間,不便于優(yōu)化處理29.面向?qū)ο笳Z言的主要特征是()。A、封裝性B、集成性C、繼承性D、多態(tài)性30.對中間代碼的優(yōu)化依賴于具體的計算機。卷II參考答案一.參考題庫1.參考答案: 編譯程序生成目標(biāo)程序后,再執(zhí)行目標(biāo)程序;然而解釋程序不生成目標(biāo)程序,邊解釋邊執(zhí)行。2.參考答案:錯誤3.參考答案:D4.參考答案:C5.參考答案:A,B,C,D6.參考答案:D7.參考答案: 執(zhí)行目標(biāo)代碼生成的程序稱為目標(biāo)代碼生成器。他的任務(wù)是根據(jù)中間代碼和表格信息,確定各類數(shù)據(jù)在內(nèi)存中的位置,選擇合適的指令代碼,將中間代碼翻譯成匯編語言或機器指令,這部分工作與計算機硬件有關(guān)。8.參考答案:A,B,C,D9.參考答案: 關(guān)鍵是選擇候選式。10.參考答案:錯誤11.參考答案: 由規(guī)范推導(dǎo)所得到的句型。12.參考答案: 13.參考答案:繼承屬性14.參考答案:C15.參考答案:正確16.參考答案: 源程序的執(zhí)行分為三個階段:編譯階段,匯編階段和運行階段。17.參考答案: 若產(chǎn)生式左部的單非終結(jié)符A的屬性值由右部各非終結(jié)符的屬性值決定,則A的屬性稱為綜合屬18.參考答案: fafbf是文法G[S]的一個句子,并且有兩個不同的最右推導(dǎo)。 (1)S=>SaS=>SaSbS=>SaSbf=>Safbf=>fafbf (2)S=>SbS=>Sbf=>SaSbf=>Safbf=>fafbf 因此說明此文法有二義性。19.參考答案:B20.參考答案:

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論