• Keine Ergebnisse gefunden

Zu entwickelnde Artefakte

N/A
N/A
Protected

Academic year: 2022

Aktie "Zu entwickelnde Artefakte"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Compilerpraktikum

Im Compilerbaupraktikum entwickeln Teams von 4-5 Studenten einen Compiler f¨ur ein imperatives Java-Subset. Zielsprache ist Java Bytecode. Dabei kommen die Techniken und Werkzeuge aus der Veranstaltung

”Sprachtechnologie und Compiler 1” zum Einsatz. Die Veranstaltung

”Sprachtechnologie und Compiler 2”

muss nicht gleichzeitig geh¨ort werden. Das Praktikum ist in Form eines softwaretechnischen Phasenmodells organisiert. Das

Praktikum kann in die Diplompr¨ufung eingebracht werden.

Compilerpraktikum Wintersemester 2008/09 1 / 2

(2)

Zu entwickelnde Artefakte

vollst¨andige Scannerspezifikation (Eingabe f¨ur Generator) vollst¨andige Parserspezifikation (Eingabe f¨ur Generator) abstrakte Syntax/Baumaufbau

Symboltabelle

attributierte Grammatik zur Typpr¨ufung Baummuster f¨ur Bytecodegenerierung

evtl. elementare Programmanalysen/Optimierungen

Am Ende steht ein vollst¨andiger, lauff¨ahiger, getesteter Compiler.

Compilerpraktikum Wintersemester 2008/09 2 / 2

Referenzen

ÄHNLICHE DOKUMENTE

• ∆ Mini: Annot erweitert (durch Seiteneffekt) die globale Umgebung um neue Klassen erweitert, sobald diese referenziert werden. • F¨ ur die Rekursion scheinen die Klassen schon

• ∆ Mini: Annot erweitert (durch Seiteneffekt) die globale Umgebung um neue Klassen erweitert, sobald diese referenziert werden. • F¨ ur die Rekursion scheinen die Klassen schon

Eine Methodenredifinition in einer Unterklasse darf einen st¨ arkeren R¨ uckgabewert haben als die urspr¨ ungliche Definition (covariant returns). H¨ aufige Anwendung ist

Bedingte Kompilation: Text dazwischen wird nicht eingesetzt, wenn BEDINGUNG falsch ist. \Hello World" nach Praprozessor:

Sprachen wie While sind damit nicht direkt auf einem solchen Rechner ausf¨ uhrbar, sondern m¨ ussen ¨ ubersetzt werden.. Die Regeln der Big-Step-Semantik (und auch

Dabei wird aber das auszuf¨ uhrende Programm selbst nicht in eine f¨ ur den Rechner geeignetere Darstellung ¨ ubersetzt.. Direkter geht es, wenn man einen solchen Rechner und

[r]

Beispiel 2: initialisiere ein Feld mit den ersten 100 ungeraden Zahlen – auch hier kann die vereinfachte Schleife nicht verwendet