Resumen

En este tema se han visto los siguientes conceptos:

  • Para crear una gramática, lo más sencillo y eficaz es usar siempre las construcciones: secuencia, listas y composición.
  • A la hora de implementar un analizador sintáctico descendente, como el que genera ANTLR, presentan problemas las gramáticas que tengan alguna de las siguientes características:
    • Reglas con el misma antecedente y símbolos directores comunes.
    • Recursividad a izquierda.
    • Gramáticas Ambiguas.
  • ANTLR trata estas situaciones de distintas formas:
    • Distingue entre reglas con símbolos directores comunes leyendo tantos tokens de la entrada como sea necesario.
    • Realiza la transformación de las reglas con recursividad a izquierda directa.
    • Trata las gramáticas ambiguas generando aquel árbol que resulte de escoger la primera regla en caso de ambiguedad.