0

这是 BNF 形式的简单 DDC 编译器的模棱两可的语法:

<expr> ::= <term> | <expr> <op1> <expr>
<term> ::= <decimal arg> | <term> <op2> <decimal arg>
<decimal arg> ::= <digit> | <decimal arg> <digit>
<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<op1> ::= + | -
<op2> ::= * | /

我怎样才能使这个语法明确?

4

1 回答 1

0

我相信你的意思是第一条规则是

<expr> ::= <term> | <expr> <op1> <term>

这将使语法明确。

于 2013-01-18T06:41:26.990 回答