回 帖 发 新 帖 刷新版面

主题:求助一题!!急啊!!

G[S]:
S->bAn
A->B|A;B
B->C|D
C->x
D->E|EeB
E->FC
F->iyt
先将G改成LL1文法
然后在编程,用C++!

回复列表 (共2个回复)

沙发

改成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}
将以上进行编程!

板凳

也就是说:把A→B|A;B消除递归,把D→E|EeB提左公因子就转换成了LL(1)文法,再进行编程就行了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册