編譯原理經典試題 考試必看

2022-07-30 02:36:04 字數 1302 閱讀 5491

一、 (10 分 ) 對於文法 g[s] :

s → 1a | 0b | ε

a → 0s | 1aa

b → 1s | 0bb

⑴ (3 分 ) 請寫出三個關於 g[s] 的句子;

⑵ (4 分 ) 符號串 11a0s 是否為 g [s] 的句型?試證明你的結論。

⑶ (3 分 ) 試畫出 001b 關於 g [s] 的語法樹。

二、 (10 分 ) 請構造乙個文法,使其產生這樣的表示式 e :表示式中只含有雙目運算子 + 、 * ,且 + 的優先順序高於 * , + 採用右結合, * 採用左結合,運算物件只有識別符號 i ,可以用括號改變運算子優先順序。要求給出該文法的形式化描述。

三、 (20 分 ) 設有語言 l0,1} + ,且α不以 0 開頭,但以 00 結尾 } 。

⑴ (5 分 ) 試寫出描述 l 的正規表示式;

⑵ (15 分 ) 構造識別 l 的 dfa (要求給出詳細過程,並畫出構造過程中的 ndfa 、 dfa 的狀態轉換圖,以及 dfa 的形式化描述 ) 。

四、 (25 分 ) 給定文法 g[s] :

s → ab

a → ab | bs | c

b → as | d

⑴ (6 分 ) 請給出每乙個產生式右部的 first 集;

⑵ (3 分 ) 請給出每乙個非終結符號的 follow 集;

⑶ (8 分 ) 請構造該文法的 ll(1) 分析表;

⑷ (8 分 ) 什麼是 ll(1) 文法?該文法是 ll(1) 文法嗎?為什麼?

五、 (20 分 ) 給定文法 g[s] :

s → saa|a

a → abs|b

⑴ (8 分 ) 請構造該文法的以 lr(0) 專案集為狀態的識別規範句型活字首的 dfa 。

⑵ (4 分 ) 請構造該文法的 lr(0) 分析表。

⑶ (4 分 ) 什麼是 lr(0) 文法?該文法是 lr(0) 文法嗎?為什麼?

⑷ (4 分 ) 什麼是 slr(1) 文法?該文法是 slr(1) 文法嗎?為什麼?

六、 (10) 給定下列語句:

if a+b>c

then x := a*(b-c) + (b*c-d)/e

⑴ (5 分 ) 寫出其等價的逆波蘭表示;

⑵ (5 分 ) 寫出其等價的四元式序列。

七、 (5 分 ) 已知下列 c 語言程式:

int * f()

main()

程式執行結果為: the result is 26157,

請解釋為什麼程式執行的結果不是期望的「 the result is 100 」?

編譯原理實驗考試題

請設計以下t語言的詞法和語法語義分析程式 t語言的詞法規則如下 0 1 單分界符 雙分界符 t語言的語法語義規則如下 1 2 3 4 logic stat factor factor and 5 factor num i loadi i主函式設計 將t語言程式儲存在一txt檔案中作為輸入,詞法分析的...

c語言考試經典試題

一 填空題 1 字串 x y 12 n 的字元數為 2 已知float x 2.5,y 4.7 int a 7 表示式x a 3 int x y 2 4的運算結果為 3 程式段int x 10 while x cout 4 函式呼叫語句fun a1,a2,a3,a4 中的引數個數是為 5 在int ...

實數經典試題

1.下列各組數中互為相反數的是 與 與 與 與2 2 下列說法正確的是 a.0沒有立方根 b.乙個數的立方根一定比這個數小 c.乙個數的立方根有兩個 d.乙個非零的數的立方根,仍然是乙個非零的數 3 立方根等於它本身的數有 a 1,0,1 b 0,1 c 0 d 1 4.當x 時,有意義。5.已知,...