Parser Development with an Internal Domain-Specific Language and an Aspect Weaver
This paper describes an internal domain-specific language (DSL) to write syntax rules and action code in Ruby. Parser generators read a mixture of the syntax rules and the action code written in one of the general-purpose languages. If the action code contains trivial syntax errors, the parser generators do not analyze the code; they generate source code containing the syntax errors. To resolve this situation, an internal DSL to define syntax rules was designed as a subset of Ruby. Moreover, action code is injected into the generated parser using an aspect weaver. In the author's preliminary experience, productivity was improved in the design and implementation of parsers.
- Published: 2nd Feb 2015
- Publisher: ACM