AnyText: Incremental, left-recursive Parsing and Pretty-Printing from a single Grammar Definition with first-class LSP support

Many current language workbenches do not support incremental parsing or left recursion, lack support for resolving references and pretty-printing or make it difficult to implement the Language Server Protocol (LSP) based on the generated parser. In this paper, we present AnyText, a new language workbench that solves these challenges by implementing the LSP using a scannerless, incremental packrat parser with support for left recursion, based on a grammar description in an extended EBNF-like grammar similar to Xtext/Langium. Furthermore, we show how an EBNF extension with formatting instructions can be used to obtain a pretty-printer. We use a combination of an internal and an external DSL to simplify the process of creating a new language. We demonstrate our approach using two new DSLs and evaluate performance and the amount of manual code necessary to support different editor features.
Thu 12 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00 | SLE Session 2: Language and Framework DesignSLE 2025 at M 001 Chair(s): Elizabeth Scott Royal Holloway University of London | ||
13:30 22mTalk | A Model-Driven Approach to Design, Generation, and Deployment of GUI Component Libraries SLE 2025 Arkadii Gerasimov RWTH Aachen University, Nico Jansen Software Engineering, RWTH Aachen University, Judith Michael University of Regensburg, Bernhard Rumpe RWTH Aachen University, Sebastian Will RWTH Aachen Link to publication DOI | ||
13:52 22mTalk | TranspileJS, an Intelligent Framework for Transpiling JavaScript to WebAssembly SLE 2025 José Pedro Ferreira University of Porto, Portugal, João Bispo Faculdade de Engenharia e Universidade do Porto, Susana Lima | ||
14:15 22mTalk | Optimal Language Design is Hard: A Case Study in ECMAScript (JavaScript) Standardization SLE 2025 Philipp Riemer Leipzig University, Yury Nikulin University of Turku, Ashley Claymore , Mikhail Barash University of Bergen | ||
14:37 22mTalk | AnyText: Incremental, left-recursive Parsing and Pretty-Printing from a single Grammar Definition with first-class LSP support SLE 2025 Georg Hinkel RheinMain University of Applied Sciences, Wiesbaden, Germany, Alexander Hert RheinMain University of Applied Sciences, Wiesbaden, Germany, Niklas Hettler RheinMain University of Applied Sciences, Wiesbaden, Germany, Kevin Weinert RheinMain University of Applied Sciences, Wiesbaden, Germany |