3.5.7 按指定类型,给出语言的文法。 (1)L={aidj>i≥l}的上下文无关文法。
(2)字母表∑={a,b}上的同时只有奇数个a和奇数个b的所有串的集合的正规文法。 (3)由相同个数a和b组成句子的无二义文法。
3.5.8 下面的二义文法描述命题演算公式,为它写一个等价的非二义文法。 S→SandS|S or S|not S|p|q|(S)
3.5.9 有文法G:S→aAcB|Bd A→AaB|c B→bScA|b
(1)试求句型aAaBcbbdcc和aAcbBdcc的句柄; (2)写出句子acabcbbdcc的最左推导过程。
3.5.10 对文法G:E→E+T|T T→T*P|P P→i
(1)构造该文法的优先关系表(不考虑语句括号#),并指出此文法是否为算符优先文法;
(2)构造文法G的优先函数
3.5.11 在上一题中,如果将文法改为E→E+E|E*E|i,在不改动文法的情况下是否同样能构造出优先关系表?此外,针对例3.14中的文法与本例中的文法,对算符优先分析快于规范归约进行说明。
3.5.12 对于文法G[S]:
S→(L)|aS|a L→L,S|S (1)画出句型(s,(a))的语法树。
(2)写出上述句型的所有短语、直接短语、句柄和素短语。
3.5.13 构造算符文法G[H]的算符优先关系(含#)。 G[H]:H→H;M|M M→d|aHb
3.5.14 设有文法G[S]为: S→a|b|(A) A→SdA|S
(1) 完成下列算符优先关系表,见表3.6.并判断G[S]是否为算符优先文法。
(2)