Comment un analyseur de LL évaluer cette expression?
Question
Compte tenu de cette expression:
3 + 2 + 2 * 2 =?
Serait-il 14?
La solution
Non
. C'est ce que vous obtenez dans la gauche à droite évaluation. Un analyseur de LL construirait le même Parse arbre comme un analyseur LR,
+
/ \
3 +
/ \
2 *
/ \
2 2
et évaluer comme
(+ 3 (+ 2 (* 2 2))
qui est 9, comme on pouvait s'y attendre.
Quelle est la particularité LL parseurs est que, pour une grammaire restreinte, ils peuvent toujours aller de l'avant de gauche à droite avec peu d'anticipation. Cela les rend faciles à décrire et facile à analyser; certains Pascal est l'une des langues les plus courantes qui est LL.
Vous pourriez jeter un oeil à l'article Wiki sur dérivation plus à gauche.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow