日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【最新合集】编译原理习题(含答案)_8-10语法制导翻译_MOOC慕课 哈工大陈鄞

發布時間:2024/2/28 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【最新合集】编译原理习题(含答案)_8-10语法制导翻译_MOOC慕课 哈工大陈鄞 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【最新合集】MOOC哈工大陳鄞 編譯原理答案全集——>傳送門


1 文法G[S]及其語法制導翻譯定義如下:

產生式 語義動作

S’ → S print( S.num)

S → ( L) S.num = L.num +1

S → a S.num = 0

L →L( 1), S L.num = L( 1).num + S.num

L →S L.num = S.num

若輸入為( a,( a)),且采用自底向上的分析方法,則輸出為( )。

A. 0

B. 1

C. 2

D. 4

?
?

2 有文法G及其語法制導翻譯如下所示( 語義規則中的*和+分別是常規意義下的算術運算符):

E→E( 1) ∧ T {E.val = E( 1).val * T.val}

E→T {E.val = T.val}

T→T( 1)# n {T.val = T( 1).val + n.val }

T→ n {T.val = n.val}

則分析句子3 ∧ 3 # 4其值為()。

A. 10

B. 21

C. 14

D. 24

?
?

3 有一語法指導定義如下:

S→bAb print “1”

A→( B print “2”

A→a print “3”

B→aA) print “4”

若輸入序列為b( a( a( aa)))b,且采用自底向上的分析方法,則輸出序列為( )。

A. 32224441

B. 34242421

C. 12424243

D. 34442212

?
?

4 有一語法指導定義如下,其中+表示符號連接運算:

S→B print B.vers

B→a B.vers=a

B→b B.vers=b

B→Ba B.vers=a+B.vers

B→Bb B.vers=b+B.vers

若輸入序列為abab,且采用自底向上的分析方法,則輸出序列為( )。

A. aabb

B. abab

C. bbaa

D. Baba

?
?

5 使用( )可以定義一個程序的意義。

A. 語義規則

B. 詞法規則

C. 產生規則

D. 詞法規則

?
?
6 以下說法正確的是( )。

A. 語義規則中的屬性有兩種:綜合屬性與繼承屬性

B. 終結符只有繼承屬性,它由詞法分析器提供

C. 非終結符可以有綜合屬性,但不能有繼承屬性

D. 屬性值在分析過程中可以進行計算,但不能傳遞

?
?

7終結符具有( )屬性。

A.抽象

B.傳遞

C.綜合

D.繼承

?
?

語法制導翻譯_2

1 關于將L-SDD轉換為SDT的規則,以下選項中,正確的是( )。

A. 將計算某個非終結符號A的繼承屬性的動作放在產生式的最后

B. 將計算一個產生式左部符號的繼承屬性的動作放置在產生式的最后

C. 將計算某個非終結符號A的繼承屬性的動作插入到產生式右部中緊靠在A的本次出現

之前的位置上

D. 將每個語義動作都放在產生式的最后

?
?
2 以下說法不正確的是( )。

A. 如果一個S-SDD的基本文法可以使用LR分析技術,那么它的SDT可以在LL語法分析

過程中實現

B. 如果一個S-SDD的基本文法可以使用LR分析技術,那么它的SDT可以在LR語法分析

過程中實現

C. 如果一個L-SDD的基本文法可以使用LL分析技術,那么它的SDT可以在LL語法分析

過程中實現

D. 如果一個L-SDD的基本文法可以使用LL分析技術,那么它的SDT可以在LR語法分析

過程中實現

?
?

3 以下說法不正確的是( )。

A. 使用語法制導翻譯方案的編譯程序能同時進行語法分析和語義分析

B. 語法制導翻譯方案( SDT )是在產生式右部中嵌入了程序片段( 稱為語義動作)的CFG

C. SDD可以看作是SDT的具體實施方案

D. 將一個S-SDD轉換為SDT的方法是:將每個語義動作都放在產生式的最后

?
?

4 在非遞歸的預測分析過程中進行翻譯,以下說法不正確的是( )。

A. 要想在非遞歸的預測分析過程中進行翻譯,需要擴展語法分析棧

B. 非終結符A的繼承屬性和綜合屬性的計算時機不同

C. 將非終結符A的繼承屬性和綜合屬性存放在不同的記錄中

D. 綜合屬性在A出現之前就可以計算

?
?

5 在非遞歸的預測分析過程中進行翻譯,以下說法不正確的是( )。

A. 要想在非遞歸的預測分析過程中進行翻譯,需要擴展語法分析棧

B. 綜合記錄用于存放非終結符綜合屬性值

C. 動作記錄,用來存放指向將被執行的語義動作代碼的指針

D. 綜合屬性存放在A本身的記錄中

?
?

6 在非遞歸的預測分析過程中進行翻譯,以下說法不正確的是( )。

A. 分析棧中的每一個記錄都對應著一段執行代碼

B. 綜合記錄出棧時,要將綜合屬性值復制給后面特定的語義動作

C. 變量展開時( 即變量本身的記錄出棧時),如果其含有繼承屬性,則要將繼承屬性值

復制給后面特定的語義動作

D. 繼承屬性在A的兒子們都分析完畢之后才能計算

?
?

語法制導翻譯_3

1 在遞歸的預測分析過程中進行翻譯,以下說法不正確的是( )。

A. 可以將一個遞歸的預測分析器擴展為一個翻譯器

B. 在語法分析器中,每個非終結符A對應一個過程,在做語義分析時,要將過程擴展成

一個函數

C. 以繼承屬性作為函數的參數,以綜合屬性作為函數的返回值

D. 以綜合屬性作為函數的參數,以繼承屬性作為函數的返回值

?
?

2 在遞歸的預測分析過程中進行翻譯,以下說法不正確的是( )。

A. 在語法分析器中,每個非終結符A對應一個過程,在做語義分析時,要將過程擴展成

一個函數

B. 對出現在A產生式右部中的每個文法符號的每個屬性都設置一個局部變量

C. 如果非終結符含有繼承屬性,需要將函數調用的返回值賦給相應的局部變量

D. 對于產生式右部的每個動作,將其代碼復制到語法分析器,并把對屬性的引用改為對

相應變量的引用

?
?
3 以下說法不正確的是( )。

A. 語法制導翻譯方案只限自底向上的分析方法

B. 給定一個以LL文法為基礎的L-SDD,可以修改這個文法,并在LR語法分析過程中計

算這個新文法之上的SDD

C. 對于這個內嵌的語義動作,向文法中引入一個標記非終結符M來替換它

D. 每個標記非終結符M對應著一個空產生式M→ ε,該產生式對應著一段語義子程序,

它的任務就是完成M所替換的那個語義動作要完成的工作

?
?
4 給定一個以LL文法為基礎的L-屬性定義,可以修改這個文法,并在LR語法分析過程中計算這個新

文法之上的SDD。

A. 對

B. 錯

?
?

5 在各個非終結符之前放置語義動作來計算它的繼承屬性, 并在產生式后端放置語義動作計算綜合屬性。

A. 對

B. 錯

?
?

6 在各個非終結符之前放置語義動作來計算它的綜合屬性, 并在產生式后端放置語義動作計算繼承屬性。

A. 對

B. 錯

?
?

7 對每個內嵌的語義動作,向文法中引入一個標記非終結符來替換它。每個這樣的位置都有一個不

同的標記,并且對于任意一個標記M都有一個產生式M→ε。

A. 對

B. 錯


整理不易, 如果對你產生了幫助, 還請點個贊哦~ Thanks?(・ω・)ノ

總結

以上是生活随笔為你收集整理的【最新合集】编译原理习题(含答案)_8-10语法制导翻译_MOOC慕课 哈工大陈鄞的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。