2023年編譯原理期中試題

2022-12-03 18:57:03 字數 2771 閱讀 9974

期中測試題

一、 填空題(每空1分,共15分)

1、文法的型別有 4 種, 單詞用 3 型文法描述。

2、你學過的語法分析演算法主要有 ll(1) 、簡單優先、算符優先、 lr(0) 、 slr(1) 、 lr(1)。

3、程式語言的發展帶來了日漸多變的執行時儲存管理方案,主要分為兩大類,即靜態儲存分配方案和動態儲存分配方案。

4、簡單優先分析法歸約的物件是控制代碼 ,算符優先分析法歸約的物件是符號串 。

5、編譯程式分為6個階段分別是: 詞法分析、 語法分析 、 語義分析、中間**生成、**優化、目標**生成。

6、對編譯程式而言,輸入資料是源程式,輸出結果是單詞符號 。

7、你所知道的詞法分析和語法分程式自動構造工具有 lex yacc

8、c語言執行時棧式記憶體分配的活動記錄內容一般包括

9、自下而上語法分析方法lr(0)與slr(1)之間的關係為

10、表示式(a+b)*c的逆波蘭表示為: ab+c

二、 選擇題(每題2分,共20分)

1、哪個不是dfa的構成成分( d)

a、 有窮字母表b、初始狀態集合

c、 終止狀態集合d、有限狀態集合

2、詞法分析器的輸入是(b )

a、單詞符號串 b、源程式

c、語法單位 d、目標程式

3、在詞法分析階段不能識別的是(c )

a、識別符號b、運算子

c、四元式d、常數

4、自上而下語法分析的主要動作是(b )

a、移進b、推導

c、規約d、匹配

5、文法[s]為s→ab|bc,a→ε|b,b→ε|ad,c→ad|b,d→as|c,follow(a)為(a )

a、 c.、

6、.設有文法g[s]: s→ap|bq,a→a|ca,b→b|db ,則first(ap)為(c )

a、 b、 c、 d、 其他

7、中間**生成時所依據的是(c )

a、語法規則 b、 詞法規則

c、語義規則 d、等價變換規則

8、在編譯程式中與生成中間**的目的無關的是(d )

a、便於目標**優化b、便於儲存空間的組織

c、便於目標**的移植d、便於編譯程式的移植

9、乙個s屬性文法一般採用的語法制導翻譯方法(d )。

a. ll(1b. 算符優先

c、lr方法d.以上三種都可以

10、中間**是介於源語言程式和什麼之間的一種**(d )

a、源**b、機器語言

c、組合語言d、 目標**

三、綜合題(共65分)

1、構造正規式1(0︱1)*101的dfa。(5分)

2. 判斷文法g[s]:s→mh|a h→lso|ε k→dml|ε l→ehf m→k|blm是否是ll(1)文法,如果是,構造其ll(1)**分析表(10分)

3.文法g[s ] (10分)

(1) s→aacbe

(2) a→b

(3) a→ab

(4) b→d

(1)構造文法的lr(0)分析表;(5分)

(2)給出分析輸入串abbcde#是否為句子的lr(0)分析過程。(5分)

4. (共10分)對算數表示式文法g[e]:

e→e+t|t t→t*f|f f→(e)|i

(1) 構造算符優先關係表和lr分析表;(5分)

(2) 分別使用兩種表對分析符號串i+i*i#是否為該文法句子。(5分)

5. (共10分)證明任何slr(1)文法一定是lr(1)文法。

6.(共10分)(1)將語句if w<1 then a=b*c+d else while( a<0 ) do a=a-1 ;翻譯為四元式序列(5分)

(2)採用語法制導翻譯思想,表示式e的值描述如下:(5分)

s』eprint(eval)

e e1+ e2 e val := e1 val+ e2 val

e e1* e2 e val := e1 val* e2 val

e (e1e val := e1 val

e ie val := ilexval

給出表示式(6+3)*8+20的lr分析語法樹並在各結點註明語義值。

7.**區域性優化優化(5分)

g:① t0=3.14② t1=2*t0

③ t2=r+r ④ a=t1*t2

⑤ b=a ⑥ t3=2*t0

⑦ t4=r+r ⑧ t5=t3*t4

⑨ t6=r-r ⑩ b=t5*t6

假設t0、t1、t2、t3、t4、t5、t6在後面的基本塊中都不使用。

8. (共5分)對如下程式,當主程式呼叫過程語句y時,給出以下時刻資料棧的情況。

(1)已經開始但尚未執行完標號為15的語句;(5分)

(2)已經開始但尚未執行完標號為16的語句;(5分)

program main;

var a,b,c:real;

procedure y;

var d,e;real;

procedure x;

var f,g:real;

begin… end;{x}

procedure z;

var h,i,j:real;

begin… end;{z}

begin

…15:y;…

16:z;…

end;{y}

begin…x;…end.{main}

編譯原理實驗考試題

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

規劃期中試題

瑞金市職業中等專業學校2011 2012年度 第二學期 職業生涯規劃 期中試卷 開卷考試 班級姓名學號分數 一 選擇題 每小題3分,共30分 1 中職生在校期間對待學習的態度正確的是 a 學會做人,學好技術 b 學點技術,其他無所謂 c 過一天算一天 d 能拿到畢業證就可以 2 下列對職業的理解,不...

期中試題 二

三年級語文第一學期期中考試模擬試題 二 2019.10 一 看拼音寫詞語 10分 xi n y n ti o w l ng lu n y n li o w i q n l x ng b o f ng qi ng b r ng m o b y 二 給加點字選擇正確的讀音 6分 坪垻 b b i 幾乎 ...