TY - CONF
T1 - The zephyr abstract syntax description language
AU - Wang, Daniel C.
AU - Appel, Andrew W.
AU - Korn, Jeff L.
AU - Serra, Christopher S.
N1 - Funding Information:
1Zephyr is a compiler infrastructure project conducted jointly at the University of Virginia and Princeton University (see http://www.cs. virginia.edu/zephyr). This work is supported in part by the Department of Defense under contract MDA904-97-C-0247 and DARPA order number E381, and the National Science Foundation grant ASC-9612756.
Publisher Copyright:
© Domain-Specific Languages, DSL 1997.All right reserved.
PY - 1997
Y1 - 1997
N2 - The Zephyr1 Abstract Syntax Description Language (ASDL) describes the abstract syntax of compiler intermediate representations (IRs) and other tree-like data structures. Just as the lexical and syntactic structures of programming languages are described with regular expressions and context free grammars, ASDL provides a concise notation for describing the abstract syntax of programming languages. Tools can convert ASDL descriptions into the appropriate data-structure definitions and functions to convert the data-structures to or from a standard flattened representation. This makes it easier to build compiler components that interoperate. Although ASDL lacks subtyping and inheritance, it is able to describe the Stanford University Intermediate Format (SUIF) compiler IR, originally implemented in C++. We have built a tool that converts ASDL into C, C++, Java, and ML data-structure definitions and conversion functions. We have also built a graphical browser-editor of ASDL data structures. ASDL shares features found in many network interface description languages (IDLs), algebraic data types, and languages such as ASN.1 and SGML. Compared to other alternatives ASDL is simple and powerful. This document describes ASDL in detail and presents an initial evaluation ofASDL.
AB - The Zephyr1 Abstract Syntax Description Language (ASDL) describes the abstract syntax of compiler intermediate representations (IRs) and other tree-like data structures. Just as the lexical and syntactic structures of programming languages are described with regular expressions and context free grammars, ASDL provides a concise notation for describing the abstract syntax of programming languages. Tools can convert ASDL descriptions into the appropriate data-structure definitions and functions to convert the data-structures to or from a standard flattened representation. This makes it easier to build compiler components that interoperate. Although ASDL lacks subtyping and inheritance, it is able to describe the Stanford University Intermediate Format (SUIF) compiler IR, originally implemented in C++. We have built a tool that converts ASDL into C, C++, Java, and ML data-structure definitions and conversion functions. We have also built a graphical browser-editor of ASDL data structures. ASDL shares features found in many network interface description languages (IDLs), algebraic data types, and languages such as ASN.1 and SGML. Compared to other alternatives ASDL is simple and powerful. This document describes ASDL in detail and presents an initial evaluation ofASDL.
UR - http://www.scopus.com/inward/record.url?scp=85094097105&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85094097105&partnerID=8YFLogxK
M3 - Paper
AN - SCOPUS:85094097105
T2 - 1997 Conference on Domain-Specific Languages, DSL 1997
Y2 - 15 October 1997 through 17 October 1997
ER -