Einführung in SWI-Prolog
SWI-Prolog starten
Auf den Computern der RBG (Rechnernamen gruenau1, gruenau2, ... usw.) ist SWI-Prolog in der Version 7.6.4 installiert. Um SWI-Prolog zu starten, loggen Sie sich in einen der Rechner ein, starten eine Befehlskonsole und geben
ein. Daraufhin sollte folgende Eingabeaufforderung erscheinen:
Welcome to SWI-Prolog (threaded, 64 bits, version 7.6.4)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.
For online help and background, visit http://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).
?-
Ausgaben des Prolog-Interpreters sind hier blau dargestellt.
Jetzt können Sie Anfragen an das Prolog-System stellen. Anfragen enden mit einem Punkt ".", dadurch lassen sich auch Anfragen über mehrere Zeilen verteilen:
| Z is X - 10.
X = 6,
Z = -4.
?-
Um ein Programm in den Prolog-Interpreter zu laden, benutzen Sie die Anfrage
beziehungsweise
SWI-Prolog versucht daraufhin, die Datei "datei.pl" aus dem aktuellen Verzeichnis zu laden. Falls diese nicht existiert, wird nach "datei" gesucht. Beachten Sie, dass beide Anfragen mit dem Fehler
ERROR: Arguments are not sufficiently instantiated
scheitern, wenn der Ausdruck "datei" nach den Syntaxregeln von Prolog eine Variable repräsentiert, d.h. beispielsweise, wenn "datei" mit einem Großbuchstaben beginnt. Sie können einen beliebigen Dateinamen angeben, wenn Sie ihn in Apostrophen einschließen:
Das aktuelle Verzeichnis können Sie sich mit
und dessen Inhalt mit
anzeigen lassen. Mit
können Sie in ein anderes Verzeichnis wechseln.
Mit dem Befehl
können Sie auf der Konsole aufräumen und löschen den Inhalt des angezeigten Bereichs.
Die Entwicklungsumgebung
SWI-Prolog enthält eine abgespeckte Variante des Text-Editors emacs. Diese lässt sich mit
aufrufen. Insbesondere verfügt dieser emacs über farbige Syntax-Hervorhebung und automatische Einrückung, außerdem können Sie im Menü "Compile/Compile Buffer" das aktuelle Programm in den Interpreter laden.
Bitte beachten Sie, dass der Text-Editor nur gestartet werden kann, wenn Sie SWI-Prolog aus der graphischen Oberfläche eines der Rechner heraus ausführen.
Die Hilfsfunktion von SWI-Prolog
SWI-Prolog enthält ausführliche Hilfsfunktionen. Mit
können Sie einen Hilfe-Browser starten und
Hilfe zu einem bestimmten Thema, beispielsweise einem Prädikat, anfordern. Die Anfrage
durchsucht die Hilfeseiten nach Themen, deren Bezeichnung den Ausdruck ausdruck enthalten. Beispielsweise öffnet die Eingabe der Anfrage
ein Hilfefenster mit dem folgenden Text:
Bitte beachten Sie, dass die Hilfe-Funktionen nur gestartet werden kann, wenn Sie SWI-Prolog aus der graphischen Oberfläche eines der Rechner mitte, kudamm usw. heraus ausführen.
Weitere nützliche Tipps
Die Datenbank von Prolog anzeigen und verändern
Der aktuelle Inhalt der Datenbank von Prolog kann mit der Anfrage
angezeigt werden. Mit der Anfrage
oder
können Sie direkt in die Datenbank von Prolog eingeben:
gerade([]).
|: gerade([_, _ | Rest]):-
|: gerade(Rest).
|: true.
?-
Mit Drücken von Strg+D kommen Sie wieder in den normalen Modus zurück.
Die Anfrage
prüft für alle geladenen Dateien, ob sie auf der Festplatte verändert wurden, und lädt sie gegebenenfalls neu.
Debugging
Die Anfrage
führt dazu, dass künftige Aufrufen von name angezeigt werden. Beispiel:
% gerade/1: [call,redo,exit,fail]
true.
[debug] ?- gerade([a,b,c]).
T Call: (6) gerade([a, b, c])
T Call: (7) gerade([c])
T Fail: (7) gerade([c])
T Fail: (6) gerade([a, b, c])
false.
Damit wird automatisch der Debug-Modus aktiviert. Die Eingabeaufforderung lautet deshalb
Der Debug-Modus kann mit der Anfrage
verlassen werden.
SWI-Prolog verlassen
Durch einmaligem Drücken von Strg+D (in einer leeren Eingabezeile) wird SWI-Prolog sofort und ohne weitere Nachfragen beendet. Hierfür kann ebenso die Anfrage
verwendet werden.