Erwerb funktionaler, räumlicher und kausaler Beziehungen von ...

ai.cs.uni.dortmund.de

Erwerb funktionaler, räumlicher und kausaler Beziehungen von ...

Überführen der generierten Klassen in ein Datenbankformat 72

4.0 für WINDOWS NT, SUN C++ Version 3.0.1 für UNIX. Der Programmablauf von

MOBTODB läßt sich in folgende Schritte aufteilen:

• Einlesen der Konfigurationsdatei

Die Konfigurationsdatei wird zeilenweise gelesen und auf Fehler überprüft. Konnte

kein Fehler gefunden werden, wird der Inhalt der Zeile in einer Datenstruktur abgelegt.

Diese enthält die Namen der Ein- und Ausgabedatei, und eine dynamische Liste der

Definitionen der Konfigurationsdatei.

• Lesen der Eingabedatei und schreiben der Ausgabedatei

Die Eingabedatei wird zeilenweise gelesen, und die Ausgabezeilen werden nach dem

oben beschriebenen Schema gebildet. Dabei wird die Liste, die die Definitionen der

Konfigurationsdatei enthält, zur Erzeugung jeder Ausgabezeile erneut durchlaufen, und

die erzeugt Zeile wird direkt, das heißt ohne Zwischenspeicherung, in die

Ausgabedatei übertragen. Da jede Zeile der Eingabedatei einer von STT erzeugten

Klasse entspricht, werden die gelesenen Zeilen während der Umformung mitgezählt

und nach Ausführung des Programm am Bildschirm angezeigt. Die einzige Ausnahme

bilden die Klassen NIL und ALL die nicht mitgezählt werden, da MOBTODB aus

diesen Klassen keine Ausgabe erzeugt.

Einschränkungen

• Die Anzahl von Zeichen einer Zeile der Konfigurationsdatei ist auf 1000 beschränkt.

• Die Anzahl von Zeichen einer Zeile der Eingabedatei ist auf 10000 beschränkt

• Die Anzahl von Zeichen der Namen der Eingabedatei und der Ausgabedatei sind auf

200 beschränkt.

Fehlermeldungen

Während MOBTODB die Konfigurationsdatei einliest, wird sie auf mögliche Fehler

überprüft. Wird ein Fehler entdeckt, bricht das Programm mit einer Fehlermeldung ab.

Die möglichen Fehlermeldungen sind im folgenden aufgeführt. Sie sind im wesentlichen

selbsterklärend.

Unknown Syntax

No configfile

Incorrect range for argument definition

Incorrect arguments

No inputfile

No outputfile

Empty outputfile declared

Not enough memory

Cannot open file for input: ",filename

Cannot open file for output: ",filename

Line too long

Argument to long

Weitere Magazine dieses Users
Ähnliche Magazine