- Árbol de sintaxis abstracta
-
En ciencias de la computación, un árbol de sintaxis abstracta (AST), o simplemente un árbol de sintaxis, es una representación de árbol de la estructura sintáctica abstracta (simplificada) del código fuente escrito en cierto lenguaje de programación. Cada nodo del árbol denota una construcción que ocurre en el código fuente. La sintaxis es abstracta en el sentido que no representa cada detalle que aparezca en la sintaxis verdadera. Por ejemplo, el agrupamiento de los paréntesis está implícito en la estructura arborescente, y una construcción sintáctica tal como
IF condición THEN
puede ser denotada por un solo nodo con dos ramas.Esto hace a los árboles de sintaxis abstracta diferentes de los árboles de sintaxis concreta, llamados tradicionalmente árboles de parser, que son a menudo construidos por la parte parser de la traducción del código fuente y el proceso de compilación (a pesar quizás de un nombramiento no intuitivo). Una vez construido, información adicional es agregada al AST por procesamiento subsecuente, ej., análisis semántico.
Véase también
- Grafo semántico abstracto (ASG)
- Document Object Model (DOM)
- Árbol de resolución semántica (RST)
- Algoritmo shunting yard
- Tabla de símbolos
- TreeDL
Referencias
- Este artículo fue originalmente basado en material de Free On-line Dictionary of Computing, que está licenciado bajo el GFDL.
Enlaces externos
- AST View, an Eclipse plugin to visualize a Java abstract syntax tree
- Good information about the Eclipse AST and Java Code Manipulation
- Paper "Abstract Syntax Tree Implementation Idioms" by Joel Jones (overview of AST implementation in various language families)
- Paper "Abstract Syntax Tree Design" by Nicola Howarth (note that this merely presents the design of *one particular* project's AST, and is not generally informative)
- Paper "Understanding source code evolution using abstract syntax tree matching" by Iulian Neamtiu, Jeffrey S. Foster and Michael Hicks
- Paper "Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction" by Beat Fluri, Michael Würsch, Martin Pinzger, and Harald C. Gall.
- Diploma thesis "Improving Abstract Syntax Tree based Source Code Change Detection" by Michael Würsch
- Article "Thoughts on the Visual C++ Abstract Syntax Tree (AST)" by Jason Lucas
- Tutorial "Abstract Syntax Tree Metamodel Standard"
- PMD uses AST representation to control code source quality
- CAST representation
- Abstract Syntax Tree Unparsing
Categorías:- Árboles (estructura)
- Lenguajes formales
Wikimedia foundation. 2010.