语法树,短语,直接短语,句柄

1.已知文法:

S->a|^|(T)

T->T,S|S

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

 推导步骤为:

S=> ( T ) => ( T , S ) =>  ( T ,( T ) ) =>  ( T ,( T , S ) ) => ( T ,( T , a ) ) => ( T ,( S , a ) ) => ( T ,( ^ , a ) ) 

画出语法树为:

      

该语法树的 6 个短语为: ( T ,( ^ , a ) )  ;  T ,( ^ , a )  ;  ( ^ , a )  ;   ^ , a  ;  ^  ;  a  .

直接短语 :      ^  ;    a    .

句柄   :   ^  .(最左边的只包含相邻父子节点的短语)

 

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

{anbn|n>=0}

{ambn|m>=n>=0}

if语句

 

{anbn|n>=0}  : S -> aSb  |  ab  |  ε

{ambn|m>=n>=0}  : 

S  -> AB

A -> aA | ε

B -> Bb | ε

  if语句   :   

stmt ->  if expr  then stmt  |  if expr then stmt else stmt | other

分析句子if E1 then if E2 then S1 else S2:

语法树一:

语法书二:

句子if E1 then if E2 then S1 else S2 为二义性句子。

答:

短语:if E1 then if E2 then S1 else S2 , if E2 then S1

直接短语:E1 ,E2 ,S1 ,S2 

句柄:E1

posted @ 2019-09-19 09:19  皎月星辰  阅读(1031)  评论(0编辑  收藏  举报