Material for the Software Language Engineering Lecture
Material for the Software Language Engineering (SLE) Lecture, Bernhard Rumpe
-
Because some lecture content can be better worked through in an undisturbed silent environment (e.g., at home), we have made parts of slides from the SLE lecture available in commented form.
-
Please be aware: These slides will not be presented (or at least not in detail) in the lecture, but they are part of the respective section and the excercises quite like all other content.
-
This material will occasionally be extended if needed.
-
Please note that especially for our SLE course and their excercises, we do have additional material available for the MontiCore tooling on the MontiCore website:
This, among others includes:
-
MontiCore handbook: The handbook describes how to use MontiCore as an out-of-the-box language workbench, but also as grey box tooling framework. It thus also gives an overview over a number of core mechanisms of MontiCore.
-
List of basic MontiCore grammars. MontiCore concentrates on reuse. It therefore offers a set of predefined language components, each of them usually identified through a single appropriate component grammar and additional tooling code (Java-files). These components allow to define your own language as a composition of reusable assets efficiently. Reusable assets are among others: several sets of literals, expressions, types, and statements, which are rather freely composable and come with sets of context conditions, including a sophisticated type check (i.e. is the assignment/parameter/expression result correct vs. the expected result?).
-
List of languages. This is a list of MontiCore languages that can be used out of the box. Many of them are rather stable, some are still in development. Several of these languages are inspired by the UML/P (see [Rum16,Rum17]). These complete languages are usually composed of a number of language components.
The core material for the SLE lecture:
Join our mailing list for updates regarding courses and theses: