Projekt zur Vorlesung Übersetzerbau (SS01): 
Ein Übersetzer für
TassKaf

Die Sprache TassKaf ist eine vereinfachte Version von Java. Sie wurde von Stephan Diehl entwickelt und dient als Quellsprache für das Projekt der Übersetzerbauvorlesung im Sommersemester 2001.
Folgende Themen werden auf dieser Seite abgehandelt:

Vorbereitungen (studcs)

Einige Umgebungsvariablen müssen gesetzt werden.:
  1. Die PATH-Variable sollte folgenden Pfad enthalten: /usr/local/jdk/bin:/home/stud/mlangen/TassKaf/bin
  2. Die CLASSPATH-Variable sollte gesetzt sein auf: .:/usr/local/jdk/lib:/home/stud/mlangen/TassKaf
 Umgebungsvariablen setzt man mit: Diese Zeilen sollten der .cshrc resp. .tchshrc bzw. .bashrc hinzugefügt werden. Wenn alles korrekt konfiguriert ist, sollte die Ausgabe in der rechten Spalte ausgegeben werden, wenn der Befehl in der linken Spalte eingegeben wird:
 
java Usage: java [-options] class [...]
jasmin usage: jasmin [-d <directory>] [-version] <file> [<file> ...]
java JLex.Main Usage: JLex.Main <filename>
java java_cup.Main Opening files...
Parsing specification from standard input...

Falls der java-Aufruf  in einer Abort-Nachricht enden sollte, sollte LD_LIBRARY_PATH auf einen gültigen Pfad überprüft werden, im Zeifelsfall nicht setzen.

Hinweis: Das Verzeichnis /home/stud/mlangen is nicht gruppen-/weltlesbar, man kann allerdings in das TassKaf-Unterverzeichnis wechseln.


Das Projekt

Das Ziel des Projekts ist die Implementierung eines Übersetzers für die Sprache TassKaf (files/syntax.ps.gz).Das Projekt ist - ähnlich wie ein Compiler - in verschiedene Teilaufgaben unterteilt:
  1. Codeerzeugung
  2. Syntaktische Analyse
  3. Semantische Analyse
Die Zielsprache der Codeerzeugung ist Jasmin-Assembler. Die erzeugte Datei wird dann mittels Jasmin nach Java Bytecode übersetzt. The Übersetzer soll in Java implementiert werden mit Hilfe von JLex (ein Generator für lexikalische Analysatoren), Cup (ein Parsergenerator) und einigen zur Verfügung gestellten Klassen.

Für die drei Projektteilen sind die folgenden Abgabefristen einzuhalten:
 

1. Meilenstein: Codeerzeugung Freitag, 18. Mai 2001, 1200 Uhr
2. Meilenstein: Syntaktische Analyse Freitag, 8. Juni 2001, 1200 Uhr
3. Meilenstein: Semantische Analyse Freitag, 29. Juni 2001, 1200 Uhr


Organization

Über den Mailverteiler compilerbau@cs.uni-sb.de, in dem alle Hörer der Vorlesung eingetragen sind, können Fragen gestellt und diskutiert werden sowie Kommentare und Anregungen gegeben werden.


Dokumentation


Vorlesungsunterlagen

Folien:

Übungen:


Literatur


Links



This page is maintained by Marc Langenbach. For questions and suggestions send email to mlangen@cs.uni-sb.de.
Last updated June 21 2001.