1.文法G=({A,B,S},{a,b,c},P,S)其中Р为:S→Ac|aB
A→ab→bc
写出L(GISJ)的全部元素。
答案: L(G[S])={abc}
2.文法G[N]为:N→D|ND
D→0|1|2|3|4|5|6|7|8|9
G[N]的语言是什么?
答案:G[N]的语言是V+。V={0,1,2,3,4,5,6,7,8,9} (允许 0 开头的非负整数)
3.为只包含数字、加号和减号的表达式,例如 9-2+5,3-1,7 等构造一个文法
答案:G[S]: S→S+DIS-DID
D→0|1|2|3|4|5|6|7|8|9
4.证明文法G=({E,O}),{(,),+,*,v,d},P,E)是二义的,其中P为
E->EOE|(E)|v|d
O->+|*
答案:E=>EOE=>EOEOE
E=>EOE=>EOEOE
有两个不同的最左推导(两颗不同的语法树),所以是二义的。
5.已知文法 G[Z]:
Z::=a Z b
Z::=a b
写出 L(G[Z])的全部元素。
答案:L(G[Z])={
|n≥1}
6.已知文法 G:
<表达式>::=<项>| <表达式>+<项>
<项>::=<因子>| <项>*<因子>
<因子>::= (<表达式>) l i
试给出下述表达式的推导及语法树。
(1)i (2) (i) (3) i*i
(4)i*i+i (5) i+(i+i) (6) i+i*i
答案: