Pregunta

Teniendo en cuenta esta expresión:

3 + 2 + 2 * 2 =?

¿Sería 14?

¿Fue útil?

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
scroll top