This PR replaces the MirBase language by a set of some common language elements with according scoping and validation capabilities. Since the MirBase language was basically a set of metamodel elements with according scoping, there is no necessity to prescribe a concrete textual syntax with Xtext and have all the additional complexity of inheriting frmo a furtherlanguage.
In addition, the PR removes the Reactions language postprocessor by predefining parts of the language metamodel, which is especially reasonable because the Xtext postprocessor is deprecated. Furthermore, it makes the top-level structure of the language more explicit than having it derived from the textual grammar.
We also make minor improvements, including:
Generation of all code for Reactions into one (src-gen) folder
Fix of referenceable metamodels in reactions (by now, all metamodel available through imports in any loaded file could be referenced)
Fix of the outline provider for Reactions: the outline contained each element as many times as there were elements before (which made it practically unusable). Most of the code was obsolete and got removed.
Improvement of Reactions generation robustness: The generator now infers as much code as possible to keep errors as local as possible. E.g., an error in a single routine statement stays local to that statement, but has no effect to the compilation of the routine as a whole, its callability in Reactions and so on.
Despite the last point, the Reactions generation is currently quite hard to understand. The improvement has to be seen as a quickfix, especially tolerating for many elements that they may be null. However, there is the need to perform a deeper refactoring of the generator to improve understandability and maintainability of the code.
This PR replaces the MirBase language by a set of some common language elements with according scoping and validation capabilities. Since the MirBase language was basically a set of metamodel elements with according scoping, there is no necessity to prescribe a concrete textual syntax with Xtext and have all the additional complexity of inheriting frmo a furtherlanguage.
In addition, the PR removes the Reactions language postprocessor by predefining parts of the language metamodel, which is especially reasonable because the Xtext postprocessor is deprecated. Furthermore, it makes the top-level structure of the language more explicit than having it derived from the textual grammar.
We also make minor improvements, including:
src-gen
) folderDespite the last point, the Reactions generation is currently quite hard to understand. The improvement has to be seen as a quickfix, especially tolerating for many elements that they may be
null
. However, there is the need to perform a deeper refactoring of the generator to improve understandability and maintainability of the code.Resolves #306.