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

1.已知文法:

S->a|^|(T)

T->T,S|S

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

 

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

 

直接短语:^  a

句柄:^

短语:^  a  ^,a  (^,a)  T,(^,a)  (T,(^,a))

 

 

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

1anbn|n>=0}

2ambn|m>=n>=0}

3if语句

 

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

(2)G[S]:S->aSb|ab|a|ε

(3)G[S]:S->if(条件){(执行语句)}S|if(条件){(执行语句)}else{(执行语句)}

 

 

2019.9.25新加的作业

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

 

(1)(ab)n|n>=0}

(2)ambn|m,n>=1}

 

 

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

(2)G[S]:S->aSb|aS|Sb|ab

 

 

 

如果if语句的方法:

 

stmt->if expr then stmt

 

     | if expr then stmt else stmt

 

     | other

 

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

 

 

 

 

该句子有两棵不同的语法树说明了这个文法是二义的。

 

 

posted @ 2019-09-18 21:04  seele233  阅读(206)  评论(0编辑  收藏  举报