我有以下形式的生產:
Expr ---> Primary | UnaryOp Expr | Expr BinOp Expr | id=Expr | id[Expr]=Expr.
誰能幫助通過刪除我轉換成LL這(1)形式左遞歸??。我撞了我的哈德針對這一點,但我仍然不能得到它:(。以下是我的嘗試。
Expr ---> Primary Expr' | UnaryOp Expr Expr' | id=Expr Expr' | id[Expr]=Expr Expr'
Expr' ---> BinOp Expr Expr' | epsilon
是上述轉換正確??我在做什麼從這裏?
我用我在wikipedia發現了以下一般規則
A ---> Ab | B
轉換時:
A' ---> aA'
A ---> BA'
爲什麼你覺得寫一個解析器的功課?我爲自己和我的開源項目寫了大量的東西。編輯:我把它從你的答案中刪除。隨意恢復,如果你堅持:) – leppie 2011-02-04 06:01:23