編譯原理選擇

2022-12-02 04:54:01 字數 5538 閱讀 1667

1.語言是

a.句子的集合b.產生式的集合

c.符號串的集合d.句型的集合

2.編譯程式前三個階段完成的工作是

a.詞法分析、語法分析和**優化

b.**生成、**優化和詞法分析

c.詞法分析、語法分析、語義分析和中間**生成

d.詞法分析、語法分析和**優化

3.乙個句型中稱為控制代碼的是該句型的最左

a.非終結符號 b.短語 c.句子 d.直接短語

4.下推自動機識別的語言是

a.0型語言b.1型語言

c.2型語言d.3型語言

5.掃瞄器所完成的任務是從字串形式的源程式中識別出乙個個具有獨立含義的最小語法單位即

a. 字元 b.單詞c.句子 d.句型

6.對應chomsky四種文法的四種語言之間的關係是

a.l0l1l2l3b.l3l2l1l0

c.l3=l2l1l0d.l0l1l2=l3

7.詞法分析的任務是

a.識別單詞b.分析句子的含義

c.識別句子d.生成目標**

8.常用的中間**形式不含

a.三元式 b.四元式 c.逆波蘭式 d.語法樹

9. **優化的目的是

a.節省時間b.節省空間

c.節省時間和空間d.把編譯程式進行等價交換

10.**生成階段的主要任務是

a.把高階語言翻譯成組合語言

b.把高階語言翻譯成機器語言

c.把中間**變換成依賴具體機器的目標**

d.把組合語言翻譯成機器語言

1.____型文法也稱為正規文法。

[a] 0 [b] 1c] 2 [d] 3

2.____文法不是ll(1)的。

[a] 遞迴 [b] 右遞迴 [c] 2型 [d] 含有公共左因子的

4.四元式之間的聯絡是通過實現。

[a]臨時變數 [b]指示器 [c]符號表 [d]程式變數

6.**優化時所依據的是

[a]語法規則 [b]詞法規則 [c]等價變換規則 [d]語義規則

7.表示式a-(-b)*c的逆波蘭表示為

[a]a-b@c* [b]ab@c*- [c]ab@- [d]ab@c-* (注:@為單目減運算子)

1. 乙個正規語言只能對應( b )

a 乙個正規文法 b 乙個最小有限狀態自動機

2. 文法g[a]:a→ε a→ab b→ab b→a是( a )

a 正規文法 b 二型文法

3. 下面說法正確的是( a )

a 乙個slr(1)文法一定也是lalr(1)文法

b 乙個lr(1)文法一定也是lalr(1)文法

4. 乙個上下文無關文法消除了左遞迴,提取了左公共因子後是滿足ll(1)文法的( a )

a 必要條件 b 充分必要條件

5. 下面說法正確的是( b )

a 乙個正規式只能對應乙個確定的有限狀態自動機

b 乙個正規語言可能對應多個正規文法

6. 算符優先分析與規範歸約相比的優點是( a )

a 歸約速度快 b 對文法限制少

7. 乙個lr(1)文法合併同心集後若不是lalr(1)文法( b )

a 則可能存在移進/歸約衝突

b 則可能存在歸約/歸約衝突

c 則可能存在移進/歸約衝突和歸約/歸約衝突

8. 下面說法正確的是( a )

a lex是乙個詞法分析器的生成器 b yacc是乙個語法分析器

9. 下面說法正確的是( a )

a 乙個正規文法也一定是二型文法

b 乙個二型文法也一定能有乙個等價的正規文法

10. 編譯原理是對(c)。

a、機器語言的執行b、組合語言的翻譯

c、高階語言的翻譯d、高階語言程式的解釋執行

11. (a)是一種典型的解釋型語言。

a.basicb.cc.fortrand.pascal

12. 把組合語言程式翻譯成機器可執行的目標程式的工作是由(b)完成的。

a. 編譯器b. 彙編器c. 直譯器d. 預處理器

13. 用高階語言編寫的程式經編譯後產生的程式叫(b)

a.源程式b.目標程式c.連線程式d.解釋程式

14. (c)不是編譯程式的組成部分。

a.詞法分析程式 b.**生成程式 c.裝置管理程式 d.語法分析程式

15. 通常乙個編譯程式中,不僅包含詞法分析,語法分析,語義分析,中間**生成,**優化,目標**生成等六個部分,還應包括(c)。

a.模擬執行器 b.直譯器c.**處理和出錯處理 d.符號執行器

16. 編譯程式絕大多數時間花在(d)上。

a.出錯處理b.詞法分析c.目標**生成 d.**管理

17. 源程式是句子的集合,(b)可以較好地反映句子的結構。

a. 線性表b. 樹c. 完全圖d. 堆疊

18. 詞法分析器的輸出結果是(d)。

a、單詞自身值b、單詞在符號表中的位置

c、單詞的種別編碼d、單詞的種別編碼和自身值

19. 詞法分析器不能(d)

a. 識別出數值常量b. 過濾源程式中的注釋

c. 掃瞄源程式並識別記號d. 發現括號不匹配

20. 文法:g:s→xsx | y所識別的語言是(d)。

a、xyxb、(xyxc、x*yxd、xnyxn (n≥0)

21. 如果文法g是無二義的,則它的任何句子α(a)

a.最左推導和最右推導對應的語法樹必定相同

b.最左推導和最右推導對應的語法樹可能不同

c.最左推導和最右推導必定相同

d.可能存在兩個不同的最左推導,但它們對應的語法樹相同

22. 正則文法(a)二義性的。

a. 可以是b. 一定不是c. 一定是

23. (b)這樣一些語言,它們能被確定的有窮自動機識別,但不能用正規表示式表示。

a. 存在b. 不存在c. 無法判定是否存在

24. 給定文法a→ba | ca,為該文法句子的是(c)

a. bbab. cabc. bcad. cba

25. 設有文法g[s]:ss1|s0|sa|sc|a|b|c,下列符號串中是該文法的句子有(d)

a. ab0b. a0c01c. a0b0ad. bc10

26. 文法g產生的(d)的全體是該文法描述的語言。

a.句型b. 終結符集c. 非終結符集 d.句子

27. 若文法g定義的語言是無限集,則文法必然是(a)

a.遞迴的b. 上下文無關的 c. 二義性的d. 無二義性的

28. 描述乙個語言的文法是(b)

a.唯一的b. 不唯一的c. 可能唯一

29. 乙個文法所描述的語言是(a)

a.唯一的b. 不唯一的c. 可能唯一

30. 採用自上而下分析,必須(a)。

a、消除回溯b、消除左遞迴

c、消除右遞迴d、提取公共左因子

31. 編譯過程中,語法分析器的任務是(a)

1 分析單詞的構成

2 分析單詞串如何構成語句

3 分析語句是如何構成程式

4 分析程式的結構

abcd. ②③④

32. 詞法分析器的輸入是( a)。

a.符號串b.源程式c.語法單位d.目標程式

33. 兩個有窮自動機等價是指它們的(c)。

a.狀態數相等b.有向弧數相等

c.所識別的語言相等d.狀態數和有向弧數相等

34. 若狀態k含有專案「a→α· 」,且僅當輸入符號a∈follow(a)時,才用規則「a →α」歸約的語法分析方法是(d)。

a.lalr分析法 b.lr(0)分析法 c.lr(1)分析法 d.slr(1)分析法

35. 若a為終結符,則a→α · aβ為(b)專案。

a.歸約b.移進c.接受d.待約

36. 在使用高階語言程式設計時,首先可通過編譯程式發現源程式的全部和部分(a)錯誤。

a. 語法b. 語義c. 語用d. 執行

37. 喬姆斯基(chomsky)把文法分為四種型別,即0型、1型、2型、3型。其中3型文法是(b)

a. 非限制文法 b. 正則文法c. 上下文有關文法 d. 上下文無關文法

38. 乙個句型中的(a)稱為該句型的控制代碼。

a. 最左直接短語 b. 最右直接短語 c. 終結符d. 非終結符

39. 在自底向上的語法分析方法中,分析的關鍵是(d)

a. 尋找控制代碼b. 尋找句型c. 消除遞迴d. 選擇候選式

40. 在自頂向下的語法分析方法中,分析的關鍵是(c)

a. 尋找控制代碼b. 尋找句型c. 消除遞迴d. 選擇候選式

41. 在lr分析法中,分析棧中存放的狀態是識別規範句型(c)的dfa狀態。

a.控制代碼b. 字首c. 活字首d. lr(0)專案

42. 乙個上下文無關文法g包括四個組成部分,它們是一組非終結符號,一組終結符號,乙個開始符號,以及一組(b)

a. 句子b. 產生式c. 單詞d. 句型

43. 詞法分析器用於識別(c)

a. 句子b. 產生式c. 單詞d. 句型

44. 編譯程式是一種(b)

a. 匯程式設計序b. 翻譯程式c. 解釋程式d. 目標程式

45. 按邏輯上劃分,編譯程式第三步工作是(a)

a. 語義分析b. 詞法分析c. 語法分析d. **生成

46. 在語法分析處理中,first集合、follow集合均是(b)

a. 非終結符集 b.終結符集c. 字母表d. 狀態集

47. 編譯程式中語法分析器接收以(a)為單位的輸入。

a. 單詞b. 表示式c. 產生式d. 句子

48. 編譯過程中,語法分析器的任務就是(b)

a. 分析單詞是怎樣構成的b. 分析單詞串是如何構成語句和說明的

c. 分析語句和說明是如何構成程式的 d. 分析程式的結構

49. 若乙個文法是遞迴的,則它所產生的語言的句子(a)。

a.是無窮多個 b.是有窮多個c.是可列舉的d.個數是常量

50. 識別上下文無關語言的自動機是(c)

a. 下推自動機 b. nfac. dfad. 圖靈機

51. 編譯原理各階段工作都涉及(b)

a.詞法分析b.**管理c.語法分析d.語義分析

52. 正規表示式r1和r2等價是指(c)

a. r1和r2都是定義在乙個字母表上的正規表示式

b. r1和r2中使用的運算子相同

c. r1和r2代表同一正則集

d. r1和r2代表不同正則集

53. 已知文法g[s]:s→a1, a→a1|s0|0。與g 等價的正規式是(c)

a. 0(0|1b. 1*|0*1c. 0(1|10)*1d. 1(10|01)*0

54. 與(a|b)*(a|b)等價的正規式是(c)。

編譯原理實驗

實驗三中間的 優化 一 實驗目的 掌握區域性優化方法 提高機器的執行速度 二 相關知識 某些編譯程式在中間 或目標 生產之後要對其進行優化,所謂優化就是對 進行等價的變換。而變換後的 執行結果與變換前的 執行結果相同。而執行速度加快或占用記憶體空間減少。中間的 優化就是對中間 進行等價的變換。基本塊...

編譯原理實驗

第一篇高階程式語言到中間語言 第一章編譯概論及程式語言規定 1 1 編譯程式概論 計算機執行乙個高階語言程式一般要分為兩步 第一步,用乙個編譯程式把高階語言翻譯成機器語言程式 第二步,執行所得的機器語言程式,求得計算結果。編譯程式的工作貫穿於從輸入源程式開始到輸出目標程式為止的整個過程,是非常複雜的...

編譯原理期末總結

第一章編譯概述 程式的翻譯 源程式 用組合語言或高階語言編寫的程式。目標程式 用目標語言所表示的程式。目標語言 可以是介於源語言和機器語言之間的中間語言,可以是某種機器的機器語言,也可以是某機器的組合語言 翻譯程式 將源程式轉換為目標程式的程式稱為翻譯程式。它是指各種語言的翻譯器,包括匯程式設計序和...