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はシーケンスです: idequals-sign expr

<id>--> A | B | C

AnidABまたはC

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

式は次のとおりです。

  1. 2 つの式の積 (中置表記)
  2. 二式の加算(中置記法)
  3. 識別子と式の追加 (これは 2 つの式の追加の特定のケースで、最初の式はちょうど です<id>)
  4. 括弧付きの式。
  5. 識別子。
于 2013-03-18T15:52:12.900 に答える