¿Cómo evalúa un analizador LL esta expresión?
Pregunta
Teniendo en cuenta esta expresión:
3 + 2 + 2 * 2 =?
¿Sería 14?
Solución
No. Eso es lo que te dan en la izquierda a derecha evaluación. Un analizador LL construiría el mismo árbol de análisis sintáctico como un analizador sintáctico LR,
+
/ \
3 +
/ \
2 *
/ \
2 2
y evaluarlo como
(+ 3 (+ 2 (* 2 2))
9 que es, como era de esperar.
Lo que es especial acerca de los analizadores LL es que, por una gramática restringida, pueden proceder siempre de izquierda a derecha con la limitada visión hacia adelante. Esto hace que sean fáciles de describir y fácil de analizar; algunos Pascal es uno de los más idiomas común que se LL.
Es posible que tenga una mirada en el artículo de la wiki en más a la izquierda derivación .
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow