Este análisis (en inglés scanner) se encarga de verificar si todas las cadenas pertenecen o no al lenguaje, es decir realiza un análisis símbolo por símbolo indicando las palabras que reconoce o el error en caso de no reconocer.

Este análisis no logra detectar muchos errores por su característica; sólo errores léxicos:

  1. Caracteres no permitidos en el lenguaje (p“$”“$”$").
  2. Caracteres no permitidos en un contexto determinado (p“12.3”12“.” vs "“.23”".23").

Es la primera fase de un compilador, consistente en un programa que recibe como entrada el código fuente de otro programa (secuencia de caracteres) y produce una salida compuesta de tokens (componentes léxicos).

  1. Los tokens se especifican mediante patrones léxicos (expresiones regulares).
  2. Los tokens sirven para un posterior análisis sintáctico.
  3. La cadena de caracteres concreta que se ha reconocido como un token determinado se denomina lexema.

Lexema: El lexema es la parte fundamental de una palabra, capaz de expresar un significado léxico definido; ocasionalmente es la palabra entera.

Por ejemplo, el lexema de panadería es pan.

También realiza otras tareas auxiliares:

  • Tratamiento de comentarios.
  • Eliminación de blancos.

Automatas finitos

Es un modelo matemático que puede ser usado para hacer traducciones o cálculos sencillos con las cadenas que pertenecen a un lenguaje generado por gramáticas regulares.