EBNF对语法的解释

时间:2013-03-18 15:49:29

标签: parsing tree ebnf

如何将其解释为ENBF语法?

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

<id>--> A | B | C

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

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

| <id> + <expr>

|( <expr> )

| <id>

我可以使用这个语法制作解析树和任何语句的派生,但是我遇到了EBNF问题。

1 个答案:

答案 0 :(得分:0)

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

assign是序列:id等于expr

<id>--> A | B | C

idABC

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

表达式可以是:

  1. 两个表达式的产物(中缀符号)
  2. 添加两个表达式(中缀符号)
  3. 添加标识符和表达式(这是添加两个表达式的特殊情况,其中第一个表达式只是<id>
  4. 带括号的表达式。
  5. 标识符。