高手帮忙做下编译原理的题目

请高手帮忙做下,要考试了,这些都不会,感觉应该是重点,希望大家帮帮我啊

跪谢了,会做的可以发到我邮箱kai0001@qq.com
能做一个是一个,大家帮帮我啊
我实在是只有100分了,请大家帮帮我吧

简答题
1、已知文法G(E)
E→E+E|E*E|(E)|i
给出句型 (i*i+E) 的最左推导及语法树,并指出这个句型的所有短语和句柄。

2、构造产生下面语言的文法:{anbn|n≥0}
解:注意:文法的每个句子中a和b的个数必须相同。
S ® aSb
S ® ε

3、已知文法G(S)
Z→aA
A→aA|bB
B→bA|ε
对该文法构造相应的状态转换图。

4、已知文法G(S)
S→ aS | bA |b
A → aS
构造该文法相应的正规式。
解:首先,给出相应的正规式方程组:
S=aS+bA+b (1)
A=aS (2)
解方程组,如下:
将(2)代入(1)的A得: S=aS+baS+b=(a+ba)S+b
故:S=(a+ba)*b=(a|ba)*b
因此,文法G[S]与正规式(a|ba)*b等价。

5、翻译下列语句为三元式序列。
while a<b do
if c<d then x:=y+z
else x:=y-z

6、将下面文法改造成LL(1)文法
A →Ac|Aad|bd|be
解:消去直接左递归后文法改写为
A →bdA’|beA’ (1)
A’→cA’|adA’|ε (2)
对(1) 提取公因式b,消除回溯改写为:
A →bB
B →dA’| eA’
消除回溯和左递归后得到等价的LL(1)文法为:
A →bB
B →dA’| eA’
A’→cA’|adA’|ε

综合题
1、设有文法G3[E]:
E→E - E | E ÷ E | (E) | i
证明该文法是二义性的并构造一个与该文法等价的无二义性的新文法。
解题思路:
证明二义性:给出一个句子,如 i-i÷i,画出该句子的两个不同的语法树。
构造新文法思路:让÷优先级比-高,通过设置新的非终结符T表示减法因子,F表示除法因子。显然÷的两操作数只能为i或(E),除法因子F→ (E) | i。对连除,如(E)÷i÷i,在文法中用左递归表示,即T→ T ÷ F。-的两操作数为减法因子,对连减,在文法中用左递归表示,即E→ E - T。通过这种设置优先级使得总是先计算÷,再计算-,消除了二义性。得到新文法如下:
E→ E - T
T→ T ÷ F
F→ (E) | i

2、将下图所示的NFA确定化和最小化。

3、设文法G(S):
E → T │E+T│ E-T
T → F │ T*F│ T/F
F →(E)│i
(1) 消除左递归;
(2) 构造相应的FIRST和FOLLOW集合;
(3) 构造预测分析表。

SORRY.我没有学过,真的帮不了你.我会找人帮你的
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-01-15
SSSSSS
相似回答