我有这个用 BNF 写的语法。如何将其转换为 + 优先于 * 并强制 + 正确关联?
<assign> -> id = <expr>
<id> -> A | B | C
<expr> -> <expr> + term | <term>
<term> -> <term> * <factor> | <factor>
<factor> -> ( <expr> ) | <id>
这是我的解决方案:
<assign> -> id = <expr>
<id> -> A | B | C
<expr> -> <expr> * term | <term>
<term> -> <term> + <factor> | <factor>
<factor> -> ( <expr> ) | <id>
如何检查给定语法的正确性?任何的想法?
谢谢,