Parser
Un parser construye un AST a partir de una secuencia de tokens según reglas gramaticales, en dos familias: descendente (descenso recursivo/LL) y ascendente (LR/LALR).
Propósito
Estructurar los tokens en un árbol de sintaxis — el núcleo de los compiladores y las herramientas de análisis.
Mecanismo
LL(k): izquierda a derecha, derivación más a la izquierda, k tokens de anticipación. LR(k): izquierda a derecha, derivación más a la derecha. Descenso recursivo: escrito a mano, una función por no terminal. PEG usa elección ordenada y backtracking.
Casos de uso
- Implementación de compiladores
- Análisis de formatos de datos
- Lenguajes específicos de dominio (DSL)