LR1語法分析C++實現

文章才寫了點開始,後面會慢慢修改完整的,對LR1語法分析感興趣的可以關注一下(吐槽一下,CSDN的流程圖是真心難用,線總是畫不對)

一 流程

Created with Raphaël 2.1.2開始cluster中添加初始項目集{{{{0,0,{'#'}}}}}遍歷完cluster中的元素?結束展開當前項目集set按項目符號生成新項目集合生成移進表生成歸約表(包括接受表)處理衝突yesno

二 類型

語法

項目集簇


三 構造項目集簇

衝突處理

  • 衝突處理的兩個原則:
  1. 若優先級不同,採用優先級高的
  2. 優先級相同,查看符號的結合性來決定移進(右結合,默認)還是歸約(右結合)

四 使用項目集簇分析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章