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.
Original language | English |
---|---|
Title of host publication | SLE 2016 Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering |
Editors | T. van der Storm |
Place of Publication | New York |
Publisher | Association for Computing Machinery (ACM) |
Pages | 28-40 |
Number of pages | 13 |
ISBN (Print) | 978-1-4503-4447-0 |
DOIs | |
Publication status | Published - 2016 |
Event | SLE 2016: 9th ACM SIGPLAN International Conference on Software Language Engineering - Amsterdam, Netherlands Duration: 31 Oct 2016 → 1 Nov 2016 Conference number: 9 |
Conference
Conference | SLE 2016 |
---|---|
Country/Territory | Netherlands |
City | Amsterdam |
Period | 31/10/16 → 1/11/16 |
Keywords
- Language Engineering
- Language Workbenches
- Projectional Editing
- Jetbrains MPS
- Usability