編譯原理 期末考試題

2021-10-01 19:52:32 字數 3557 閱讀 6038

客觀題部分

語法分析器的主要功能是( d)

a.解釋什麼是語法

b.將輸入串翻譯成一定形式的中間**

c.從源程式中識別出-乙個個的單詞

d.從單詞流中識別出各類語法單位,並判斷輸入串是否符合語法規則

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

a.屬性文法

b.上下文無關文法

c.正規文法

d.算符優先文法

c語言,允許遞迴過程,還允許使用者動態地申請和釋放儲存空間,應採用以下哪種儲存分配策略( d)

a.靜態分配策略

b.棧試分配策略

c.堆式分配策略

d.以上都有

令文法g[s]為:s -> aabbd

a -> ab | a

b -> c | d

aabbcd是文法g的乙個句子,指出這個句子的控制代碼是(a)

a. a

b. c

c. d

d. ab

如果文法無二義性,則與最右推導互為逆過程的是( a)

a.規範歸約

b.最右歸約

c.最左推導

d.規範推導

活動記錄中靜態鏈的作用是(d)

a.用來指向靜態資料區

b.表明過程的巢狀層次

c.建立本過程和主調過程間的聯絡

d.用以實現對非區域性名字的訪問

區域性優化是 在什麼範圍內進行的優化? (c)

a.迴圈體

b.函式體

c. 基本塊

d.過程體

符號表的三種構造和處理方法為:線性查詢、二叉樹、(d)

a.折半技術

b.自適應技術

c. 逆序查詢技術

d. 雜湊技術

算符優先分析法採用的是( d)

a.自下而上的規範歸約

b.自頂向下的最左推導

c.自頂向下的規範推導

d.自下向上的最移進歸約

表示式ab-(c+d)的逆波蘭表示式是(b)

a. abcd+ -

b. ab*cd+ -

c. abcd+ *

d. abcd+ * -

已知文法g[s]為: s-> asbb | a 該 文法描述的語言是: ( d)

a.l=

b.l=

c.l=

d.l=

關係表示式e:a>b,用於控制語句中,可以翻譯成以下哪組四元式序列(b)

a.100(j>, a, b, e.false)

101(j, _, _, e.true)

b.100(j>, a, b, e.true)

101(j, _ , _, e.false)

c.100(j<, a, b, 103)

101(:=, 1, _, t)

102(j, _, _, 104)

104(:=, 0, _, t)

d.100(j<, a, b, 103)

101(:=, 0, _, t)

102(j, _, _, 104)

103(:=, 1, _, t)

區域性優化是在什麼範圍內進行的優化?(d)

a. 迴圈體

b. 函式體

c. 過程體

d.基本塊 判斷

高階程式語言的**在機器上執行可通過編譯方式或解釋方式實現,這兩種方式各有利弊。 正確

計算機只能識別機器**,所以只能用機器語言實現編譯程式。 錯誤

遞迴文法的語言既集。 正確

「遍"是對源程式或源程式的中間結果從頭到尾掃瞄- -次, 並做有關加工處理,生成新的中間結果或目標程式。乙個編譯程式所分遍數越多越好。 錯誤

過程的活動生存期是指從該過程體第一步操作到最後一步操作之 間的操作序。兩個過程的活動生存期或巢狀或不重疊。 正確

算符優先函式,如果有f(a)>g(b), 則必有a的優先順序高於b,且b的優先順序低於a。 錯誤

符號表分為兩大欄,名字欄和資訊欄,中名字欄是主欄。 正確

正規表示式與正規文法是不同的形式化描述工具,它們之間不存在等價性。 錯誤

素短語提-種特殊的短語,它不含其它素短語,且至少含有乙個終結符。正確

對於巢狀過程語言,可以利用巢狀層次顯示表實現非區域性名字的訪問。正確

中間**優化的目的是生成更有效的目標**。為了追求高效的目標**優化應不計代價。錯誤

主觀題部分

1.文法 g[d]:

d→tl 

t→i | r

l→l,x|x

消除該文法的左遞迴,構造ll(1)分析表。

解:

1. 消除左遞迴:

d->tl

t->i|r

l->xl'

l'->,xl'|ε

2. 構造first集和follow集:

x

first

followdt

ll』

4. 構造ll(1)分析法
ir

,x#d

d->tl

d->tl

tt->r

t->r

ll->xl』

l』l』->,xl』

l』-> ε

2.把下面的語句翻譯成四元式序列

其中b陣列是乙個10×20的二維陣列(下標都從1開始),每個元素所佔的空間w=4。

while(x<10)

解:

例:設 i1,i2的下界為low1,low2,陣列是n1×n2,每個元素佔w個單元,則

loc(a[i1,i2])=base+((i1-low1)*n2+i2-low2)*w = (i1 * n2+i2)w+(base-(low1n2+low2)*w)

其中varpart= (i1*n2+i2)w //可變部分

c=(low1n2+low2)*w)//常數部分

conspart=base-c//不可變部分

即位址 d= varpart+ conspart

則此題中:

i1=i2=1 ---- base=base ---- w=4

則:可變部分varpart=(i*20+j)4

不可變部分:conpart=base-(120+1)*4

100 (j< ,x , '10' , 102)

101 (j , _ , _ , 0)

102 (j> ,a, b, 104)

103 (j, _, _ ,105)

104 (+, x, '1', 107)

105 (=, base-(1*20+1)*4, (i*20+j)*4, t1)

106 (=, t1, _, x)

107(j, _, _, 100)

3.簡述:請談一談編譯技術有哪些應用

解:

期末考試題

1.假設屬性income的最大最小值分別是16000元和29000元。利用最大最小規範化的方法將屬性的值對映到0至1的範圍內。對屬性income的26000元將被轉化為 0.769 26000 16000 29000 16000 0.769 2.由8人組成的科研團隊的工資分別為 10,16,20,2...

Linux期末考試題庫(一)

在建立linux分割槽時,一定要建立 d 兩個分割槽 a.fat ntfs b.fat swap c.ntfs swap d.swap 根分割槽 在red hat linux 9 中,系統預設的 a 使用者對整個系統擁有完全的控制權。a.root b.guest c.administrator d....

Linux期末考試題庫(三)

存放linux基本命令的目錄是什麼 a a.bin b.tmp c.lib d.root 自由軟體的含義是 b a 使用者不需要付費 b 軟體可以自由修改和發布 c 只有軟體作者才能向使用者收費 d 軟體發行商不能向使用者收費 系統引導的過程一般包括如下幾步 a mbr中的引導裝載程式啟動 b 使用...