Zurück Weiter Inhaltsverzeichnis

5. Ausgabedatei

Die in Eingabedatei beschriebenen Parameter bestimmen, welche Ausgaben auf den Bildschirm bzw. in die Ausgabedatei geschrieben werden. Zusätzlich werden auch die Zeilen der Eingabedatei in der Ausgabedatei zitiert, indem ein > vorangestellt wird.

5.1 Symbole

Die Symbole hinter den Sätzen und Regeln bedeuten:

S/K

S ist die Stufe dieses Satzes, d.h. die Zahl der Expansionen und Kompressionen, die notwendig waren, um diesen Satz zu erzeugen. K ist die Zahl der Kompressionen.

a

Alle Regeln wurden hierauf angewandt.

k

Komprimierbar.

K

Durch Kompression entstanden.

o

Die Regel ist obsolet.

5.2 Info-Block

Ein Info-Block wird nach jeder neuen Regel und nach den Äquivalenzklassen ausgegeben. Außerdem nach jeder Speicheranforderung, falls der Parameter ``Info bei Speicheranforderung ausgeben'' gesetzt ist (siehe Eingabedatei).

Ein typischer Info-Block sieht so aus:

Info:
Step:                    1
Zeit:                    13.24 s
Speicher:                205492 bytes
  Ausdruck-Arrays:       48664 bytes
  Einheiten:             16 = 160000 bytes
    Konstante:           1
    Variable:            1
    Funktion:            1
    Ausdruck:            5
    Suchbaumknoten:      8
Anzahl Handles:          2883
Regelergebnisse:         4880
  pro s:                 512.48
davon zu lang:           1910
zu lange Substitutionen: 43
gespeicherte Saetze:     1496
erzeugte Regeln:         1
Warnungen:               1953
Fehler:                  0

Step

Die Nummer des gerade abgearbeiteten Schritts, siehe Eingabedatei.

Zeit

Die abgelaufene Prozessorzeit.

Speicher

Der allozierte Speicher. Er stimmt nur sehr grob, siehe Eingabedatei.

Regelergebnisse

Die Zahl der abgeleiteten Regelergebnisse.

pro s

Die Zahl der seit dem letzten Info-Block abgeleiteten Regelergebnisse pro Sekunde.

davon zu lang

Die Anzahl der Regelergebnisse, die zu lang waren oder die zu viele verschiedene Variablen enthielten. Siehe die entsprechenden Parameter in Eingabedatei.

zu lange Substitutionen

Die Zahl der Unifikationen, die bereits wegen einer zu langen Substitution abgebrochen wurden. Dieser Parameter kann ausreichend hoch eingestellt werden, da er kaum Auswirkungen auf die Laufzeit hat.

gespeicherte Saetze

Die Zahl der in Äquivalenzklassen gespeicherten Sätze. Sie ist kleiner als die Zahl der Regelergebnisse minus der Zahl der zu langen Regelergebnisse, da viele Sätze doppelt erzeugt werden.

erzeugte Regeln

Die Zahl der gefundenen neuen Regeln.

Warnungen

Die Zahl der Warnungen, auch der nicht angezeigten. Diese können getrost ignoriert werden.

Fehler

Die Zahl der aufgetretenen Fehler. Sie sollte Null sein, andernfalls liegt ein Fehler in der Eingabedatei oder im Programm vor.

5.3 Äquivalenzklassen

Hier werden die erzeugten Äquivalenzklassen mit den Sätzen, die sie enthalten, ausgegeben. f bedeutet die freien, g die gebundenen Variablen. Die Sätze sind der Länge nach geordnet. Die Standardform ist der im Sinne der Kompression kleinste Satz. Die Begriffe Standardform, freie und gebundene Variablen werden in Einführung erklärt.

5.4 Fehler und Warnungen

Fehler der Form ``Fehler: ...'' beim Abarbeiten der Eingabedatei deuten auf einen Fehler in der Eingabedatei hin.

Fehler der Form ``Fehler in Modul ... in Zeile ...'' ohne weitere Erklärung deuten auf einen internen Fehler im Programm hin. Sie sollten niemals auftreten, siehe Bugs.

Fehlermeldungen des Betriebssystems wie ``segmentation fault'', ``general protection fault'' und ``stack overflow'' bedeuten einen internen Fehler im Programm, siehe Bugs.

Das Programm bricht bei einer Fehlermeldung nicht ab, sondern wartet auf einen Tastendruck, falls der entsprechende Parameter nicht verstellt wurde, siehe Eingabedatei. Ein Fehler zieht allerdings meist weitere Fehler nach sich, so dass es häufig sinnvoll ist, das Programm im Falle eines Fehlers mit Ctrl-c abzubrechen.


Zurück Weiter Inhaltsverzeichnis