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. 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. 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. 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