Un Árbol de Sintaxis Abstracta, o AST, es una representación en árbol del código fuente de un programa informático que transmite la estructura del código fuente. Cada nodo del árbol representa una construcción que aparece en el código fuente.
Durante la conversión a su AST, sólo se conservan los detalles estructurales y de contenido del código fuente, y se descarta cualquier detalle adicional. La información que se conserva, y que es vital para el propósito del AST, es:
- Tipos de variables, y ubicación de cada declaración de variables
- Orden y definición de las sentencias ejecutables
- Componentes izquierdo y derecho de las operaciones binarias
- Identificadores y sus valores asignados
¿Para qué se usan los AST?
Los AST se utilizan para representar la estructura del código fuente de un programa para que lo utilice el compilador. Un AST suele ser el resultado de la fase de análisis sintáctico de un compilador. A menudo sirve como una representación intermedia del programa a través de varias etapas que el compilador requiere, y tiene un fuerte impacto en la salida final del compilador.
Los AST también se utilizan para casos de uso como el análisis de código estático. Las herramientas automatizadas pueden recorrer el AST de un programa para encontrar errores de sintaxis y malos patrones en el código sin llegar a ejecutarlo.