Skip to content

Latest commit

 

History

History
16 lines (12 loc) · 1.4 KB

README.md

File metadata and controls

16 lines (12 loc) · 1.4 KB

raddsl — a toolset for rapid prototyping of DSL compilers

Two combinator-based libraries (eDSLs) written in Python:

  1. parse.py for syntax analysis: PEG, scannerless parsing, selective memoization, Pratt parser.
  2. rewrite.py for AST transformations: strategic term rewriting.

Inspired by:

  1. Schorre, D. V. "Meta ii a syntax-oriented compiler writing language." Proceedings of the 1964 19th ACM national conference. ACM, 1964.
  2. Carr, C. Stephen, David A. Luther, and Sherian Erdmann. The Tree-Meta Compiler-Compiler System: A Meta Compiler System for the Univac 1108 and the General Electric 645. No. TR-4-12. UTAH UNIV SALT LAKE CITY DEPT OF COMPUTER SCIENCE, 1969.
  3. Pratt, Vaughan R. "Top Down Operator Precedence." POPL. Vol. 73. 1973.
  4. Redziejowski, Roman R. "Mouse: from parsing expressions to a practical parser." Concurrency Specification and Programming Workshop. 2009.
  5. Becket, Ralph, and Zoltan Somogyi. "DCGs+ memoing= packrat parsing but is it worth it?." International Symposium on Practical Aspects of Declarative Languages. Springer, Berlin, Heidelberg, 2008.
  6. Warren, David HD. "Logic programming and compiler writing." Software: Practice and Experience 10.2 (1980): 97-125.
  7. Visser, Eelco. "Program transformation with Stratego/XT." Domain-specific program generation. Springer, Berlin, Heidelberg, 2004. 216-238.