文法G[E]分析表分析字符串(i+)-编译原理
生活随笔
收集整理的這篇文章主要介紹了
文法G[E]分析表分析字符串(i+)-编译原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
已知文法G[E]分析表(如下所示)
)
下面來分析(i+)
首先在分析區填入#E,余留下輸入串為(1+)#,所用產生式查上表:E行(列,所以為:E->TE'
如下圖所示:
隨后E出棧,所用產生式E->TE'中的TE'由后往前依次入棧(先E'然后T)
第二步的分析棧為#E'T,余留輸入串為(1+)#,這時候所用產生式查T'行(列,所以是:T->FT'
如下圖所示:
然后T出棧,T'入棧F入棧
結果如下:
隨后F出棧,)入棧E入棧(入棧
這時我們看見棧頂為(,余留字符串的首位也是(
所以呢,同時出棧并且所用產生式不用填
如下所示:
依次如下分析,分析到第九步時,我們發現第九步的所用產生式為F->ε
第十步時這個ε就不用入棧了。
如下所示:
到最后,把(i+)字符串分析完了,但分析棧沒有結束,所以所產生式失敗
如下所示:
下面給出一個成功的例子
分析字符串i+i*i
如下所示,在此就不具體分析了
總結
以上是生活随笔為你收集整理的文法G[E]分析表分析字符串(i+)-编译原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql怎么更改属性_MySQL 中怎
- 下一篇: C/C++ OpenCV均值滤波