Resumen

En este tema se han visto los siguientes conceptos:

  • La misión del analizador léxico es:
    • Detectar los caracteres no válidos.
    • Agrupar los caracteres válidos en tokens.
  • Para saber qué secuencias de caracteres son válidas y cuáles no, se necesita una especificación léxica.
    • Esta se hace con un metalenguaje para obtener precisión y concisión.
    • En el caso del léxico, se utilizan las autómatas finitos y las expresiones regulares.
    • La especificación, además de para documentar, dirige también la implementación.
  • Un analizador léxico suele implementarse en un método (nextToken) que devuelve un token en cada llamada.
  • Hay dos formas principales de implementarlo.
    • A mano. Se consigue eficiencia y control.
      • Suele usarse la implementación Estructurada.
    • Con herramienta. Se consigue mayor comodidad de implementación.
      • Suelen generar una Tabla de Estados.
      • Hay que conocer su notación y cómo trata los conflictos entre reglas.