• Keine Ergebnisse gefunden

Compilerbau – Pr¨ ufungsleistung –

N/A
N/A
Protected

Academic year: 2022

Aktie "Compilerbau – Pr¨ ufungsleistung –"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Compilerbau – Pr¨ ufungsleistung –

Dozent: Martin Pl¨umicke, Andreas Stadelmeier SS 2021

Spezifikation

Deklarationen: • Σ: Eingabe–Alphabet

• JC: Menge aller syntaktisch korrekten Java–Klassen mit folgenden Einschr¨ankun- gen:

– keine generischen Klassen – keine abstrakten Klassen – keine Vererbung

– keine Interfaces – keine Threads – keine Exceptions – keine Arrays

– als Basistypen sind nurint,boolean undchar zugelassen – keine Packages

– keine Imports

– keine Lambda–Expressions

• BC: Menge aller Bytecode–Files

Eingabe: p∈Σ Vorbedingung: ∅

Ausgabe: bc∈BC∪ {error}

Nachbedingungen: • falls p∈(J C), so istbc∈(BC) undp wird nachbc ¨ubersetzt wie es durch die Sprache Java definiert ist.

• fallsp6∈(J C), so istbc=error.

Vorgehen

Arbeitsteam: Der Java–Compiler wird in einem Team von 8 Personen erstellt. Das Team wird nochmals unterteilt:

1

(2)

• Projektleitung (1 Person)

GIT-Repository: Einrichten eines GIT-Repositories auf den DHBW GIT-Server (Kontakt: Markus Steppacher)

UML-Klassendiagramm: Erstellung und Aktualisierung eines Klassendiagramms Schnittstellen: Programmierung der Schnittstellen zwischen den Projektteilen Dokumentation: Erstellen der Dokumentation

• Scannen/Parsen (2 Personen) ANTLR–File: Erstellen des G4–Files

Abstrakte Syntax: Aufbau der abstrakten Syntax aus dem Parsetree (Output von ANTLR)

• Semantische Analyse (2 Person)

Typisierung: Typisierung der abstrakten Syntax

• Codeerzeugung (2 Person):Erzeugung des Bytecodes mit ASM

• Tester (1 Person)

– Testsuite von Java–Files, die alle implementierten Features abdecken.

– H¨andische ¨Ubersetzung aller Java-Files der Testsuite in die abstrakte Syntax (als Test–Eingaben f¨ur den Typ-Checker)

– JUnit–Tests f¨ur Parser und Erzeugung der abstrakte Syntax

– H¨andische Typisierung aller Testf¨alle der abstrakten Syntax (als Eingabe f¨ur die Codeerzeugung)

– JUnit–Tests f¨ur die Typisierung Pr¨ufungsleistung

Die Arbeitsleistung einer/s jeden Studierenden wird bewertet an Hand folgender Kriterien:

• Projektergebnis

• w¨ochentlicher Projektfortschritt

• Mitarbeit im Team

Das Projektergebnis muss folgendes beinhalten:

• Kurzdokumentation aus der hervorgeht welche Leistung der jeweiligen Studierende erbrachten hat.

• Im Teilprojekt muss folgendes vorliegen:

– Eine Testsuite von Java–Programmen, f¨ur die der Compilerteil funktioniert.

– Pr¨asentation des Programms an Hand der erstellen Testsuites.

• Durchgehendes Beispiel, f¨ur das der gesamte Compiler funktioniert.

• Abgabetermin: Letzter Tag der Klausurwoche

2

Referenzen

ÄHNLICHE DOKUMENTE

Die zu entwickelnde Erweiterung stand also nicht nur vor technischen Herausforderungen wie der Erweiterung des OLAT-Rollenkonzepts um eine weitere Rolle Pr¨ ufungsamt oder

Die neue Software sollte als Erweiterung von OLAT konzipiert werden und den Prozess der Pr¨ ufungsabwicklung vom Ansetzen der Pr¨ ufungstermine ¨ uber das Einschreiben der

Dadurch entsteht kein Uberschwingen (siehe Abbildung 6), wodurch auch keine ¨ Schwingungen in die Mechanik des Pr¨ ufstand induziert werden und das Messergebnis der dynamischen Kr¨

W¨ ahrend bei der Beschreibung der Blocked Force Be- dingung nur die Massenimpedanzen beachtet worden sind, kann am realen Pr¨ ufstand durch Bestimmung der Eingangsimpedanzen des

I Bei diskreter hypothetischer Verteilung mit unendlichem Tr¨ ager bzw. nach Klassierung) bestimmt sind, identische Vorgehensweise f¨ ur alle Verteilungen. Schließende Statistik

Offensichtlich: Große Abweichungen der empirischen (in der Stichprobe beobachteten) H¨aufigkeiten von den theoretischen Wahrscheinlichkeiten sprechen eher gegen die

der Tr¨ ager der Eigenschaften hat einige Eigenschaften es- sentiell, andere nicht (B¨ undel-Theorie: alle essentiell, daher Ultra-Essentialismus, Substrat-Theorie: keine

Rechts oben wird die ideale (errechnete) S¨agezahnspannung angezeigt, links unten befindet sich ein y-t-Diagramm der Einzelmessungen (oben: FPI-Spannung um den Faktor 100