正文描述:《第6章自底向上优先分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章自底向上优先分析P122练习1、已知文法G[S]为:Sàa
2、^
3、(T)TàT,S
4、S(1)计算G[S]的FIRSTVT和LASTVT。(2)构造G[S]的算符优先关系表并说明G[S]是否为算符优先文法。(4)给出输入串(a,a)#和(a,(a,a))#的算符优先分析过程。【解】(1)FIRSTVTLASTVTSa、^、(a、^、)T,、a、^、(,、a、^、)(2)算符优先关系a(),^#a≯≯≯(≮≮=≮≮)≯≯≯,≮≮≯≯≮^≯≯≯#≮≮≮(4)句子(a,a)#分析过程如下:步骤栈优先关系当前符号剩余输入串移进或归约1##≮((a,a)#移进2#((≮aa,a)#移进3#(aa
5、≯,,a)#归约4#(F(≮,,a)#移进5#(F,,≮aA)#移进6#(F,aA≯))#归约7#(F,F,≯))#归约8#(F(≡))#移进9#(F))≯##归约10#F#≡##接受句子(a,(a,a))分析过程如下:步骤栈优先关系当前符号剩余输入串移进或归约1##≮((a,(a,a))#移进2#((≮aa,(a,a))#移进3#(aa≯,,(a,a))#归约4#(F(≮,,(a,a))#移进5#(F,,≮((a,a))#移进6#(F,((≮aa,a))#移进7#(F,(aa≯,,a))#归约8#(F,(F(≮,,a))#移进9#(F,(F,,≮aa))#移进10#(F,(F,aa≯)
6、))#归约11#(F,(F,F,≯)))#归约12#(F,(F(≡)))#移进13#(F,(F))≯))#归约14#(F,F,≯))#归约15#(F(≡))#移进16#(F))≯##归约17#F#≡##接受4、已知文法G[S]为:S->S;G
7、GG->G(T)
8、HH->a
9、(S)T->T+S
10、S(1)构造G[S]的算符优先关系表,并判断G[S]是否为算符优先文法。(2)给出句型a(T+S);H;(S)的短语、句柄、素短语和最左素短语。【解】(1)FIRSTVT(S)={;(a}FIRSTVT(G)={(a}FIRSTVT(T)={+;(a}LASTVT(S)={;a)}LASTVT(G)
11、={a)}LASTVT(T)={+;a)}>关系:LASTVT(S)>;LASTVT(G)>(LASTVT(T)>)LASTVT(S)>)LASTVT(T)>+<关系;(G)(+<..>.>(<.<.<..>).>.>.>a.>.>.>+<.<..><..>.>#<.<.<.<.<.因为文法中任意两个终结符之间只存在一种关系,因此该文法为算符优先文法。(2)建立句型的语法子树如下:短语为
12、:a,T+S,H,(S),a(T+S),a(T+S);H,a(T+S);H;(S)句柄:a素短语:a,T+S,(S)最左素短语:a
显示全部收起