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.
Una vez construido, información adicional es agregada al AST por procesamiento subsecuente, ej., análisis semántico.
Esos son detalles que requieren un contexto para determinar su validez y comportamiento.
Otro ejemplo es el duck typing, donde el tipo de un elemento puede cambiar dependiendo del contexto.
La sobrecarga de operadores es todavía otro caso donde el correcto uso y la función final está determinada basada en el contexto.
Java provee un ejemplo excelente donde el operador '+' es también una adición numérico y concadenación de cadenas.
Como resultado, un AST necesita ser suficientemente flexible para permitir la fácil adición de hijos sin conocer la cantidad.
El código fuente tiene que ser suficientemente similar al original en apariencia e idénticamente en ejecución después de la recompilación.
Los AST son usados intensamente durante el análisis semántico, donde el compilador comprueba el correcto uso de los elementos del programa y el lenguaje.