0

我如何将其解释为 ENBF 语法?

<assign>--> <id> = <expr>

<id>--> A | B | C

<expr> --> <expr> * <expr>

<expr> --> <expr> + <expr>

| <id> + <expr>

|( <expr> )

| <id>

我可以使用这个语法生成任何语句的解析树和推导,但是在使用 EBNF 时遇到了问题。

4

1 回答 1

0
<assign>--> <id> = <expr>

Anassign是序列:id等号expr

<id>--> A | B | C

Anid是 之一ABC

<expr> --> <expr> * <expr>
<expr> --> <expr> + <expr>
| <id> + <expr>    
|( <expr> )    
| <id>

表达式可以是:

  1. 两个表达式的乘积(中缀符号)
  2. 两个表达式的加法(中缀表示法)
  3. 添加标识符和表达式(这是添加两个表达式的特殊情况,其中第一个表达式只是<id>
  4. 带括号的表达式。
  5. 一个标识符。
于 2013-03-18T15:52:12.900 回答