資源描述:
《長(zhǎng)安大學(xué)《編譯原理》習(xí)題4》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、習(xí)題4.2.1:考慮上下文無(wú)關(guān)文法:StSS+
2、SS*
3、q以及串a(chǎn)a+a*1)給出這個(gè)串的一個(gè)最左推導(dǎo)STSS*TSS+S*TaS+S*taa+s*->aa+a?2)給出這個(gè)串的一個(gè)最右推導(dǎo)STss*tSa*->SS+a*tSa+a*->aa+a*3)給出這個(gè)串的一顆語(yǔ)法分析樹4)這個(gè)文法是否是二義性的?證明你的回答不是二義性的,不存在兩棵不同的分析樹5)描述這個(gè)文法生成的語(yǔ)言只含有+和*,操作數(shù)均為a的算數(shù)表達(dá)式的后序遍歷習(xí)題4.4.3:計(jì)算練習(xí)4.2.1的文法的FIRST和FOLLOW集合FIRST(S)=aFOLLOW(S)
4、=$a+*習(xí)題4.6.5:說(shuō)明下面的文法:S^AaAbBbBaBtw是LL(1)的,但不是SLR(1)的證明:“ab”和“ba”可以由a或者b決定,故S(1)是LL(1)在SLR中,我們不能分解A或者B,這是一個(gè)規(guī)約,故S不是SLR(1)習(xí)題4.6.6:說(shuō)明下面文法S^SAA力->a是SLR(1),而不是LL(1)的。證明:可以求得FIRST(SA)=FIRST(A)={a},故該文法不是LL(1)文法構(gòu)建語(yǔ)法分析表如下(FOLLOW(A)=FOLLOW(S)={a,$})狀態(tài)ACTIONGOTOA$SA0S3121S3acc
5、42R2R23R3R3故該文法是SLR(1)文法習(xí)題4.7?4:說(shuō)明下面的文法SAabAc
6、de
7、bda力td是LALR(1)的,但不是SLR(1)的構(gòu)建SLR語(yǔ)法分析表如下(FOLLOW(A)={a,c})狀態(tài)ACTIONGOTOAbcd$SA0S3S4121acc2S53S764R5S8
8、R55R16S97S10
9、R5R58R39R210R4可以看到在圖中存在二義性的條目,故該文法不是SLR(l)文法構(gòu)造LALR(1)分析表如下狀態(tài)ACTIONGOTOabcd$SA0S3S4121acc2S53S764R5S8R55R16S
10、97S10R58R39R210R4可見(jiàn)該分析表中不存在二義性的條目,故該文法是LALR(l)文法習(xí)題4.7.5:說(shuō)明下面的文法St4°
11、bAc
12、Be
13、bBa力tdB->d是LR(1)的,但不是LALR(1)的證明:構(gòu)造LR(1)分析表如下狀態(tài)ACTIONGOTOAbCd$SAB0S3S51241acc2S63S9784S105R5R66R17Sil8S129R6R510R311R212R4可見(jiàn)該分析表中不存在二義性的條目,故該文法是LR(1)文法構(gòu)造LALR(l)語(yǔ)法分析表如下狀態(tài)ACTIONGOTOabcd$SAB0S3S591
14、241acc2S63S9784S95R5
15、R6R5
16、R66R17S108Sil9R310R211R4可見(jiàn)該語(yǔ)法分析表中存在有二義性的條目,故該文法不是LALR(l)文法