編譯原理關(guān)于FIRST,FLLOW的問題。

2022-09-09 19:00

我對(duì)這兩個(gè)概念實(shí)在搞不清楚,也不會(huì)算,有那位老師會(huì)的,請(qǐng)賜教一些。隨便給個(gè)文法分析一下。
2022-09-09 23:43
求FIRST,FLLOW集合的過程是一個(gè)遞歸過程..描述出來很繁瑣的,
我打字慢......

編譯原理書上有算法的描述的..你自己理解一下,不難的...
不懂的地方最好問身邊的同學(xué)或老師...當(dāng)面講解比較清楚一點(diǎn).

給你個(gè)例子吧:
文法:
E->E+T|T
T->T*F|F
F->(E)|i
按照求文法FIRST,FLLOW的算法,F(xiàn)IRST(E)過程大概是:
1.FIRST(E)=FIRST(E) U FIRST(T) //E,T都是非終結(jié)符,所以
繼續(xù)求First

2.FIRST(T)=FIRST(T) U FIRST(F)//F,T都是非終結(jié)符,所以
繼續(xù)求First

3.FIRST(F)={(,i} //(,i是終結(jié)符,得出最后結(jié)果.

FIRST(E)={(,i}..

FIRST懂了的話,看FLLOW的算法也就好懂了...

還有什么問題的話...可以發(fā)消息給我..
更多回答
首先你必須明白follow的目的是求什么
follow是求非終結(jié)符后面緊跟的那個(gè)終結(jié)符
如果后面緊跟的那個(gè)符號(hào)是空那么繼續(xù)往后推一步
這樣就能找出后面的那個(gè)終結(jié)符
明白了這個(gè)再看看書上的例子就好懂了
熱門問答