1.文法G(Z):Z->aZb|ab定义的是什么样的语言?
答:文法G(Z)有两条产生式:(1) Z→aZb 和 (2) Z→ab ,通过对第一个产生式使用n-1次,然后使用第二个产生式一次,得到:
Z => aZb => aaZbb => ... => an-1Zbn-1 =>anbn
因此,文法G(Z):Z->aZb|ab定义的语言是 L(G[Z])={anbn|n>=1}
2.写出教材22页例2.2中标识符的文法四元组形式。
答:G = (VN, VT, P, S)。
VN = {I(标识符), L(字母), D(数字)},VT = {a, b, c, ... , x, y, z, 0, 1, 2, ... , 9}
P = {<I>→<L>
<I>→<I><L>
<I>→<I><D>
<L>→a
<L>→b
.
.
.
<L>→z
<D>→0
<D>→1
.
.
.
<D>→9}
S = <I>
3.写出下列表达式的最左推导、最右推导和语法树。
G(E):
E=> E + T | T
T=>T * F | F
F=>(E)| i
- i*i+i
- i+i*i
- i+(i+i)
注意观察最左和最右推导过程的不同,以及语法树的异同。