Abgabe KSP-Hausuebung 2
1) DIE NACHFOLGEND GENANNTEN REGELN SIND VERBINDLICH. Werden sie nicht
exakt befolgt, gilt die Hausuebung als nicht abgegeben.
1.1) Aendern Sie Ihre VM so, dass sie Programme, die mit dem Assembler fuer die VM 8 assembliert wurden, ausfuehrt.
Das bedeutet: Passen Sie die Kontrolle der Versionsnummer so an, dass 8 eine valide Version ist!
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!