1. 文法G=({A,B,C},{a,b,c},P,S),其中P为
S->Ac|aB
A->ab
B-bc
写出L(G[S])的全部元素。
解:L(G[S])的全部元素为{a,b,c}。
2. 文法G[N]为
N->D|ND
D->0|1|2|3|4|5|6|7|8|9|
G[N]的语言是什么?
解:G[N]的语言是以数字表示的数字串。
3.为只包含数字、加号和减号的表达式,例如9-2+5、3-1、7等构造一个文法。
解:A->ATA
A->D|BD
B->BD|C
C->1|2|3|4|5|6|7|8|9
T->+|-
D->0|1|2|3|4|5|6|7|8|9
5.已知文法G[Z]:
Z: := a Z b
Z: :=a b
写出L(G[Z])的全部元素。
解:L(G[Z])的全部元素为{
| n
1}
6.已知文法G:
<表达式>: := <项> | <表达式> + <项>
<项>: := <因子> | <项> * <因子>
<因子>: := (<表达式>) | i
试给出下列表达式的推导和语法树。
(4)i * i + i
(5)i + ( i+ i )
解:(4)i * i + i
最左推导:<表达式> => <表达式> + <项> => <项> + <项>
=> <项> * <因子> + <项> => <因子> * <因子> + <项>
=> i * <因子> + <项> => i * i + <项>
=> i * i + <因子> => i * i + i
最右推导:<表达式> => <表达式> + <项> => <表达式> + <因子> => <表达式> + i
=> <项> + i = > <项> * <因子> + i => <项> * i + i => <因子> * i + i => i * i + i