Interactive disambiguation of meta programs with concrete object syntax

More Info
expand_more

Abstract

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 This paper is a pre-print of: Proceedings of the 3rd International Conference of Software Language Engineering (SLE 2010), Eindhoven (The Netherlands) 12-13 Oct. 2010, Lecture Notes in Computer Science, Springer, 2010