Early Experience with ASDL in lcc
David R. Hanson

TL;DR
This paper reports on the initial application of the Abstract Syntax Description Language (ASDL) to decompose the lcc C compiler into components communicating via tree structures, highlighting practical challenges and benefits.
Contribution
It demonstrates the feasibility and challenges of integrating ASDL into an existing compiler, providing insights into the effort, overhead, and potential advantages.
Findings
ASDL enables language-independent component communication.
Retrofitting lcc with ASDL involves significant effort.
ASDL offers benefits in modularity and reusability.
Abstract
The Abstract Syntax Description Language (ASDL) is a language for specifying the tree data structures often found in compiler intermediate representations. The ASDL generator reads an ASDL specification and generates code to construct, read, and write instances of the trees specified. Using ASDL permits a compiler to be decomposed into semi-independent components that communicate by reading and writing trees. Each component can be written in a different language, because the ASDL generator can emit code in several languages, and the files written by ASDL-generated code are machine- and language-independent. ASDL is part of the National Compiler Infrastructure project, which seeks to reduce dramatically the overhead of computer systems research by making it much easier to build high-quality compilers. This paper describes dividing lcc, a widely used retargetable C compiler, into two…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Software Engineering Research · Software System Performance and Reliability
