Bachelor Theses
Aufgabenstellung
Verlauf
Cubint
Fopra - Verlauf
Auf dieser Website ist der zeitliche Verlauf meines Fortgeschrittenenpraktikums
dargestellt. Die Links wurden alle deaktiviert. Die endgültige Version
der Arbeit kann unter Cubint abgerufen werden.
25.11.2004 offizieller Abschluß
Das Projekt ist hiermit offiziell abgeschlossen. Auf der Webseite von
Cubint ist nun auch der Abschlußbericht
zu finden.
07.11.2004 neue Webseite
Es wurden noch
einige Änderungen am Typsystem des Interpreters
vorgenommen. Für die akutelle und endgültige Version 1.0
wurde eine neue Webseite erstellt. Diese ist unter Cubint zu finden.
Unter diesem Link wird in Kürze auch die Ausarbeitung zur Verfügung
stehen, in der das Typsystem sehr detailliert dargestellt ist.
19.10.2004 Endgültige Version
Dies ist
die (hoffentlich) endgültige Version von Cubint. Falls
noch Änderungen folgen sollten, sind sie nur kosmentischer
Natur.
Der Interpreter hat im Vergleich zur Vorgänger Version
noch einmal leicht an Funkionaliät hinzugewonnen. Als
Haupterweiterung wurden Referenzen eränzt. So ist es jetzt
möglich die Kodierung imperativer Objekte (aus TAPL) direkt im
Interpreter nachzuvollzie hen. Desweiteren wurde die Fehlerausgabe
verbessert. Es wird jetzt die Datei, die Zeile und die Spaltennummer
angegeben, wo der Fehler aufgetreten ist. Let-Ausdrücke sind
ebenfall s hinzugekommen und können auf Termebene wie gewohnt
verwendet werden.
- Beispielsammlung
- Dokumentation
- Linux Archiv
04.10.2004 Neue verbesserte Version
In der neuen Version wurde (hoffentlich) alle Bugs eliminiert und der
Quelltext formatiert. Die Dokumentation und die Beispielsammlung wurden
erweitert.
- Beispielsammlung
- Dokumentation
- Linux Archiv
23.09.2004 Neue Version mit Subtyping
Einige Fehler in der alten Version wurden korrigiert. Der Interpreter gibt
jetzt informativere Fehlermeldungen aus. Subtyping wurde für die
Kalküle S,F und Fw implementiert.
- angepasste Dokumentation unter Userguide-new
- erweiterete Beispiele im Beispielverzeichnis
- Archiv für Linux
- Archiv für Windows
Momentan arbeite ich auch schon an der Ausarbeitung, die viele Details
über das Design des Interpreters enthält.
09.09.2004 Webseite erweitert und weitere Downloads
verfügbar
Der PrettyPrinter wurde verbessert und "merkt" sich jetzt jede
Definition. Mit dem neuen Kommando protocol kann man sich ein
komplettes Ausführungsprotokoll anzeigen lassen. Die
Dokumentation wurde entsprechend angepasst und ein vorcompiliertes
Paket für Windows bereitgestellt.
08.09.2004 Webseite erweitert
Die Dokumentation ist online als html unter Userguide (vgl. 09.09.2004)
verfügbar.
Beispiel können unter Tests (vgl. 09.09.2004) betrachtet werden.
07.09.2004 Erste Testversion online verfügbar
Der Quellcode des Interpreters ist nun so kompakt wie möglich
gehalten. Es wird nur noch ein Lexer und ein Parser für alle
Kalküle verwendet. Fehler, wie zum Beispiel eine
if-Anweisung in Typposition, werden nicht mehr vom Parser,
sondern vom Typchecker abgefangen. Das gepackte Packet mit User
Guide ist unter diesem Link (vgl. 09.09.2004)
verfügbar. Windows User müssen die Datei cubint in
cubint.exe umbennen.
Als nächstes werde ich mit der
Ausarbeitung beginnen. Hierbei werde ich mir auch anschauen, ob und
wie sich weitere Ergänzungen, wie bspw. Subtyping, integrieren
lassen.
30.08.2004
Erweiterung des Interpreters um ML-Typrekonstruktion.
Ich habe den Interpreter um zwei Modi mit Typrekonstruktion nach
ML-Art erweitert. Hierbei benutzte ich keine Typschemata, sondern
richte mich nach dem einfachen Verfahren aus TAPL, Seite 333. Der
erste Modus basiert auf syntax-gerichteten Verfahren, der zweite
verwenden Graphen. Bei Graphen bot es sich an, die Algorithmen an
zyklische Typen anzupassen. Daher stehen in diesem Modus
equi-rekursive Typen zur Verfügung. Die Basistypen Unit, Int und
Bool und die entsprechenden Operationen auf Termebene sind vorhanden,
Varianten und Rekords stehen noch aus.
23.08.2004 Fertigstellung des ersten Prototyps.
Ich habe die Kalküle S, F, Fw und CC
implementiert. Zusätzlich enthalten sie noch verschiedene
Erweiterungen, also Zahlen, Booleans mit Operationen, Rekords,
Varianten und iso-rekursive Typen. Desweiteren habe ich verschiedene
Bespiele aus TAPL zum Testen in die Syntax meines Interpreters
übersetzt. Der Interpreter verfügt auch über ein
Kommando step mit dem man sich eine Schritt-für-Schritt
Evaluierung veranschaulichen kann. Der nächste grosse Schritt
wird Typrekonstruktion sein. Davon in einiger Zeit mehr ...
19.04.2004
Die erste Version der Webseite ist online. Schwerpunkt der Arbeit
verläuft sehr wahrscheinlich in der kommenden vorlesungsfreien Zeit.
In diesem Bereich steht später auch die Ausarbeitung zur Verfügung.
Christian Müller, 03.12.2004