Las claves verificadas
- Un AST representa la estructura de un programa mediante nodos con tipo y ubicación. Ver evidencia
- Un parser convierte el código fuente a un AST y puede configurarse para distintas sintaxis. Ver evidencia
- Los formatos de AST pueden diferir entre herramientas, como Babel AST y ESTree. Ver evidencia
- TypeScript expone un programa del compilador para acceder al AST de un archivo. Ver evidencia
Qué es un árbol de sintaxis abstracta
Un árbol de sintaxis abstracta, o AST por sus siglas en inglés, es una estructura de datos que representa la organización de un programa. En vez de conservar cada espacio y signo del texto original, agrupa elementos con significado: una declaración, una llamada, un operador o un literal.
También puede servirte: Qué es WebAssembly y para qué sirve en una web
Cada nodo tiene un tipo y puede incluir información de ubicación. La especificación de Babel, por ejemplo, define nodos con un campo type y posiciones de inicio y fin. Esa estructura permite trabajar con el código como datos sin tener que buscar patrones de texto a mano.
Cómo se construye a partir del código
Un parser recibe el código fuente y lo convierte en un AST. Para una expresión como suma(2, 3), el árbol puede separar la llamada, su nombre y sus argumentos. El formato exacto depende del lenguaje y de la herramienta; por eso un AST de Babel no siempre coincide campo por campo con otro formato como ESTree.
El parser también valida la sintaxis que entiende. Si encuentra una combinación que no pertenece a la gramática configurada, devuelve un error en lugar de inventar un nodo confiable. Elegir plugins, versión de ECMAScript o extensiones como JSX forma parte de la configuración del análisis.

Qué se puede hacer con un AST
Una transformación recorre nodos y puede renombrar variables, cambiar una llamada, insertar una instrucción o eliminar una parte del árbol. Después, un generador vuelve a producir código. Babel usa este flujo para convertir sintaxis moderna y aplicar plugins sin depender de reemplazos frágiles de texto.
Los analizadores estáticos también consultan el AST para encontrar patrones: una regla puede detectar una función prohibida, una importación sin uso o una API que requiere migración. Como el árbol conserva la relación entre nodos, una herramienta puede distinguir un identificador usado como variable de la misma palabra dentro de un comentario.
Cuándo conviene usarlo y qué límites tiene
Conviene usar un AST cuando necesitás transformar o revisar código de manera repetible y con contexto sintáctico. Es una buena base para linters, formateadores, migraciones automáticas, resaltado, refactors y herramientas que explican código a otros sistemas.
Un AST no prueba que el programa sea correcto ni describe por sí solo el comportamiento en ejecución. Dos programas pueden tener árboles parecidos y resultados distintos por sus datos, dependencias o efectos externos. Antes de automatizar una transformación, verificá el lenguaje, el parser, los casos límite y las pruebas que deben pasar después.

Qué aporta VisteEsto: Nuestro trabajo en esta nota
VisteEsto separa texto fuente, árbol y ejecución con una explicación práctica de nodos, formatos y límites de automatizar cambios.
Fuentes, actualizaciones y metodología 4 fuentes
Fuentes consultadas
- Fuente primariaBabel: AST specification
- Fuente primariaBabel Parser documentation
- Fuente primariaESTree specification
- Fuente primariaTypeScript VFS: compiler API and AST
Historial de actualización
- Publicación inicial basada en la especificación de AST de Babel, su parser y el formato ESTree.
Cómo elaboramos esta nota
Definimos la consulta principal “qué es un AST árbol de sintaxis abstracta”, contrastamos los datos con 4 fuentes —4 primarias— y revisamos contexto, imágenes y posibles vacíos antes de publicar. Conocé nuestra política editorial y de verificación.



