Supporting Meta-model-based Language Evolution and Rapid Prototyping with Automated Grammar Optimization
Preprint, 2023
In this paper, we present GrammarOptimizer, an approach for optimizing generated grammars in the context of meta-model-based language evolution. To reduce the effort for language engineers during rapid prototyping and language evolution, it offers a catalog of configurable grammar optimization rules. Once configured, these rules can be automatically applied and re-applied after future evolution steps, greatly reducing redundant manual effort. In addition, some of the supported optimizations can globally change the style of concrete syntax elements, further significantly reducing the effort for manual optimizations. The grammar optimization rules were extracted from a comparison of generated and existing, expert-created grammars, based on seven available DSLs. An evaluation based on the seven languages shows GrammarOptimizer’s ability to modify Xtext-generated grammars in a way that agrees with manual changes performed by an expert and to support language evolution in an efficient way, with only a minimal need to change existing configurations over time.
Xtext
DSL
Language Evolution
Domain-specific Languages
Language Prototyping
Grammar
Författare
Weixing Zhang
Chalmers, Data- och informationsteknik, Interaktionsdesign och Software Engineering
Jörg Holtmann
Digitale Schiene Deutschland
Chalmers, Data- och informationsteknik, Interaktionsdesign och Software Engineering
Regina Hebig
Universität Rostock
Chalmers, Data- och informationsteknik, Interaktionsdesign och Software Engineering
Jan-Philipp Steghöfer
XITASO GmbH IT Software Solutions
Chalmers, Data- och informationsteknik, Interaktionsdesign och Software Engineering
Styrkeområden
Informations- och kommunikationsteknik
Ämneskategorier
Programvaruteknik
DOI
10.2139/ssrn.4379232
Relaterade dataset
GrammarOptimizer_data [dataset]
URI: https://zenodo.org/records/10045477 DOI: 10.5281/zenodo.10045477