質問

この表現を考慮してください:

3 + 2 + 2 * 2 = ?

それは14でしょうか?

役に立ちましたか?

解決

いいえ。それはあなたが左から右への評価で得られるものです。 LLパーサーは、LRパーサーと同じパースツリーを構築します。

  +
 / \
3   +
   / \
  2   *
     / \
    2   2

そしてそれをとして評価します

(+ 3 (+ 2 (* 2 2))

ご想像のとおり、これは9です。

LLパーサーの特別な点は、文法が制限されているため、限られた見た目でいつでも左に進むことができるということです。これにより、説明が簡単で解析が簡単になります。一部のPascalは、LLである最も一般的な言語の1つです。

あなたはウィキの記事を見るかもしれません 左端の派生.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top