30.06.2014 Aufrufe

Systemmodell-basierte Definition objektbasierter ...

Systemmodell-basierte Definition objektbasierter ...

Systemmodell-basierte Definition objektbasierter ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

112 Kapitel 6 Werkzeugunterstützte <strong>Definition</strong> einer Modellierungssprache<br />

Optionen<br />

Jede MontiCore-Grammatik kann einen Block enthalten, indem Optionen angegeben werden<br />

können.<br />

1 grammar CDSimp { //...<br />

2<br />

3 options {<br />

4 compilationunit CDDef<br />

5 }<br />

6<br />

7 CDDef = "cd" Name "{" CDElem* "}";<br />

8 }<br />

CDSimp<br />

MontiCore-Grammatik<br />

1 theory CDSimpAS imports "Main"<br />

2 begin (*...*)<br />

3<br />

CDSimpAS<br />

4 datatype CDDef = CDDef Name "CDElem list"<br />

5<br />

6 datatype MCCompilationUnit =<br />

7 MCCompilationUnit "Name list" "Name list" "STRING option" CDDef<br />

8 end<br />

Isabelle-Theorie (gen)<br />

Abbildung 6.9: Compilation Unit<br />

identrule Der hinter dieser Option angegebene Name bestimmt den Namen der Regel für Identifikatoren.<br />

Der Name wird auch in den HOL-Datentypen berücksichtigt. Standardmäßig<br />

wird Name als Name für die Identifikatorregel verwendet.<br />

noident, nostring Hiermit lassen sich die Generierung der Lexer-Regeln für Identifikatoren<br />

und STRING verhindern. Diese werden dann auch nicht automatisch als HOL-Typen zur<br />

Verfügung gestellt.<br />

nomlcomment, noslcomment Mit diesem Optionen können die Standardkommentare abgeschaltet<br />

werden. Diese Option betrifft nicht die HOL-Typen, da Kommentare nicht übernommen<br />

werden.<br />

dotident Hier wird eine Identifikatoregel gewählt, bei der Identifikatoren Punkte beinhalten<br />

können. Diese ist dann automatisch auch im HOL-Datentyp enthalten.<br />

lookahead, noanything, nocharvocab, header, prettyprinter Diese Optionen sind entweder<br />

Parser-, Lexer- oder DSLTool-spezifisch und müssen nicht berücksichtigt werden.<br />

compilationunit Abb. 6.9 zeigt die Verwendung der Option compilationunit, mit der<br />

eine Startproduktion für die Grammatik festgelegt werden kann. Die Angabe von CDDef

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!