Interactive Disambiguation of Meta Programs with Concrete Object Syntax
Lennart C. L. Kats, Karl T. Kalleberg, Eelco Visser. Interactive Disambiguation of Meta Programs with Concrete Object Syntax. In International Conference on Software Language Engineering (SLE 2010), Volume 6563 of Lecture Notes in Computer Science, Springer, 2010. [pdf] [doi] [bib]
In meta-programming with concrete object syntax, meta programs can be written using the concrete syntax of manipulated programs. Quotations of concrete syntax fragments and anti-quotations for meta-level expressions and variables are used to manipulate the abstract representation of programs. These small, isolated fragments are often ambiguous and must be explicitly disambiguated with quotation tags or types, using names from the non-terminals of the object language syntax. Discoverability of these names has been an open issue, as they depend on the (grammar) implementation and are not part of the concrete syntax of a language. Based on advances in interactive development environments, we introduce interactive disambiguation to address this issue, providing real-time feedback and proposing quick fixes in case of ambiguities.
More information about this project can be found at the Interactive Disambiguation project homepage.