Module und Projekte in Oberon und Prolog - es gibt Ähnlichkeiten. Das kann beim lehren und lernen hilfreich sein.
Im Folgenden wird an einem kleinen Beispiel gezeigt, wie man in Amzi-Prolog Module, Projekte und ausführbare Dateien erstellen kann.
Ein Modul ist die Zusammenfassung von Prädikaten unter einem gemeinsamen (Modul-)Namen. Ein Modul kann Prädikate von anderen Modulen importieren und ebenso Prädikate durch exportieren in anderen Modulen bereitstellen. Projekte sind nützlich, wenn die Applikation aus mehreren Dateien besteht; es lassen sich z.B. alle Files gut zusammenhalten während man sich der Bearbeitung einer Datei zuwendet.
Für die Erläuterung steht ein Rechentrainer als Datei rechnen.pro zur Verfügung: Hier werden zwei ganze Zufallszahlen aus dem Bereich von 1 bis 100 erzeugt und miteinander multipliziert. Dann wird auf die Eingabe des richtigen Ergebnisses gewartet. ber die Repeat-Schleife am Programmanfang kann man beliebig viele Aufgaben erzeugen. Dieses Programm läuft mindestens ab Amzi-Version 5-0-31.
Diese Einzeldatei, rechnen.pro, wird nun zerlegt in die 3 Dateien :
Download der vier Dateien (im Zip-Format gepackt)
Die verwendete Notation für Module bezieht sich auf Amzi-Version 6-2-10 . Benutzt man Vorgängerversionen sollte man in der Hilfe nachlesen und die Schreibweise evtl. geringfügig anpassen.
Zahl1.pro wird über |
:-module(zahl1).
....... :-end_module(zahl1). als Modul definiert. |
Analog geschieht dies für zahl2.pro.Die Exportdirektive :-export(zahlX/1) ist Teil der Moduldefinition und ermglicht den Aufruf von trainer.pro aus. Im Hauptmodul trainer.pro werden über :-import(zahl1) und :-import(zahl2) die beiden Zufallszahlen und ihre Ausgabe importiert, d.h. für trainer.pro sichtbar gemacht.
Die 3 Dateien trainer.pro, zahl1.pro und zahl2.pro müssen noch compiliert und zu einem Projekt zusammengefügt werden.
In der Amzi Entwicklungsumgebung wählt man:
File/New Project
XPL-File : trai.xpl
Directory: Verzeichnis der 3 Dateien
Add Files: trainer.pro, zahl1.pro, zahl2.pro
File/Save as: trai.ppj
Für jedes Projekt muss es genau eine *.xpl Datei geben. Die Vornamen der *.xpl und *.ppj Dateien müssen gleich sein. Compile, Link und Run können über den BLD und RUN Button ausgelöst werden.
Um eine im DOS-Ausgabefenster ausführbare Datei zu erstellen, kopiert man arun.exe aus \amzi\bin\ in das Projektverzeichniss und gibt ihr den Namen trai.exe (copy arun.exe trai.exe).
Für weiterführende Hinweise eignet sich sehr gut das Beispiel Duckworld aus Amzi-Prolog.
K. Hohmann Gymnasium Friedrichroda