Tree Description Language (TreeDL) is a computer language for description of strictly-typed tree data structures and operations on them. The main use of TreeDL is in the development of language-oriented tools ( compilers, translators, etc.) for the description of a structure of abstract syntax trees.
Tree description can be used as
- a documentation of interface between parser and other subsystems;
- a source for generation of data types representing a tree in target programming languages;
- a source for generation of various support code: visitors, walkers, factories, etc.
TreeDL can be used with any parser generator that allows custom actions during parsing (for example, ANTLR, JavaCC).