SWI-Prolog

Analog zum Java-Editor steht mit dem SWI-Prolog-Editor (Download Version 4.21 vom 31.03.2014) eine schulgeeignete Windows-Entwicklungsumgebung zur Arbeit mit Prolog zur Verfügung. In der folgenden Dokumentation des SWI-Prolog-Editors finden Sie kurzgefasst die wichtigsten Informationen.

Sprachen

Der SWI-Prolog-Editor kann mittels Sprachdateien auf verschiedene Sprachen eingestellt werden. Diese werden auf der internationalen Seite des SWI-Prolog-Editors angeboten.

Installation von SWI-Prolog

Vor der Installation des SWI-Prolog-Editors sollten Sie SWI-Prolog installieren. Die notwendigen Programme und Hilfedateien findet man auf der SWI-Prolog-Seite. Sie können nur die 32-Bit-Version von SWI-Prolog benutzen. Zuerst installieren Sie SWI-Prolog. Für die Nutzung in der Schule empfiehlt sich die Installation auf einen Server.

Dann entpacken Sie das HTML-Handbuch zu XPCE in den SWI-Prolog-Ordner /doc. Beim Entpacken wird automatisch der zugehörige Ordner UserGuide angelegt.

Installation von SWI-Prolog-Editor

Nach dem Download des SWI-Prolog-Editors entpacken Sie die Dateien in einen temporären Ordner und rufen das Installationsprogramm auf.

Die Installation erfolgt mit einem speziell entwickelten Installationsprogramm. Nur so kann eine auf die schulischen Anforderungen angepasste Installation erfolgen.

Der SWI-PrologEditor lässt sich lokal oder bei serverbasierter Installation in ein Netzlaufwerk installieren. Als Installationsordner wird C:\Programme\SWI-Prolog-Editor vorgeschlagen, über das zugehörige Symbol können Sie einen anderen Ordner auswählen.

Zum Abschluss der Installation rufen Sie den SWI-Prolog-Editor auf, um die Registry bzw. INI-Dateien anzulegen. Kontrollieren Sie die Einstellungen im Menü Fenster|Konfiguration.

Installation auf einen Server

Installieren Sie einmal von einem Client aus den SWI-Prolog-Editor auf den Server. Von den anderen Clients aus starten Sie dann auf dem Server das Setup-Programm und wählen Verbinden, um auf dem Client eine Desktop-Verknüpfung und einen Eintrag in das Startmenü zu erzeugen.

Installation in INI-Dateien

Ist die Registry durch den Einsatz von Wächterkarten nicht nutzbar, können alternativ die Konfigurationseinstellungen in INI-Dateien gespeichert werden.

Bei dieser Installationsart wird im Installationsordner eine Konfigurationsdatei SWIMachine.ini mit den systemspezifischen Einstellungen der Registerkarten Programme sowie Dokumentation angelegt. Stellt der SWI-Prolog-Editor beim Start fest, dass diese Datei in seinem Ordner existiert, werden die Einstellungen aus den INI-Dateien statt aus der Registry entnommen.

Die benutzerspezifischen Einstellungen werden in separaten Ordnern und INI-Dateien gespeichert und verwaltet. Sinnvollerweise benutzt man dazu das Home-Verzeichnis des angemeldeten Benutzers, das lokal liegen kann oder über ein Netzlaufwerk bzw. UNC erreichbar sein muss. Der Benutzername kann bei Bedarf über die Variable %Username% eingesetzt werden.

Die INI-Dateien im Installationsordner können nach der Installation mit einem Schreibschutz versehen werden. Schüler können dann keine Änderungen an den systemspezifischen Einstellungen vornehmen.

Deinstallation

Zur Deinstallation rufen Sie im Installationsordner das Programm Setup auf. Nach Abschluss der Deinstallation löschen Sie das Programm setup.exe manuell, da es sich nicht selbst löschen kann.

Bei einer Netzinstallation mit INI-Dateien können prinzipiell die benutzerspezifischen INI-Dateien nicht gelöscht werden, weil das Deinstallationsprogramm keinen Zugriff auf die Home-Verzeichnisse hat.

Material

Das Buch Informatik mit Prolog stellt didaktisch gut aufbereitetes Material zum Einsatz von Prolog im Informatikunterricht zur Verfügung. Nutzen Sie die Möglichkeit, das Buch im Klassensatz anzuschaffen.

Der SWI-Prolog-Editor unterstützt auch den Einsatz des XPCE-Systems, mit dem Windows-Programme geschrieben werden können. Insbesondere sind grafische Ausgaben möglich. Als Anwendungen des XPCE-Systems werden angeboten:

Das spur-Prädikat ist ein Metainterpreter, mit dem der Ablauf eines Prolog-Programms in übersichtlicher Weise verfolgt werden kann. Seine Anwendung wird im Buch Informatik mit Prolog erläutert.
Das spur-Prädikat wird wie die Turtle und der grafische Terminterpreter als Systemerweiterung installiert. Nach dem Download der drei Systemerweiterungen kopiert man diese in den Ordner library von SWI-Prolog und gibt dann im SWI-Prolog-Editor die Anweisung ?- make. ein. Sollte der Index für die Systemerweiterungen nicht aufgebaut werden, so öffnet man die drei Systemerweiterungen, speichert sie unverändert mit aktuellen Datum ab und gibt nochmals ?- make. ein.

Dokumentation

SWI-Prolog ist eine hervorragende Prolog-Implementierung von Jan Wielemaker. Für den unterrichtlichen Einsatz ist allerdings dessen Konsolenmodus wenig geeignet. Der SWI-Prolog-Editor ist eine schülerorientierte und unterrichtsgeeignete Entwicklungsumgebung für die Arbeit mit SWI-Prolog.

Überblick

Im Bild sehen Sie das Programmfenster des SWI-Prolog-Editors mit Menü- und Symbolleiste. Im linken Fenster steht das Prolog-Programm familie.pl, das rechte Fenster zeigt den Inhalt der SWI-Prolog-Hilfe.

Unten befindet sich das Fenster von SWI-Prolog, in dem gerade die Anfrage ?- elternteil(X, maria). beantwortet wird.

Datei-Menü

Im Datei-Menü steht neben den üblichen Operationen wie Neu, Öffnen, Speichern und Drucken noch das Exportieren von Prolog-Programmen im HTML- oder RTF-Format zur Verfügung. So kann die Syntax-Auszeichnung im Editor-Fenster problemlos in Dokumentationen der Schüler bzw. in Arbeitsblätter des Lehrers übernommen werden.

Bearbeiten-Menü und Symbole des Editor-Fensters

Der Editor unterstützt die Arbeit mit der Windows-Zwischenablage, das Suchen und Ersetzen und mehrstufiges Rückgängig machen von Operationen. Per Symbol können Lesezeichen gesetzt und aufgesucht werden, Zeilennummern lassen sich optional anzeigen. Steht der Cursor direkt vor einer Klammer, so springt man mit dem Klammern-Symbol zur zugehörigen zweiten Klammer. Markierte Textblöcke lassen sich ein-/ausrücken sowie ein-/auskommentieren. Markierter Text kann im Text-, HTML- und RTF-Format in die Windows-Zwischenablage kopiert werden.

Start-Menü

Über das Start-Menü bzw. das zugehörige Symbol kann das im aktiven Editor-Fenster stehende Programm consultiert werden. Fehlermeldungen werden im SWI-Prolog-Fenster angezeigt. Per Doppelklick auf eine Fehlermeldung oder über das Kontextmenü wird der Cursor auf die Fehlerzeile im Quelltext positioniert.

Bei laufenden Anfragen werden die Befehle Weiter und Abbrechen aktiviert, um weitere Lösungen anzufordern bzw. die Abfrage zu beenden.

Gegebenenfalls können Sie das Arbeitsverzeichnis neu setzen oder mit Neu starten SWI-Prolog neu starten.

Test-Menü

Mit den Befehlen des Test-Menüs führen Sie ein Programm im Trace-Modus schrittweise aus, setzen oder löschen Haltepunkte und lassen sich den Aufrufstack anzeigen.

Fenster-Menü

Neben den Grundfunktionen zum Anordnen, Öffnen und Schließen der Fenster kann die Schriftart ausgewählt und der Konfigurationsdialog aufgerufen werden.

Konfiguration
Programme

Einzustellen ist der Pfad zum SWI-Prolog-Verzeichnis. Das macht man am besten über den Wählen-Schalter, denn dann werden die anderen Pfade entsprechend angepasst. Ausgehend von diesem Pfad werden die davon abhängigen Unterverzeichnisse, Programme und Dokumentationen ermittelt.

Unter Parameter steht der Aufrufparameter für SWI-Prolog. Standardmäßig werden 32 MB für den lokalen Stack reserviert.

Dokumentation

Die hier konfigurierten Verzeichnisse werden für die Befehle im Hilfe-Menü benutzt. Im Manual-Verzeichnis wird das HTML-Handbuch von SWI-Prolog installiert, im UserGuide-Verzeichnis das HTML-Manual von XPCE.

Befehlsweise kann man die Online-Dokumentation benutzen:

Zur besseren Performance werden beim OnlineZugriff die benutzten Dokumentationsdateien gecacht, also lokal abgespeichert. Standardmäßig ist als Cache-Ordner C:\Dokumente und Einstellungen\%username%\Anwendungsdaten\SWI-Prolog-Editor\Cache eingestellt.

Editor

Bei aktivierter Einrückhilfe wird statt auf die nächste Tabulatorposition auf den nächsten Wortanfang der darüberliegenden Zeile positioniert.

Der automatische Zeileneinzug setzt bei Eingabe von Return den Cursor in der nächsten Zeile auf das erste nicht leere Zeichen der vorherigen Zeile.

Die Tabulatorweite läßt sich einstellen. Die Einrücktiefe wird beim Ein- und Ausrücken von Textblöcken benutzt.

 

Die Angabe im Autor-Feld wird beim Anlegen eines neuen Programms in den Prolog-Quelltext übernommen.

Über Kodierung stellen Sie ein, mit welcher Kodierung neue Dateien gespeichert werden.

Unter Struktur legen Sie fest, wie die Prädikate, Fakten und Regeln in der Dateistruktur angezeigt werden.

 

Code

Auf dieser Registerkarte aktivieren Sie die Code-Vervollständigung und Parameter-Hinweise und legen deren Verzögerung in Millisekunden fest. Die Code-Vervollständigung wird mit der Tabulator-Taste aktiviert. Sie zeigt dann in einem Auswahlfeld alle Prädikate an, welche mit den zuvor eingegebenen Buchstaben beginnen.

Für die Code-Vervollständigung muss die Prolog-Dokumentation installiert sein.

Farben

Die Farben für die Syntaxhervorhebung lassen sich hier konfigurieren.

Wählt man links ein Syntax-Element aus, so werden dessen Vordergrund-Farben und Textattribute rechts angezeigt. Anschließend stellen Sie für dieses Element die gewünschte Vordergrundfarbe und die Textattribute ein. Der Schalter Standard stellt für alle Syntax-Elemente die Standard-Farben ein.

Browser

Ist der Internet-Explorer ab Version 4 installiert, so können Sie ihn intern im SWI-Prolog-Editor zur Anzeige der Dokumentation benutzen.

Soll stattdessen der Browser extern benutzt werden, so sind die Angaben Browsertitel und Alt-Tasten für Datei öffnen im Browser nötig. Der SWI-Prolog-Editor prüft zunächst, ob der Standardbrowser schon geladen ist. Dazu benötigt er den Browsertitel, also zum Beispiel Netscape Navigator oder Internet Explorer. Ist er schon geladen, so wird die darzustellende HTML-Seite über das Datei-Menü des Browsers mit dem Befehl Öffnen in das sich öffnende Adressfeld eingetragen. Dazu wird das Datei-Menü mit Alt-D aktiviert und mit F der Öffnen-Befehl ausgewählt. Daraus resultiert die Angabe DF im Konfigurationsdialog. In einer englischsprachigen Version des Browsers muss der Eintrag entsprechend angepasst werden.

Drucker

Auf der Registerkarte Drucker legen Sie die Druckränder fest, definieren die Kopf- und Fußzeile und bestimmen die Verwendung von Zeilennummern.

Kopf- und Fußzeile sind in die drei Bereiche Links, Mitte und Rechts gegliedert, welche linksbündig, zentriert bzw. rechtsbündig gedruckt werden. DieTrennung der Bereiche wird durch die #-Zeichen festgelegt. In der Kopf- und Fußzeile können Sie neben feststehendem Text noch folgende variable Elemente drucken:

%Datei% der Dateiname
%Pfad% der Dateiname inklusive Verzeichnispfad
%Datum% das Druckdatum
%Zeit% die Druckzeit
%Seite% die Nummer der Druckseite
%Seitenzahl% die Gesamtzahl der Druckseiten
Optionen

Auf der Registerkarte Optionen können Sie einige Einstellungen vornehmen.

Mit der Option Integriertes SWI-Prolog-Fenster können Sie zwischen dem integrierten und dem originalen SWI-Prolog-Fenster wählen.

In der Einstellung Return zum Fortsetzen kann auch mit der Return-Taste die nächste Lösung angefordert werden, was einfacher als das standardmäßige ";" ist.

Die nächste Option schaltet beim no-/trace-Symbol auch den debug-modus ab.

Sinnvollerweise aktiviert man die Verknüpfung der pl-Dateien mit dem SWI-Prolog-Editor. So lassen sich beispielsweise im Windows-Explorer pl-Dateien per Doppelklick öffnen.

Beim Speichern können automatischen Sicherungsdateien mit der Dateierweiterung BAK angelegt werden.

Bei Prolog-Dateien, die beispielsweise von einer CD kopiert wurden, kann der Schreibschutz automatisch entfernt werden.

Zum Schluss kann eine Sprachdatei ausgewählt werden.

Hilfe-Menü

Das Hilfe-Menü bietet den direkten Zugang zur Dokumentation von SWI-Prolog und XPCE.

Befindet sich der Cursor über einem vordefinierten Prädikat so lädt die Indexsuche F1 die zugehörige Beschreibung aus der HTML-Dokumentation.

Editor

Der Editor basiert auf der SynEdit-Komponente. Neben den üblichen Editor-Funktionen bietet er Ein- und Ausrücken von Blöcken (Umschalt+Strg+I [indent] bzw. Umschalt-Strg-U [unindent]), Zeile löschen (Strg+Y), bis zum Ende der Zeile löschen (Umschalt+Strg+Y) sowie die Verwaltung von zehn Lesezeichen (setzen/löschen Umschalt+Strg+#, anspringen Strg+#). Die Lesezeichen können auch direkt in der Lesezeichenspalte bzw. mit dem Lesezeichen-Symbol gesetzt und gelöscht werden.