0
我有這樣的語法EBNF符號:擴展BNF到BNF翻譯
expr -> expr (opt1 | opt2 | opt3) expr
,我想將它轉換爲BNF野牛使用它,但我得到轉變/減少錯誤,在此:
expr : expr opt1 expr | expr opt2 expr | expr opt3 expr
我想我誤解了沿途的東西。任何幫助?
由於
我有這樣的語法EBNF符號:擴展BNF到BNF翻譯
expr -> expr (opt1 | opt2 | opt3) expr
,我想將它轉換爲BNF野牛使用它,但我得到轉變/減少錯誤,在此:
expr : expr opt1 expr | expr opt2 expr | expr opt3 expr
我想我誤解了沿途的東西。任何幫助?
由於
如何
expr: expr optexpr expr
optexpr: opt1 | opt2 | opt3
移位/減少誤差修改是由於重疊EXPR前綴。通過引入另一個定義,expr的解析變得毫不含糊。
它解決。謝謝 – Nitrate 2012-04-02 15:15:09