Abgabe KSP-Hausuebung 2

1) DIE NACHFOLGEND GENANNTEN REGELN SIND VERBINDLICH. Werden sie nicht exakt befolgt, gilt die Hausuebung als nicht abgegeben.

2) Die eigentliche Abgabe ist ein tar/gzip-Archiv, das folgendermassen gebaut wird:
a) Alle Dateien (und ggf. Unterverzeichnisse) befinden sich in einem Verzeichnis, das als Namen die Benutzerkennung (bzw. hg-Nummer) eines Teammitgliedes hat. ACHTUNG: Benutzerkennung, NICHT Matrikelnummer!
b) WICHTIG: Stellen Sie fuer die folgenden Schritte c) und d) Ihr Arbeitsverzeichnis auf das Verzeichnis direkt oberhalb des Verzeichnisses aus a) ein.
c) Mit 'tar -cvf hg12345.tar hg12345' bauen Sie das Archiv. Ersetzen Sie hg12345 durch Ihre Benutzerkennung (bzw. hg-Nummer).
d) Mit 'gzip hg12345.tar' packen Sie das Archiv. Ersetzen Sie auch hier hg12345 durch Ihre Benutzerkennung (bzw. hg-Nummer).

3) Das Verzeichnis (im Beispiel hg12345) enthaelt eine Datei mit dem Namen 'KSP-HU2.TEAM'. WICHTIG: achten Sie auf korrekte Schreibweise des Dateinamens! Diese Datei enthaelt genau eine Zeile fuer jedes Teammitglied (d.h. insgesamt entweder eine oder zwei Zeilen). Jede Zeile ist folgendermassen aufgebaut: Nachname, Vorname, Matrikel-Nummer (mit Kommata zwischen Nachname, Vorname und Matrikel-Nummer). Umlaute bitte als zwei Buchstaben, es-zett als doppel-s schreiben!

4) Ihre Hausuebung MUSS sich mit einem von Ihnen mitgelieferten Bash-Skript (Name: mknjvm) zusammenbauen lassen und MUSS ein Executable mit dem Namen 'njvm' erzeugen. Benutzen Sie 'gcc -g -Wall -std=c89 -pedantic'; beseitigen Sie alle moeglicherweise auftretenden Warnungen. Hier finden Sie ein Beispiel fuer ein solches Skript. (Dieses Beispiel geht davon aus, dass die Quellen fuer die Bibliothek zum Rechnen mit grossen ganzen Zahlen - also die Dateien "bigint.c", "bigint.h" und "support.h" - in einem Unterverzeichnis mit Namen "bigint" stehen. Das sollten Sie genauso machen.) Achten Sie darauf, dass die x-Bits der Skript-Datei gesetzt sind, so dass sie ausfuehrbar ist (das kann man mit 'chmod +x mknjvm' bewerkstelligen). Achten Sie auch darauf, dass sich das Skript in Ihrem Hauptverzeichnis (im Beispiel hg12345) befindet.

5) Die Hausuebung MUSS sich bzgl. der Kommandozeilenargumente und der Ausgaben GENAUSO verhalten wie die Referenzimplementierung. Insbesondere MUSS sie ohne das Argument '--debug' von alleine anlaufen und darf KEINE ZUSAETZLICHEN ZEICHEN AUSGEBEN. (Diese Forderung erstreckt sich NICHT auf Fehlersituationen und den Debugger. Hier duerfen Sie kreativ taetig sein!)

6) Die Hausuebung MUSS die Spezifikation Ihres Debuggers in einer Datei mit dem Namen 'debug.txt' enthalten. Sie KANN darueber hinaus eine README-Datei mit Erklaerungen zum Bau, der Installation oder besonderen Features Ihrer Loesung beinhalten (eben alles, was Sie einem Benutzer mitteilen wollen, damit er erfolgreich mit Ihrer Software arbeiten kann).

7) Die Abgabe erfolgt hier. Es werden ein paar formale Ueberpruefungen durchgefuehrt und Ihr Programm muss einen kleinen Test bestehen. Geht irgend etwas schief, bekommen Sie sofort eine Rueckmeldung. Sie koennen Ihre Abgabe bis zur Deadline beliebig oft wiederholen; die letzte Abgabe zaehlt.

Viel Erfolg!