Efficient Development of Consistent Projectional Editors Using Grammar Cells

Conference Paper (2016)
Author(s)

Markus Voelter (Independent researcher, Itemis AG)

Tamás Szabó (TU Delft - Programming Languages, Itemis AG)

Sascha Lisson (Itemis AG)

Bernd Kolb (Itemis AG)

Sebastian Erdweg (TU Delft - Programming Languages)

Thorsten Berger (Chalmers University of Technology, University of Gothenburg)

Research Group
Programming Languages
DOI related publication
https://doi.org/10.1145/2997364.2997365
More Info
expand_more
Publication Year
2016
Language
English
Research Group
Programming Languages
Pages (from-to)
28-40
ISBN (print)
978-1-4503-4447-0

Abstract

The definition of a projectional editor does not just specify the notation of a language, but also how users interact with the notation. Because of that it is easy to end up with different interaction styles within one and between multiple languages. The resulting inconsistencies have proven to be a major usability problem. To address this problem, we introduce grammar cells, an approach for declaratively specifying textual notations and their interactions for projectional editors. In the paper we motivate the problem, give a formal definition of grammar cells, and define their mapping to low-level editor behaviors. Our evaluation based on project experience shows that grammar cells improve editing experience by providing a consistent and intuitive ``text editor-like'' user experience for textual notations. At the same time they do not limit language composability and the use of non-textual notations, the primary benefits of projectional editors. We have implemented grammar cells for Jetbrains MPS, but they can also be used with other projectional editors.

No files available

Metadata only record. There are no files for this record.