2

この表現を考えると:

3 + 2 + 2 * 2 = ?

14だろう?

4

1 に答える 1

2

いいえ、それは左から右への評価で得られるものです。LL パーサーは、LR パーサーと同じ構文木を構築します。

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

そしてそれを次のように評価します

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

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

LL パーサーの特別な点は、文法が制限されているため、制限された先読みで常に左から右に進むことができることです。これにより、記述と解析が容易になります。some Pascal は、LL である最も一般的な言語の 1 つです。

左端の派生に関する Wiki 記事を参照してください。

于 2010-09-26T18:35:35.240 に答える