编译原理第三次作业

1.已知文法:

S->a|^|(T)

T->T,S|S

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

 由题目可知,语法树如下图所示:

 

 

 

所以此文法的

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

直接短语有:^    a

句柄是:^

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

1)aNbn|n>=0}

 S->aSb|ε an ,n>=0

2)ambn|m>=n>=0}

 S -> aS l A

 A -> aSb |a

   B->aSb|b

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

 A -> ab

 S -> (A)S | ε

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

   S -> aSb|aS|Sb|ab

3.如果if语句的方法:

stmt->if expr then stmt

     | if expr then stmt else stmt

     | other

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

语法树如图所示:

 

说明if语句具有二义性

 

posted @ 2019-09-19 18:47  Chock17  阅读(285)  评论(0编辑  收藏  举报