MontiCore: Agile Entwicklung von domänenspezifischen Sprachen ...
MontiCore: Agile Entwicklung von domänenspezifischen Sprachen ...
MontiCore: Agile Entwicklung von domänenspezifischen Sprachen ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
5.13 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />
6 <strong>MontiCore</strong> 123<br />
6.1 Projektstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123<br />
6.2 Funktionsumfang des <strong>MontiCore</strong>-Generators . . . . . . . . . . . . . . . . . . 125<br />
6.2.1 AST-Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128<br />
6.2.2 Antlr-Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129<br />
6.2.3 Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129<br />
6.2.4 Root-Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />
6.2.5 Root-Factory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />
6.2.6 Parsing-Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131<br />
6.2.7 Manifest.mf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131<br />
6.3 Software-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131<br />
6.3.1 Symboltabelle der Grammatik . . . . . . . . . . . . . . . . . . . . . . 133<br />
6.4 Erweiterungsfähigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135<br />
6.4.1 Erweiterungspunkte <strong>von</strong> <strong>MontiCore</strong> . . . . . . . . . . . . . . . . . . . 135<br />
6.4.2 Vorhandene Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . 137<br />
6.5 Einsatz <strong>von</strong> <strong>MontiCore</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139<br />
6.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140<br />
7 Verwandte Arbeiten zu <strong>MontiCore</strong> 141<br />
7.1 Ableitung der abstrakten aus der konkreten Syntax . . . . . . . . . . . . . . 141<br />
7.2 Modulare Sprachdefinitionen <strong>von</strong> Modellierungssprachen . . . . . . . . . . . 142<br />
7.3 Modellierungssprachen zur Beschreibung der konkreten Syntax . . . . . . . 143<br />
7.4 Modulare Grammatiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143<br />
7.5 Modulare Parsealgorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . 144<br />
7.6 Modulare Attributgrammatiken . . . . . . . . . . . . . . . . . . . . . . . . . 145<br />
7.7 Sprache als Komponentenschnittstelle . . . . . . . . . . . . . . . . . . . . . 146<br />
7.8 Grammatik-basierte Sprachbaukästen . . . . . . . . . . . . . . . . . . . . . . 146<br />
7.9 Metamodellierungs-Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . 147<br />
III Definition <strong>von</strong> Werkzeugen mit dem DSLTool-Framework 149<br />
8 Methodiken zur <strong>Entwicklung</strong> <strong>von</strong> DSLs 151<br />
8.1 Transformationen für <strong>MontiCore</strong>-Grammatiken . . . . . . . . . . . . . . . . 152<br />
8.2 Erzeugung einer Grammatik aus einem Klassendiagramm . . . . . . . . . . 155<br />
8.2.1 Verwandte Arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . 156<br />
8.2.2 Vorgehensweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156<br />
8.2.3 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157<br />
8.3 Überführung einer BNF-Grammatik in eine <strong>MontiCore</strong>-Grammatik . . . . . 159<br />
8.3.1 Verwandte Arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . 159<br />
8.3.2 Vorgehensweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159<br />
8.3.3 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160<br />
8.4 Erzeugen einer Sprachdefinition aus existierendem Code . . . . . . . . . . . 162<br />
8.4.1 Verwandte Arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . 162<br />
8.4.2 Vorgehensweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162<br />
8.4.3 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164<br />
8.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167