主题:求助一题!!急啊!!
zly1117
[专家分:0] 发布于 2005-11-10 14:26:00
G[S]:
S->bAn
A->B|A;B
B->C|D
C->x
D->E|EeB
E->FC
F->iyt
先将G改成LL1文法
然后在编程,用C++!
回复列表 (共2个回复)
沙发
zly1117 [专家分:0] 发布于 2005-11-10 14:28:00
改成LL1后,就是
SELECT(S->bAn)={b #}
SELECT (A->BA’)={x i}
SELECT (A’ ->;BA’)={;}
SELECT (A’ ->ε)={n}
SELECT (B->C)={x}
SELECT (B->D)={i}
SELECT (C->x)={x}
SELECT (D->EG)={ i}
SELECT (G->ε)={ ; n}
SELECT (G->eB)={e}
SELECT (E->FC)={ i}
SELECT (F->iyt)={ i}
将以上进行编程!
板凳
学妹 [专家分:0] 发布于 2005-11-21 09:23:00
也就是说:把A→B|A;B消除递归,把D→E|EeB提左公因子就转换成了LL(1)文法,再进行编程就行了。
我来回复