Zephyr ASDL Home Page | |
|---|---|
|
| |
The Zephyr Abstract Syntax Description Lanuguage (ASDL) is a language designed to describe the tree-like data structures in compilers. Its main goal is to provide a method for compiler components written in different languages to interoperate. ASDL makes it easier for applications written in a variety of programming languages to communicate complex recursive data structures.
asdlGen is a tool that takes ASDL descriptions and produces
implementations of those descriptions in a variety of popular
languages. ASDL and asdlGen together provide the following advantages
ASDL descriptions describe the tree-like data structures such as
abstract syntax trees (ASTs) and compiler intermediate representations
(IRs). Tools such as asdlGen automatically produce the equivalent
data structure definitions for C, C++, Java, Standard ML, OCaml, and Haskell.
asdlGen also produces functions for each language that read and
write the data structures to and from a platform and language
independent sequence of bytes. The sequence of bytes is called a
pickle.
ASDL pickles can be interactively viewed and edited with a graphical
browser, or pretty printed into a
simple textual format. The browser provides some advanced features
such as display styles and tree based versions of standard unix tools
such as diff and grep. ASDL was part of the Zephyr
National Compiler Infrastructure project.