• Keine Ergebnisse gefunden

Ein Meta-Modell f¨ ur “MINI-C”

N/A
N/A
Protected

Academic year: 2021

Aktie "Ein Meta-Modell f¨ ur “MINI-C”"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Ubungen zur Vorlesung¨ AG BS

Spezifikation eingebetteter Systeme Jan Peleska

WS 2010/2011 Elena Vorobev

Ubungsblatt 3 ¨

Revision: 1.0

Ein Meta-Modell f¨ ur “MINI-C”

In der Vorlesung wurde argumentiert, dass die Ausdrucksm¨achtigkeit des GOPPRR-Meta-Meta- Modells nicht geringer als die der EBNF ist, da sich eine in EBNF gegebene Syntaxdefinition als Meta-Modell in GOPPRR realisieren l¨asst. Das Ziel dieses ¨Ubungsblattes ist es, das in der Vorlesung skizzierte Beispiel inMetaEdit+ umzusetzen.

Gegeben sei folgende Syntaxdefinition in EBNF zur Definition von Funktionen in einer C-artigen (im Umfang jedoch sehr stark eingeschr¨ankten) Sprache:

IDENT = C-like identifier matching [a-zA-Z_][a-zA-Z0-9_]*

EXP = C-like expression

QUALIFIER = ’static’ | ’inline’

VAR_TYPE = ’int’ | ’bool’ | ’float’ | ’char’ | IDENT RET_TYPE = ’void’ | VAR_TYPE

PARAM_DEF = ’void’ | VAR_TYPE IDENT { ’,’ VAR_TYPE IDENT } [ ’,’ ’...’ ] FUNC_BODY = { VAR_TYPE IDENT ’;’ } { STMT }

STMT = IDENT ’=’ EXP ’;’

| ’if’ ’(’ EXP ’)’ ’{’ { STMT } ’}’ [ ’else’ ’{’ { STMT } ’}’ ]

| ’while’ ’(’ EXP ’)’ ’{’ { STMT } ’}’

FUNC_DEF = { QUALIFIER } RET_TYPE IDENT ’(’ [ PARAM_DEF ] ’)’ ’{’ FUNC_BODY ’}’

Neben den Anforderungen, die sich bereits aus den EBNF-Regeln ergeben, muss eine Funktions- definition auch folgende Bedingungen erf¨ullen, die sich in EBNF nur umst¨andlich ausdr¨ucken lassen bzw. eher der statischen Semantik zuzuordnen sind:

1. InFUNC DEF d¨urfen vor RET TYPE genau 0, 1 oder 2QUALIFIER stehen.

2. Wenn inFUNC DEF 2 QUALIFIER angegeben sind, m¨ussen diese unterschiedlich sein.

3. Der Funktionsname (IDENT in FUNC DEF) sowie alle innerhalb einer Funktion definierten Variablen (IDENTinFUNC BODY) m¨ussen eindeutig sein.

4. InSTMTmussIDENTder Identifier einer innerhalb der Funktion deklarierten Variable sein.

Aufgabe: Erstellen Sie ein Meta-Modell in MetaEdit+, das dazu verwendet werden kann, Funktionen gem¨aß den obigen Vorgaben zu definieren. Verwenden SieBindings undConstraints und schreiben Sie Generatoren mit denen die Korrektheit (hinsichtlich dieser Vorgaben) der in Ihrem Meta-Modell definierbaren Modelle forciert wird bzw. nachtr¨aglich ¨uberpr¨uft werden kann.

Abgabe: 21.12.2010 bis 16:00 Uhr 1

Referenzen

ÄHNLICHE DOKUMENTE

2, the rationale is to describe existing source code entities using meta-descriptions that comply to EMOF We want to describe the domain classes in a generic way, such that

Object theory = reasoning within a formal proof system (e.g. Fitch).. Meta theory = reasoning about a formal

I Unpraktisch: Für jeden Typ muss manuell eine Instanz erzeugt werden I Idee: Makros for the win... JSON:

A systematic review and meta-analysis to evaluate the clinical outcomes in COVID-19 patients on angiotensin-converting enzyme inhibitors or angiotensin receptor blockers.. Eur Heart

Auch ein systematischer Review be- stätigte die vorteilhafte Wirkung dieser Substanzgruppe mit signifikanter Sen- kung des Risikos für nichtvertebrale Frak- turen,

given by by Elmar Hengartner, Switzerland Elmar Hengartner, Switzerland Bernd Wollring, University of Kassel, Germany Bernd Wollring, University of Kassel,

9 Einfache Regeln, die ein einzelnes Merkmal betreffen, können auch im Rahmen von Merkmal- und Merkmalswertzuordnungen abgebildet werden.. Klasse Merkmalzuordnung beschreibt

Under the fixed-effect model, we assume that all studies in the analysis share the same true effect size, and the summary effect is our estimate of this common effect size.. Under