{"repo":"true-grue/raddsl","free":true,"listed":false,"github":"https://github.com/true-grue/raddsl","clone":"git clone https://github.com/true-grue/raddsl.git","description":"Tools for rapid prototyping of DSL compilers","language":"Python","stars":92,"topics":["compiler-construction","peg","term-rewriting","dsl","metaprogramming","source-to-source","code-generation","python","python3","pratt-parser"],"license":"MIT","category":"dev-tools","readme_excerpt":"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. 1. 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. 1. 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. 1. Pratt, Vaughan R. \"Top Down Operator Precedence.\" POPL. Vol. 73. 1973. 1. Redziejowski, Roman R. \"Mouse: from parsing expressions to a practical parser.\" Concurrency Specification and Programming Workshop. 2009. 1. 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. 1. Warren, David HD. \"Logic programming and compiler writing.\" Software: Practice and Experience 10.2 (1980): 97-125. 1. Visser, Eelco. \"Program transformation with Stratego/XT.\" Domain-specific program generation. Springer, Berlin, Heidelberg, 2004. 216-238.","default_branch":null,"files":null,"tree":[],"storefront":"/r/true-grue","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/true-grue/raddsl/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}