2019/09/18-作业03(更新于2019/09/25)
1.已知文法:
S->a|^|(T)
T->T,S|S
分析句型(T,(^,a)),求全部的短语、直接短语和句柄。
答:语法树如下
全部短语:^ a ^,a (^,a) T,(^,a) (T,(^,a))
直接短语:^ a
句柄:^
2.构造上下文无关文法,描述语言:
(1) {anbn|n>=0}
(2) {ambn|m>=n>=0}
(3) if语句
追加:
(4){(ab)n|n>=0}
(5){ambn|m,n>=1}
if语句
答:(1). G[S]: S->aSb | ab | ε
(2). G[S]: S->aSb | a | ε
(3). if语句->if<条件>then<语句> | if<条件>then<语句>else<语句>
(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: