Declarative Specification of Template-Based Textual Editors

January 20, 2012

Paper based on work of master’s thesis work of Tobi Vollebregt accepted at LDTA’12:

Tobi Vollebregt, Lennart C. L. Kats, and Eelco Visser. Declarative Specification of Template-Based Textual Editors. In Suzana Andova, Anthony M. Sloane, editors, Workshop on Language Descriptions, Tools, and Applications, Proceedings. 2012.

Abstract: Syntax discoverability has been a crucial advantage of structure editors for new users of a language. Despite this advantage, structure editors have not been widely adopted. Based on immediate parsing and analyses, modern textual code editors are also increasingly syntax-aware: structure and textual editors are converging into a new editing paradigm that combines text and templates. Current text-based language workbenches require redundant specification of the ingredients for a template-based editor, which is detrimental to the quality of syntactic completion, as consistency and completeness of the definition cannot be guaranteed.

In this paper we describe the design and implementation of a specification language for syntax definition based on templates. It unifies the specification of parsers, unparsers and template-based editors. We evaluate the template language by application to to two domain-specific languages used for tax benefits and mobile applications.