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

下載本文檔

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

文檔簡介

1、填空題 按Chomsky分類法,文法按照_規(guī)則定義的形式_進(jìn)行分類。 詞法分析基于_正則_文法進(jìn)行,即識別的單詞是該類文法的句子。 分析句型時,應(yīng)用算符優(yōu)先分析技術(shù)時,每步被直接歸約的是_最左素短語_,而應(yīng)用LR分析技術(shù)時,每步被直接歸約的是_句柄_。 掃描器是_詞法分析器_,它接受輸入的_源程序_,對源程序進(jìn)行_詞法分析_并識別出一個個單詞符號,其輸出結(jié)果是單詞符號,供語法分析器使用。 一個文法能用有窮多個規(guī)則描述無窮的符號串集合(語言)是因為文法中存在有_遞歸_定義的規(guī)則。 語義分析階段所生成的與源程序等價的中間表示形式可以有_逆波蘭_、_四無式表示_與_三元式表示_等。 編譯程序的工作過

2、程一般可以劃分為詞法分析,語法分析,語義分析,中間代碼生成,代碼優(yōu)化等幾個基本階段,同時還會伴有_表格處理_和 _出錯處理_。 從功能上說,程序語言的語句大體可分為_執(zhí)行性_語句和_說明性_語句兩大類。 計算機(jī)執(zhí)行用高級語言編寫的程序主要有兩種途徑:_解釋_和_編譯_。 一個LR分析器包括兩部分:一個總控程序和_一張分析表_。 語法分析基于_上下文無關(guān)_文法進(jìn)行,即識別的是該類文法的句子。語法分析的有效工具是_語法樹_。 在使用高級語言編程時,首先可通過編譯程序發(fā)現(xiàn)源程序的全部_語法_錯誤和語義部分錯誤。 編譯方式與解釋方式的根本區(qū)別在于_是否生成目標(biāo)代碼_。 遞歸下降法不允許任一非終極符是直

3、接_左_遞歸的。 局部優(yōu)化是在_基本塊_范圍內(nèi)進(jìn)行的一種優(yōu)化。 一個典型的編譯程序中,不僅包括_詞法分析_、_語法分析_、_中間代碼生成_、代碼優(yōu)化、目標(biāo)代碼生成等五個部分,還應(yīng)包括表格處理和出錯處理。 語法分析器的輸入是_單詞符號串_,其輸出是_語法單位_。 自底向上的語法分析方法的基本思想是:從輸入串入手,利用文法的產(chǎn)生式一步一步地向上進(jìn)行_直接歸約_ ,力求歸約到文法的_開始符號_。 產(chǎn)生式是用于定義_語法成分_的一種書寫規(guī)則。 對編譯程序而言,輸入數(shù)據(jù)是_源程序_, 輸出結(jié)果是_目標(biāo)程序_。 若源程序是用高級語言編寫的,_目標(biāo)程序_是機(jī)器語言程序或匯編程序,則其翻譯程序稱為 _編譯程序

4、_ 。 一個句型中的最左簡單短語稱為該句型的_句柄_。 語法分析是依據(jù)語言的_語法_規(guī)則進(jìn)行的,中間代碼產(chǎn)生是依據(jù)語言的_語義_規(guī)進(jìn)行的。 自頂向下的語法分析方法的基本思想是:從文法的_開始符號_開始,根據(jù)給定的輸入串并按照文法的產(chǎn)生式一步一步的向下進(jìn)行_直接推導(dǎo)_,試圖推導(dǎo)出文法的_句子_,使之與給定的輸入串_匹配_。 常用的參數(shù)傳遞方式有_傳地址_,傳值和傳名。 對于文法的每個產(chǎn)生式都配備了一組屬性的計算規(guī)則,稱為 _語義規(guī)則_ 。 掃描器的任務(wù)是從_源程序_中識別出一個個_單詞符號_。 一個名字的屬性包括_類型_和_作用域_。 語法分析最常用的兩類方法是_自上而下_和_自下而上_分析法。

5、 自上而下分析法采用_移進(jìn)_、歸約、錯誤處理、_接受_等四種操作。一、選擇1.將編譯程序分成若干個“遍”是為了_B_。A. 提高程序的執(zhí)行效率B. 使程序的結(jié)構(gòu)更加清晰C. 利用有限的機(jī)器內(nèi)存并提高機(jī)器的執(zhí)行效率D. 利用有限的機(jī)器內(nèi)存但降低了機(jī)器的執(zhí)行效率2.正規(guī)式 MI 和 M2 等價是指_C_。A. MI 和 M2 的狀態(tài)數(shù)相等B. Ml 和 M2 的有向弧條數(shù)相等。C. M1 和 M2 所識別的語言集相等 D. Ml 和 M2 狀態(tài)數(shù)和有向弧條數(shù)相等3.中間代碼生成時所依據(jù)的是 _C_。A語法規(guī)則 B詞法規(guī)則 C語義規(guī)則 D等價變換規(guī)則4.一個編譯程序中,不僅包含詞法分析,_A_,中間

6、代碼生成,代碼優(yōu)化, 目標(biāo)代碼生成等五個部分。A語法分析 B文法分析 C語言分析 D解釋分析 5.語法分析器則可以發(fā)現(xiàn)源程序中的_D_。A語義錯誤 B語法和語義錯誤C錯誤并校正 D語法錯誤6.解釋程序處理語言時 , 大多數(shù)采用的是_B_方法。A源程序命令被逐個直接解釋執(zhí)行B先將源程序轉(zhuǎn)化為中間代碼 , 再解釋執(zhí)行C先將源程序解釋轉(zhuǎn)化為目標(biāo)程序 , 再執(zhí)行D以上方法都可以7.如果L(M1)=L(M2),則M1與M2( A )A等價 B都是二義的C都是無二義的 D它們的狀態(tài)數(shù)相等8.有限狀態(tài)自動機(jī)能識別( C )A上下文無關(guān)文法 B上下文有關(guān)文法C正規(guī)文法 D短語文法9.由文法的開始符經(jīng)0步或多步

7、推導(dǎo)產(chǎn)生的文法符號序列是( C )A短語 B句柄 C句型 D句子10.產(chǎn)生正規(guī)語言的文法為( D )A0型 B1型 C2型 D3型11.任何算符優(yōu)先文法( D )優(yōu)先函數(shù)A有一個 B沒有 C有若干個 D可能有若干個12.采用自上而下分析,必須( C )A消除左遞歸 B消除右遞歸C消除回溯 D提取公共左因子13.在規(guī)范歸約中,用( B )來刻畫可歸約串。A直接短語 B句柄 C最左素短語 D素短語14.如果文法是無二義的,那么規(guī)范歸約是指( B )A最左推導(dǎo)的逆過程 B最右推導(dǎo)的逆過程C規(guī)范推導(dǎo) D最左歸約的逆過程15.使用間接三元式表示法的主要目的( A )A便于優(yōu)化處理 B便于表的修改C節(jié)省存

8、儲空間 D生成中間代碼更容易16.文法 G 所描述的語言是_C_的集合。A. 文法 G 的字母表 V 中所有符號組成的符號串B文法 G 的字母表 V 的閉包 V* 中的所有符號串C由文法的開始符號推出的所有終極符串D. 由文法的開始符號推出的所有符號串17.文法分為四種類型,即 0 型、1 型、2 型、3 型。其中 3 型文法是_B_。 A. 短語文法B正則文法 C上下文有關(guān)文法 D上下文無關(guān)文法18. 一個上下文無關(guān)文法 G 包括四個組成部分,它們是:一組非終結(jié)符號,一 組終結(jié)符號,一個開始符號,以及一組 _D_。A句子 B句型 C單詞 D產(chǎn)生式19.通常一個編譯程序中,不僅包含詞法分析,語

9、法分析,中間代碼生成,代碼優(yōu)化,目 標(biāo)代碼生成等五個部分,還應(yīng)包括_C_。A模擬執(zhí)行器 B解釋器C表格處理和出錯處理 D符號執(zhí)行器20.一個句型中的最左_B_稱為該句型的句柄。A短語 B簡單短語 C素短語 D終結(jié)符號21.若一個文法是遞歸的,則它所產(chǎn)生的語言的句子_A_。A是無窮多個 B. 是有窮多個C是可枚舉的 D個數(shù)是常量22.詞法分析器用于識別_C_。A句子 B句型 C單詞 D產(chǎn)生式23.在自底向上的語法分析方法中,分析的關(guān)鍵是_A_。A. 尋找句柄 B. 尋找句型 C. 消除遞歸 D. 選擇候選式24.在 LR 分析法中,分析棧中存放的狀態(tài)是識別規(guī)范句型_C_的 DFA 狀態(tài)。A. 句

10、柄 B. 前綴 C. 活前綴 D. LR(0) 項目25.若文法 G 定義的語言是無限集,則文法必然是 _A_A遞歸的 B前后文無關(guān)的C二義性的 D無二義性的26.四種形式語言文法中,1 型文法又稱為 _A_文法。A短語結(jié)構(gòu)文法 B前后文無關(guān)文法C前后文有關(guān)文法 D正規(guī)文法27._B_和代碼優(yōu)化部分不是每個編譯程序都必需的。A語法分析 B中間代碼生成C詞法分析 D目標(biāo)代碼生成28._B_是兩類程序語言處理程序。A高級語言程序和低級語言程序 B解釋程序和編譯程序C編譯程序和操作系統(tǒng)D系統(tǒng)程序和應(yīng)用程序29.文法分為四種類型,即 0 型、1 型、2 型、3 型。其中 2 型文法是_D_。A. 短語

11、文法 B正則文法C上下文有關(guān)文法 D上下文無關(guān)文法30._A_是一種典型的解釋型語言。ABASIC語言 BC語言 CFORTRAN語言DPASCAL語言 31.與編譯系統(tǒng)相比,解釋系統(tǒng)_D_。A比較簡單 , 可移植性好 , 執(zhí)行速度快B比較復(fù)雜 , 可移植性好 , 執(zhí)行速度快C比較簡單 , 可移植性差 , 執(zhí)行速度慢D比較簡單 , 可移植性好 , 執(zhí)行速度慢32.用高級語言編寫的程序經(jīng)編譯后產(chǎn)生的程序叫_B_。A源程序 B目標(biāo)程序 C連接程序 D解釋程序 33.把匯編語言程序翻譯成機(jī)器可執(zhí)行的目標(biāo)程序的工作是由_A_完成的。A編譯器 B匯編器C解釋器 D預(yù)處理器 34.如果文法 G 是無二義的

12、,則它的任何句子_A_。A最左推導(dǎo)和最右推導(dǎo)對應(yīng)的語法樹必定相同 B最左推導(dǎo)和最右推導(dǎo)對應(yīng)的語法樹可能不同 C最左推導(dǎo)和最右推導(dǎo)必定相同D可能存在兩個不同的最左推導(dǎo),但它們對應(yīng)的語法樹相同 35.構(gòu)造編譯程序應(yīng)掌握_D_。A源程序 B目標(biāo)語言C編譯方法 D以上三項都是36.四元式之間的聯(lián)系是通過_B_實現(xiàn)的。A指示器 B臨時變量C符號表 D程序變量37.表達(dá)式( A B)(CD)的逆波蘭表示為_B_。A. ABCD BA BCDCAB CD DA B CD38.優(yōu)化可生成_D_的目標(biāo)代碼。A運(yùn)行時間較短B占用存儲空間較小C運(yùn)行時間短但占用內(nèi)存空間大 D運(yùn)行時間短且占用存儲空間小39.下列_C_

13、優(yōu)化方法不是針對循環(huán)優(yōu)化進(jìn)行的。A. 強(qiáng)度削弱 B刪除歸納變量C刪除多余運(yùn)算 D代碼外提40.編譯程序使用_B_區(qū)別標(biāo)識符的作用域。 A. 說明標(biāo)識符的過程或函數(shù)名B說明標(biāo)識符的過程或函數(shù)的靜態(tài)層次C說明標(biāo)識符的過程或函數(shù)的動態(tài)層次 D. 標(biāo)識符的行號41.編譯程序絕大多數(shù)時間花在_D_ 上。 A出錯處理 B詞法分析 C目標(biāo)代碼生成 D表格管理42.編譯程序是對_D_。A匯編程序的翻譯 B高級語言程序的解釋執(zhí)行C機(jī)器語言的執(zhí)行 D高級語言的翻譯43.在規(guī)范歸約中,用_B_來刻畫可歸約串。A直接短語B句柄C最左素短語D素短語44.間接三元式表示法的優(yōu)點(diǎn)為_A_。A采用間接碼表,便于優(yōu)化處理 B節(jié)

14、省存儲空間,不便于表的修改C便于優(yōu)化處理,節(jié)省存儲空間 D節(jié)省存儲空間,不便于優(yōu)化處理45.基本塊內(nèi)的優(yōu)化為_B_。A. 代碼外提,刪除歸納變量 B刪除多余運(yùn)算,刪除無用賦值C強(qiáng)度削弱,代碼外提 D循環(huán)展開,循環(huán)合并46.在目標(biāo)代碼生成階段,符號表用_D_。A目標(biāo)代碼生成B語義檢查 C語法檢查 D地址分配47.堆式動態(tài)分配申請和釋放存儲空間遵守_D_原則。A. 先請先放 B先請后放C后請先放 D. 任意48.文法 G 產(chǎn)生的_ D._ 的全體是該文法描述的語言。A. 句型B. 終結(jié)符集C. 非終結(jié)符集D. 句子49.一個文法所描述的語言是_A_ A. 唯一的B. 不唯一的C. 可能唯一,D.

15、可能不唯一50.描述一個語言的文法是_B_ 。A. 唯一的B. 不唯一的C. 可能唯一D. 可能不唯一51.數(shù)組的內(nèi)情向量中肯定不含有數(shù)組的_A_的信息A. 維數(shù)B. 類型C. 維上下界D. 各維的界差52.兩個有窮自動機(jī)等價是指它們的 C 。A狀態(tài)數(shù)相等 B有向弧數(shù)相等C所識別的語言相等D狀態(tài)數(shù)和有向弧數(shù)相等53.設(shè)a,b,c為文法的終結(jié)符,且有優(yōu)先關(guān)系aºb和bºc,則 D 。A必有aºc B必有cºa C必有bºa D選項A、B和C都不一定成立54.生成中間代碼時所依據(jù)的是 C 。A語法規(guī)則 B詞法規(guī)則 C語義規(guī)則 D等價變換規(guī)則55.基

16、本塊 A A只有一個入口語句和一個出口語句 B有一個入口語句和多個出口語句C有多個入口語句和一個出口語句 D有多個入口語句和多個出口語句56.若a為終結(jié)符,則A a.ab為_A_A. 移進(jìn)項目 B. 歸約項目 C. 接受項目 D. 后繼項目57.同心集的合并不會產(chǎn)生_C_A. 二義沖突 B. 移進(jìn)/歸約沖突C. 移進(jìn)/移進(jìn)沖突 D. 歸約/歸約沖突58.在程序運(yùn)行前就確定所需的數(shù)據(jù)空間的存儲分配方法是_A_A. 靜態(tài)的 B. 動態(tài)的 C. 棧式的 D. 堆式的59. B 型文法也稱為上下文有關(guān)文法。A. 0 B. 1 C. 2 D. 360.確定有限自動機(jī)的化簡是要實現(xiàn) _A_ 。A. 狀態(tài)最

17、少化 B. 轉(zhuǎn)換函數(shù)確定化C. 符號最少化 D. 邊的最少化61.局部優(yōu)化是對 D 進(jìn)行的優(yōu)化。A. 表達(dá)式 B. 部分代碼 C. 循環(huán)體 D. 基本塊62.由文法的開始符推導(dǎo)產(chǎn)生的文法符號序列是 C 。A. 短語 B. 句柄 C. 句型 D. 句子63._D_型文法也稱為正規(guī)文法。A. 0 B. 1 C. 2 D. 364._D_文法不是LL(1)的。A. 遞歸 B. 右遞歸 C. 2型 D. 含有公共左因子的65.同心集合并可能會產(chǎn)生的新沖突為 D 。A. 二義 B. 移進(jìn)/移進(jìn) C. 移進(jìn)/歸約 D. 歸約/歸約66.過程的DISPLAY表記錄了 B 。A. 過程的連接數(shù)據(jù) B. 過程的

18、嵌套層次C. 過程的返回地址 D. 過程的入口地址67.代碼優(yōu)化時所依據(jù)的是 C 。A. 語法規(guī)則 B. 詞法規(guī)則 C. 等價變換規(guī)則 D. 語義規(guī)則68.編譯原理各階段工作都涉及 B A. 詞法分析 B. 表格管理 C. 語法分析 D. 語義分析69.正則表達(dá)式R1和R2等價是指 C A. R1和R2都是定義在一個字母表上的正則表達(dá)式B. R1和R2中使用的運(yùn)算符相同C. R1和R2代表同一正則集D. R1和R2代表不同正則集70.在以下的語法分析中, D 特別適合于表達(dá)式的分析。A. LR分析B. LL(1)分析C. 遞歸下降分析D. 算符優(yōu)先分析71.在語法制導(dǎo)翻譯中不采用拉鏈回填技術(shù)的

19、語句是 B 。A. 跳轉(zhuǎn)語句 B. 賦值語句 C. 條件語句 D. 循環(huán)語句72.在屬性文法中,終結(jié)符只具有 D 屬性。A. 傳遞 B. 繼承 C. 抽象 D. 綜合73.不可能是目標(biāo)代碼的是( D )A匯編指令代碼 B可重定位指令代碼C絕對指令代碼 D中間代碼74.詞法分析器的輸入是( B )A單詞符號串 B源程序C語法單位 D目標(biāo)程序75.詞法分析應(yīng)遵循( C )A語義規(guī)則 B語法規(guī)則C構(gòu)詞規(guī)則 D等價變換規(guī)則76.詞法分析器的輸出結(jié)果是( C )A單詞的種別編碼 B單詞在符號表中的位置C單詞的種別編碼和屬性值 D單詞屬性值 判斷題 1“ 用高級語言書寫的源程序都必須通過編譯, 產(chǎn)生目標(biāo)代

20、碼后才能投入運(yùn)行 ”這種說法。( × )1編譯過程中,語法分析器的任務(wù)是分析單詞是怎樣構(gòu)成的。 (× )22型文法一定是3型文法。 (× )33型文法一定是2型文法。 ( )4LR 法是自頂向下語法分析方法。 (×)5LR 分析法在自左至右掃描輸入串時就能發(fā)現(xiàn)錯誤,但不能準(zhǔn)確地指出出錯地點(diǎn)。 ( ) 6LR 分析技術(shù)無法適用二義文法。 ( × )7LR 分析器的任務(wù)就是產(chǎn)生 LR 分析表。 ( ) 8r 和 s 分別是正規(guī)式,則有 L(r|s)=L(r)L(s)。( × ) 9編譯程序是對高級語言程序的解釋執(zhí)行。( × )

21、10編譯程序與具體的機(jī)器有關(guān),與具體的語言無關(guān)。 ( × ) 12并不是每個文法都能改寫成LL(1)文法。 ( )13采用三元式實現(xiàn)三地址代碼時,不利于對中間代碼進(jìn)行優(yōu)化。 ( )14產(chǎn)生式是定義語法范疇的一種書寫規(guī)則。()15產(chǎn)生式是用于定義詞法成分 的一種書寫規(guī)則。 ( × )16程序語言的語言處理程序是一種應(yīng)用軟件。( × ) 17詞法分析作為單獨(dú)的一遍來處理較好。 ( × )18從一個句型到另一個句型的推導(dǎo)過程是唯一的。( × )19遞歸下降法不允許任一非終極符是直接左遞歸的。 () 20遞歸下降分析法是一種自下而上分析法。 ( 

22、15; )21遞歸下降分析法是自頂向上分析方法。( )22對任何正規(guī)式e,都存在一個DFA M,滿足L(M)=L(e)。()23對任意一個右線性正規(guī)文法G,都存在一個DFA M,滿足L(G)= L(M)。()24對于數(shù)據(jù)空間的存貯分配, FORTRAN 采用動態(tài)貯存分配策略。 ( × )25二義文法不是上下文無關(guān)文法。( × )26分析作為單獨(dú)的一遍來處理較好。 ( × )27符號表中的信息欄中登記了每個名字的 屬性和特征等有關(guān)信息 ,如類型、種屬、所占 單元大小、地址等等。 ( × )28歸約和規(guī)范推導(dǎo)是互逆的兩個過程。 ( )29計算機(jī)高級語言翻譯成

23、低級語言只有解釋一種方式。(×) 30甲機(jī)上的某編譯程序在乙機(jī)上能直接使用的必要條件是甲機(jī)和乙機(jī)的操作系 統(tǒng)功能完全相同。 ( )31簡單優(yōu)先文法允許任意兩個產(chǎn)生式具有相同右部。 (×) 32僅考慮一個基本塊,不能確定一個賦值是否真是無用的。 ( )33進(jìn)行代碼優(yōu)化時應(yīng)著重考慮循環(huán)的代碼優(yōu)化,這對提高目標(biāo)代碼的效率將起更大作用。 (×)34靜態(tài)數(shù)組的存儲空間可以在編譯時確定。 ( × ) 35兩個正規(guī)集相等的必要條件是他們對應(yīng)的正規(guī)式等價。 (× )36每個過程的活動記錄的體積在編譯時可靜態(tài)確定。 ( )37每個基本塊可用一個DAG表示。 (

24、)38每個基本塊只有一個入口和一個出口。 ( )39每個文法都能改寫為 LL(1) 文法。 () 40目標(biāo)代碼生成時,應(yīng)考慮如何充分利用計算機(jī)的寄存器的問題。 ( )41逆波蘭表示法表示表達(dá)式時無須使用括號。 ( )42逆波蘭法表示的表達(dá)式亦稱后綴式 。 ( )43逆波蘭法表示的表達(dá)試亦稱前綴式。 (× )44確定的的自動機(jī)以及不確定的自動機(jī)都能正確地識別正集()45確定有限自動機(jī)以及非確定有限自動機(jī)都能正確地識別正規(guī)集。 ()46如果文法G是無二義的,那么規(guī)范歸約和規(guī)范推導(dǎo)是互逆的兩個過程。()47如果一個文法存在某個句子對應(yīng)兩棵不同的語法樹,則稱這個文法是二義的。 ( )48若一

25、個句型中出現(xiàn)了某產(chǎn)生式的右部,則此右部一定是該句型的句柄。( × )49設(shè)R和S分別是字母表上的正規(guī)式,則有L(R|S)=L(R)L(S)。 ()50樹形表示和四元式不便于優(yōu)化,而三元式和間接三元式則便于優(yōu)化。 ( × )51數(shù)組元素的地址計算與數(shù)組的存儲方式有關(guān)。 ( × )52算符優(yōu)先分析法每次都是對句柄進(jìn)行歸約。 (× )53算符優(yōu)先關(guān)系表不一定存在對應(yīng)的優(yōu)先函數(shù)。 (×) 54同心集的合并有可能產(chǎn)生新的“移進(jìn)”/ “歸約” 沖突 (×)55文法是描述語言的語法結(jié)構(gòu)的形式規(guī)則。()56削減運(yùn)算強(qiáng)度破壞了臨時變量在一基本塊內(nèi)僅被定

26、義一次的特性。 ( )57序中的表達(dá)式語句在語義翻譯時不需要回填技術(shù)。 ( ) 58要構(gòu)造行之有效的自上而下的分析器,則必須消除左遞歸。(× )59一個 LL(l)文法一定是無二義的。 ( × ) 60一個句型的句柄一定是文法某產(chǎn)生式的右部。 ( )61一個句型的直接短語是唯一的。 (× )62一個句型一定句子。 (× )63一個確定有限狀態(tài)自動機(jī)中,有且僅有一個唯一的終態(tài)。 (× )64一個上下文無關(guān)文法的開始符,可以是終結(jié)符或非終結(jié)符。(× )65一個算符優(yōu)先文法可能不存在算符優(yōu)先函數(shù)與之對應(yīng)。 ( )66一個優(yōu)先表一定存在相應(yīng)的

27、優(yōu)先函數(shù)。 (× )67一個有限狀態(tài)自動機(jī)中,有且僅有一個唯一的終態(tài)。( × ) 68一個語義子程序描述了一個文法所對應(yīng)的翻譯工作。 ( × )69一張轉(zhuǎn)換圖只包含有限個狀態(tài),其中有一個被認(rèn)為是初態(tài),最多只有一個終態(tài)。(× )70語法分析時必須先消除文法中的左遞歸 。 (×)71在編譯中進(jìn)行語法檢查的目的是為了發(fā)現(xiàn)程序中所有錯誤。(×)72在程序中標(biāo)識符的出現(xiàn)僅為使用性的。 ( × )73在中間代碼優(yōu)化中循環(huán)上的優(yōu)化主要有不變表達(dá)式外提和削減運(yùn)算強(qiáng)度。 ( × )74自底而上語法分析方法的主要問題是候選式的選擇。

28、(×)75自動機(jī)M1和M2的狀態(tài)數(shù)不同,則二者必不等價。 (× )76自上而下分析法是一種“移進(jìn)歸約”法。(× )77自下而上的分析法是一種“移進(jìn)歸約”法。()78綜合屬性是用于 “ 自上而下 ” 傳遞信息。( × )簡答題語法分析的主要任務(wù)是什么?常分為哪二類方法?答案:任務(wù)是在詞法分析的基礎(chǔ)上將單詞序列組合成各類語法短語 .常分為:自頂而下,自底而上二類方法。編譯程序大致有哪幾種開發(fā)技術(shù)?答案:(1)自編譯(2)交叉編譯 (3)自展 (4)移植:編譯程序的實現(xiàn)應(yīng)考慮的問題有那些?答案:編譯程序的實現(xiàn)應(yīng)考慮:開發(fā)周期、目標(biāo)程序的效率、可移植性、可調(diào)試性

29、、可維護(hù)性、可擴(kuò)充性等。編譯過程中可進(jìn)行的優(yōu)化如何分類?答案:依據(jù)優(yōu)化所涉及的程序范圍,可以分為:局部優(yōu)化、循環(huán)優(yōu)化和全局優(yōu)化。對下列錯誤信息,請指出可能是編譯的哪個階段(詞法分析、語法分析、語義分析、代碼生成)報告的。(1) else 沒有匹配的if(2) 數(shù)組下標(biāo)越界(3) 使用的函數(shù)沒有定義(4) 在數(shù)中出現(xiàn)非數(shù)字字符答案:(1) 語法分析(2) 語義分析(3) 語法分析(4) 詞法分析何謂代碼優(yōu)化?進(jìn)行優(yōu)化所需要的基礎(chǔ)是什么?答案:對代碼進(jìn)行等價變換,使得變換后的代碼運(yùn)行結(jié)果與變換前代碼運(yùn)行結(jié)果相同,而運(yùn)行速度加快或占用存儲空間減少,或兩者都有。優(yōu)化所需要的基礎(chǔ)是在中間代碼生成之后或目

30、標(biāo)代碼生成之后。何謂翻譯程序、編譯程序和解釋程序?答案:翻譯程序是指將用某種語言編寫的程序轉(zhuǎn)換成另一種語言形式的程序的程序,如編譯程序和匯編程序等。編譯程序是把用高級語言編寫的源程序轉(zhuǎn)換(加工)成與之等價的另一種用低級語言編寫的目標(biāo)程序的翻譯程序。解釋程序是解釋、執(zhí)行高級語言源程序的程序。寄存器分配的原則是什么?答案:寄存器分配的原則是:(1) 當(dāng)生成某變量的目標(biāo)代碼時,盡量讓變量的值或計算結(jié)果保留在寄存器中,直到寄存器不夠分配時為止。(2) 當(dāng)?shù)交緣K出口時,將變量的值存放在內(nèi)存中,因為一個基本塊可能有多個后繼結(jié)點(diǎn)或多個前驅(qū)結(jié)點(diǎn),同一個變量名在不同前驅(qū)結(jié)點(diǎn)的基本塊內(nèi)出口前存放的寄存器可能不同

31、,或沒有定值,所以應(yīng)在出口前把寄存器的內(nèi)容放在內(nèi)存中,這樣從基本塊外入口的變量值都在內(nèi)存中。(3) 對于在一個基本塊內(nèi)后邊不再被引用的變量所占用的寄存器應(yīng)盡早釋放,以提高寄存器的利用效率。什么是語法制導(dǎo)翻譯?中間代碼通常有哪幾種主要形式?答案:由一個源語言、一個目標(biāo)語言和一組翻譯規(guī)則組成,遮住規(guī)則可將任何源語言符號串翻譯成對應(yīng)的目標(biāo)語言。主要形式: 三元式、 四元式 、逆波蘭式為什么在代碼生成時要考慮充分利用寄存器?答案:因為當(dāng)變量值存在寄存器時,引用的變量值可直接從寄存器中取,減少對內(nèi)存的存取次數(shù),這樣便可提高運(yùn)行速度。因此如何充分利用寄存器是提高目標(biāo)代碼運(yùn)行效率的重要途徑。計算機(jī)執(zhí)行用高級語言編寫的程序有哪些途徑?它們之間的主要區(qū)別是什么?答案:計算機(jī)執(zhí)行用高級語言編寫的程序主要途徑有兩種,即解釋與編譯。像Basic 之類的語言,屬于解釋型的高級語言。它們的特點(diǎn)是計算機(jī)并不事先對高級語言進(jìn)行全盤翻譯,將其變?yōu)闄C(jī)器代碼,而是每讀入一條高級語句,就用解釋器將其翻譯為一條

溫馨提示

  • 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

提交評論