作业三 语法树,短语,直接短语,句柄

1.已知文法:

S->a|^|(T)

T->T,S|S

分析句型(T,(^,a)),求全部的短语、直接短语和句柄。

 答:由题意可得语法树如图: 

                                         

  由语法树可知全部短语:(T,(^,a))       T,(^,a)        (^,a)        ^,a        ^          a

        直接短语:^      a

          句柄:^

2.构造上下文无关文法,描述语言:

  (1).   {anbn|n>=0}

  (2).   {ambn|m>=n>=0}

  (3).   if语句

  (4).{(ab)n|n>=0}

  (5).{ambn|m,n>=1}

答:(1). G[S]: S->aSb | ab | ε 

     (2). G[S]: S->AB

        A->aA | a |  ε

        B->bB | b |  ε

  (3). if语句->if<条件>then<语句> | if<条件>then<语句>else<语句> | other

  (4).G[S]:S->abS | ab| ε

       (5).G[S]:S->AB

      A->aA | a

      B->bB | b

3.如果if语句的方法:

stmt->if expr then stmt

     | if expr then stmt else stmt

     | other

句子if E1 then if E2 then S1 else S2是否有两棵不同的语法树?说明了什么?

答:由题意可得语法树如下;

                 

                        语法树1       

             

                               语法树2                                                                                                                    

  由上可得句子if E1 then if E2 then S1 else S2有2颗不同的语法树,所以说明对应的这个文法是二义的。
                   

原文地址:https://www.cnblogs.com/hs01/p/11540804.html