《編譯原理第六章答案-編譯原理第六章》由會(huì)員分享,可在線閱讀,更多相關(guān)《編譯原理第六章答案-編譯原理第六章(9頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第6 章 自底向上優(yōu)先分析
第1 題
已知文法G[S]為:
S→a|∧|(T)
T→T,S|S
(1) 計(jì)算G[S]的FIRSTVT 和LASTVT。
(2) 構(gòu)造G[S]的算符優(yōu)先關(guān)系表并說(shuō)明G[S]是否為算符優(yōu)先文法。
(3) 計(jì)算G[S]的優(yōu)先函數(shù)。
(4) 給出輸入串(a,a)#和(a,(a,a))#的算符優(yōu)先分析過(guò)程。
答案:
文法展開(kāi)為:
S→a
S→∧
S→(T)
T→T,S
T→S
(1) FIRSTVT - LASTVT 表:
表中無(wú)多重人口所以是算符優(yōu)先(OPG)文法。
友情提示:記得增加拓廣文法 S`→#S#,所以# FIRST
2、VT(S),LASTVT(S) #。
(3)對(duì)應(yīng)的算符優(yōu)先函數(shù)為:
Success!
對(duì)輸入串(a,(a,a))# 的算符優(yōu)先分析過(guò)程為:
Success!
第2 題
已知文法G[S]為:
S→a|∧|(T)
T→T,S|S
(1) 給出(a,(a,a))和(a,a)的最右推導(dǎo),和規(guī)范歸約過(guò)程。
(2) 將(1)和題1 中的(4)進(jìn)行比較給出算符優(yōu)先歸約和規(guī)范歸約的區(qū)別。
答案:
(2)算符優(yōu)先文法在歸約過(guò)程中只考慮終結(jié)符之間的優(yōu)先關(guān)系從而確定可歸約串,而與
非終結(jié)符無(wú)關(guān),只需知道把當(dāng)前可歸約串歸約為某一個(gè)非終結(jié)符,不必知道該非終結(jié)符的名
字
3、是什么,因此去掉了單非終結(jié)符的歸約。
規(guī)范歸約的可歸約串是句柄,并且必須準(zhǔn)確寫出可歸約串歸約為哪個(gè)非終結(jié)符。
第3題:
有文法G[S]:
SV
VT|ViT
TF|T+F
F)V*|(
(1) 給出(+(i(的規(guī)范推導(dǎo)。
(2) 指出句型 F+Fi(的短語(yǔ),句柄,素短語(yǔ)。
(3) G[S]是否為OPG?若是,給出(1)中句子的分析過(guò)程。
因?yàn)樵撐姆ㄊ荗P,同時(shí)任意兩個(gè)終結(jié)符的優(yōu)先關(guān)系唯一,所以該文法為OPG。
(+(i(的分析過(guò)程
第4題
文法G[S]為:
S→S;G|G
G→G(T)|H
H→a|(S)
T→T+S|S
(1) 構(gòu)造G[S]的算符優(yōu)先關(guān)系表,并判斷G[S]是否為算符優(yōu)先文法。
(2) 給出句型a(T+S);H;(S)的短語(yǔ)、句柄、素短語(yǔ)和最左素短語(yǔ)。
(3) 給出a;(a+a)和(a+a)的分析過(guò)程,說(shuō)明它們是否為G[S]的句子。
(4) 給出(3)中輸入串的最右推導(dǎo),分別說(shuō)明兩輸入串是否為G[S]的句子。
(5) 由(3)和(4)說(shuō)明了算符優(yōu)先分析的哪些缺點(diǎn)。
(6) 算符優(yōu)先分析過(guò)程和規(guī)范歸約過(guò)程都是最右推導(dǎo)的逆過(guò)程嗎?
答案:
(1)構(gòu)造文法G[S]的算符優(yōu)先關(guān)系矩陣: