2009-12-01 8 views
5

Es LALR (2) capaz de manejar el caso otra cosa colgando de forma natural (sin ningún tipo de reglas especiales, como con LALR (1))?LALR (2) colgando demás

Gracias

Respuesta

3

Es ambiguo, sin embargo, no es un problema, porque un generador de analizadores LALR con buena conducta resolverá la ambigüedad eligiendo el cambio en lugar de la opción reducir. Esto es lo que quiere: el "else" debe coincidir con la declaración "si" anterior. Entonces la conclusión es: no hay problema. Solo tiene que comprender la opción predeterminada que el generador del analizador hace para todas las ambigüedades de cambio-reducción. Este valor predeterminado puede ser anulado con reglas de desambiguación o algo así como el operador "% prec" en "yacc".
Pero ese es un tema más avanzado.

+0

¡Excelente información! He aceptado tu respuesta, por ser más elaborado. – Flavius

5

No, el problema del else colgante es una ambigüedad, por lo que ninguna cantidad de ayuda de búsqueda hacia delante.

Cuestiones relacionadas