21. It allows compile-time metaprogramming and generative programming by means of manipulating abstract syntax trees and'functions. 22. ZPL is translated into a conventional abstract syntax tree representation on which program analysis and program optimizations are performed. 23. An abstract semantic graph is typically constructed from an abstract syntax tree by a process of enrichment and abstraction. 24. The abstract syntax tree is at the center of the syntax extensions, which are in fact OCaml programs. 25. An example of this intermediate representation could be something like an Abstract Syntax Tree or a Directed Acyclic Graph. 26. The tree building operators were used in the grammar rules directly transforming the input into an abstract syntax tree . 27. One possible implementation of eval is as a recursive interpreter that acts on the abstract syntax tree created by read. 28. Several modules can manipulate the abstract syntax tree to add ANSI / ISO C Specification Language ( ACSL ) annotations. 29. Unparse rules are called from a grammar rule when an abstract syntax tree is to be transformed into output code. 30. Because of this, a parser usually outputs more than a yes / no answer, typically an abstract syntax tree .