Currently the whole grammar of Rune is defined in a single huge xtext file. This in turn leads to large derived Java classes, both generated (parser, sequencer, ...) and manually written (validator, formatter, ...).
Splitting up our grammar file can improve modularity, leading to more maintainable code. Additionally, projects using jacoco will stop seeing MethodTooLargeExceptions while building when they have the Rune DSL as a dependency.
Currently the whole grammar of Rune is defined in a single huge xtext file. This in turn leads to large derived Java classes, both generated (parser, sequencer, ...) and manually written (validator, formatter, ...).
Splitting up our grammar file can improve modularity, leading to more maintainable code. Additionally, projects using jacoco will stop seeing
MethodTooLargeException
s while building when they have the Rune DSL as a dependency.I would propose the following splitting: