Zephyr ASDL

From Esolang
Jump to navigation Jump to search
Zephyr ASDL
Paradigm(s) declarative
Designed by Appel et al
Appeared in 1997
Computational class pushdown automata
Reference implementation Defunct
Influenced Zaddy
File extension(s) .asdl

Abstract Syntax Description Language, more commonly known as Zephyr ASDL to disambiguate it from other syntax description languages, is a wikipedia:domain-specific language introduced in 1997 by researchers at Princeton University and the University of Wisconsin at Madison as part of the Zephyr compiler infrastructure project.[1][2] It is used by several language implementations, notably the reference implementation of Python, to describe abstract syntax trees (ASTs).

Notable Usage

Despite relative obscurity even within the compiler-engineering ecosystem, Zephyr ASDL is routinely chosen to represent ASTs. The following projects use Zephyr ASDL:

  • CPython, the reference implementation of Python [1]
  • Typhon, the reference implementation of Monte [2]
  • The Oils shell environment [3]

Monte and Oils both support compiling `.asdl` files directly as modules.

References

  1. Wang, D. C., Appel, A. W., Korn, J. L., & Serra, C. S. (1997). The zephyr abstract syntax description language. Paper presented at 1997 Conference on Domain-Specific Languages, DSL 1997, Santa Barbara, United States. https://www.cs.princeton.edu/~appel/papers/asdl97.pdf
  2. Zephyr ASDL (Abstract Syntax Description Language), math4tots et al 2012. https://stackoverflow.com/q/8873126/264985