Design, implementation and evaluation of the FNC-2 attribute grammar system
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
The SGML handbook
Eli: a complete, flexible compiler construction system
Communications of the ACM
SUIF: an infrastructure for research on parallelizing and optimizing compilers
ACM SIGPLAN Notices
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PolyP—a polytypic programming language extension
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
What can we do about the unnecessary diversity of notation for syntactic definitions?
Communications of the ACM
HOPE: An experimental applicative language
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Design and implementation of simple object description language
Proceedings of the 2001 ACM symposium on Applied computing
ACM SIGSOFT Software Engineering Notes
Using smgn for rapid protoptyping of small domain-specific languages
ACM SIGPLAN Notices
Object-oriented tree traversal with J. J. Forester
Science of Computer Programming - Special issue: Language descriptions, tools and applications (LDTA'01)
GCSE '00 Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers
Pragmatic Aspects of Reusable Program Generators
SAIG '00 Proceedings of the International Workshop on Semantics, Applications, and Implementation of Program Generation
Traversal-Based Visualization of Data Structures
INFOVIS '98 Proceedings of the 1998 IEEE Symposium on Information Visualization
Using Algebraic Specification Techniques in Development of Object-Oriented Frameworks
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume II
An abstract intermediate representation in compilation systems
ACM SIGPLAN Notices
Pragmatic aspects of reusable program generators
Journal of Functional Programming
A nanopass infrastructure for compiler education
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
When and how to develop domain-specific languages
ACM Computing Surveys (CSUR)
Canonical Abstract Syntax Trees
Electronic Notes in Theoretical Computer Science (ENTCS)
Object-oriented description of graph data structures
Programming and Computing Software
Generating Rewritable Abstract Syntax Trees
Software Language Engineering
Language embedding and optimization in mython
DLS '09 Proceedings of the 5th symposium on Dynamic languages
Simple algebraic data types for C
Software—Practice & Experience
Hi-index | 0.00 |
The Zephyr 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 of ASDL.