DOI

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.
Original languageEnglish
Title of host publicationSLE 2016 Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering
EditorsT. van der Storm
Place of PublicationNew York
PublisherAssociation for Computing Machinery (ACM)
Pages28-40
Number of pages13
ISBN (Print)978-1-4503-4447-0
DOIs
StatePublished - 2016
EventSLE 2016 - Amsterdam, Netherlands

Conference

ConferenceSLE 2016
CountryNetherlands
CityAmsterdam
Period31/10/161/11/16

    Research areas

  • Language Engineering, Language Workbenches, Projectional Editing, Jetbrains MPS, Usability

ID: 11091868