Frage

In Anbetracht dieser Ausdruck:

3 + 2 + 2 * 2 =?

Wäre es 14 sein?

War es hilfreich?

Lösung

Nein. Das ist, was Sie in links nach rechts Auswertung bekommen würde. Ein LL-Parser die gleiche Parserbaum als LR Parser bauen würde,

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

und bewerten es als

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

, die 9 ist, wie man erwarten würde.

Was ist LL-Parser ist das Besonderes das heißt, für eine begrenzte Grammatik, können sie immer nach rechts vorgehen links mit begrenztem Vorgriff. Das macht sie einfach zu beschreiben und einfach zu Parse; einiger Pascal ist einer der am häufigsten verwendeten Sprachen, ist LL.

Sie können einen Blick auf die Wiki-Artikel haben auf Linksableitung .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top