PROLOG 64

Aus C64-Wiki
Wechseln zu: Navigation, Suche
PROLOG 64
Titelbild
Entwickler Dr. Berthold Daum
Verleger Brainware
Release 1986
Lizenz Vollversion
Plattform(en) C64
Genre Entwicklungssystem für Prolog
Steuerung Icon tastatur.png
Medien Icon disk525 1.png
Sprache(n) Programm: Sprache:englisch
Handbuch: Sprache:deutsch
Information Version 1.2

Der Begriff PROLOG ist eine Abkürzung aus der französischen Sprache und bedeutet PROgrammieren in LOGik. Prolog wurde Anfang der 1970er Jahre von Alain Colmerauer und Philippe Roussel entwickelt. Danach entstanden verschiedene Dialekte von Prolog. 1981 erschien das Buch "Programming in PROLOG" [1] von Clocksin und Mellish. Darin wird ein sogenanntes Kern-PROLOG ("Edinburgh"-Standard) definiert.

Allgemeines[Bearbeiten]

Herausgeber und Vertrieb[Bearbeiten]

Der Intro-Bildschirm

Nicht mehr existent:
BRAINWARE Gesellschaft für Artificial Intelligence Systementwicklung und -beratung mbH
Kirchgasse 24
6200 Wiesbaden

Programmierer[Bearbeiten]

Dr. Berthold Daum

Vorgängerprogramme[Bearbeiten]

PROLOG 64 ist die erste PROLOG-Implementierung für Commodore C64.


Beschreibung[Bearbeiten]

Lieferumfang[Bearbeiten]

Die Original-Diskette

Das Entwicklungssystem ist auf einer Diskette gespeichert. Im A5-Ringordner findet sich das 98-seitige Handbuch.

Inhaltsverzeichnis der Diskette:

0 "prolog 64 v1.2  " v2 2a
9     "prolog"            prg      Lader PROLOG-System
8     "demoboot"          prg      spezieller Lader für Demo-Programm
3     "s to p"            prg      Umsetzer sequentielle Datei in Programmdatei
49    "p"                 prg      PROLOG-Interpreter
2     "sprites"           seq      Spritedefinitionen für Demo-Programm
15    "clean"             prg      Expertensystem für Fleckentfernung (Beispielanwendung von ’minishell’)
19    "corrector"         prg      Korrigierhilfe für PROLOG-Programme
19    "demo"              prg      Bibliothek für Demo-Programm
25    "editor"            prg      syntaktischer Editor für PROLOG
20    "files"             prg      Beispiel für Dateiverarbeitung
3     "gener"             prg      Bibliothek mit gensys und findall
5     "grammar"           prg      Bibliothek mit Grammatikregeln
10    "graphics"          prg      Bibliothek mit graphischen Routinen
7     "inout"             prg      Bibliothek mit komfortablen Ein- und Ausgaberoutinen
8     "libs"              prg      Hilfe für Bibliothekbenutzung
17    "logic"             prg      Bibliothek mit Übersetzer von Prädikatenlogik in Klauselform
23    "logiplan"          prg      Netzplantechnik
10    "mapping"           prg      Bibliothek mit maplist, applist und sort
16    "math"              prg      Bibliothek mit verschiedenen mathematischen Programmen
20    "minishell"         prg      Shell für Expertensysteme
8     "music"             prg      Bibliothek mit Musikroutinen
9     "project"           prg      Beispiel für Netzplantechnik
13    "search"            prg      Bibliothek mit verschiedenen Suchverfahren
6     "set"               prg      Bibliothek mit Mengenoperationen
7     "tcogrammar"        prg      Bibliothek mit Precompiler für Grammatikregeln
3     "liesmich"          prg      Info zur Version 1.2 von PROLOG 64 
18    "asm.docu"          prg      Info zum Aufruf von Assemblerunterprogrammen aus PROLOG heraus
7     "asm.example"       prg      ein Beispielprogramm dazu
300 blocks free.

Hardwareanforderung und -unterstützung[Bearbeiten]

Minimum:

Arbeitsweise[Bearbeiten]

Hierzu gibt das Handbuch folgende Auskunft:

"Die Einsatzmöglichkeiten von PROLOG liegen weniger auf dem Gebiet der numerischen Datenverarbeitung, sondern dort, wo Symbole verarbeitet werden:

  • Verarbeitung natürlicher Sprache, Übersetzer, Gesprächsführung
  • Expertensysteme
  • Formelbearbeitung z.B. Bildung des Differentialquotienten, Vereinfachung von Formeln, Verarbeitung biochemischer Formeln
  • mathematische Logik und automatisches Beweisen
  • relationale Datenbanken
  • Wissensbasen
  • Rapid Prototyping (Spezifikation eines Programmes erfolgt in PROLOG und kann gleich getestet werden, dann Programmierung in konventioneller Sprache)
  • intelligente Spiele
  • Bildverarbeitung (Szenenanalyse)

PROLOG arbeitet in vollkommen anderer Weise als herkömmliche Programmiersprachen. Herkömmliche Programmiersprachen arbeiten prozedural, d.h. der Programmierer bestimmt die Reihenfolge der Computeroperationen mittels der Programmbefehle.

Ganz anders in PROLOG. Hier werden nicht Programmabläufe festgelegt, sondern es werden Sachverhalte beschrieben. Dies geschieht mit einfachen Wenn-dann-Regeln und mit Fakten. Ein PROLOG-Programm gleicht deshalb mehr einer ungeordneten Ansammlung von Wissen als einem Programm."

Allgemeine Daten[Bearbeiten]

  • Integerzahlenbereich 0 - 8191
  • Maximale Länge von Namen für Atome und Variablen: 123
  • Bis zu 112 verschiedene Variablennamen möglich.
  • Bis zu 15 verschiedene Variablen innerhalb einer Regel
  • Prädikate mit 1 bis 15 Argumenten.
  • PROLOG-Datenspeicher: 8 kB
  • PROLOG-Stack bis 34 kB
  • Maximale Eingabelänge einer Struktur: 1000 Zeichen
  • Maximale Länge einer eingegebenen Liste: 63 Elemente.
  • Gleichzeitig geöffnete Floppydateien: maximal 3.

Speicheraufteilung[Bearbeiten]

$0000-$07ff Systembereich
$0800-$5bff PROLOG-Stack
$5c00-$91ff Stack Erweiterung (nicht bei Grafik)
$5c00-$5fff Grafik Farb-RAM
$6000-$8015 Grafik RAM
$9200-$95ff RAM für Garbage Collection
$9600-$99ff Eingabepuffer
$9a00-$9a8f Klangregister
$9a90-$9fff Platz für EPSON-Interface, bzw. für RS232 Puffer.
$a000-$cfff PROLOG-Interpreter (unter BASIC)
$e000-$fff6 PROLOG-Datenspeicher (unter Betriebssystem).

Bibliotheken[Bearbeiten]

Folgende Beispielbibliotheken werden mitgeliefert:

  • Mathematische Problemlösungen
  • Mengenlehre
  • Suchverfahren, Netzplantechnik
  • Prädikatenlogik
  • Grammatik natürliche Sprache
  • Grafikbaukasten
  • Musikprogramme
  • Minishell - Expertensystem

Dokumentation[Bearbeiten]

Die Dokumentation von PROLOG 64 ist in deutscher Sprache und umfasst:

  • Bedienungsanleitung
  • Funktionsbeschreibung
  • Kurztutorium
  • Auflistung der Bibliotheken

Code-Beispiele[Bearbeiten]

Demo

Laden und starten von "DEMOBOOT" lädt den Interpreter nach und startet die Demo:

LOAD "DEMOBOOT",8
RUN

Nach Eingabe von

consult demo, topdemo.

startet eine selbstablaufende Demonstration der Fähigkeiten des Prolog-Interpreters, falls dieser bereits geladen war:

Alternativen[Bearbeiten]

Quellen[Bearbeiten]

  1. Katalog der Deutschen Nationalbibliothek: 0-387-11046-1

Weblinks[Bearbeiten]