Neuer Compiler mit Mikrocode-Unterstützung:

Lisp-Funktionen unter Prolog verfügbar

18.01.1985

ESCHBORN (pi) - Die Freigabe ihres Prolog-Compilers für alle Systeme der 3600-Familie gab die Symbolics GmbH aus Eschborn kürzlich bekannt. Die logische Programmierung und, die Prolog-Sprache im besonderen werden als - wichtige Werkzeuge in der Programmierung künstlicher Intelligenz und im Entwurf von Expertensystemen aufgefaßt.

In der Vergangenheit allerdings wurden Implementierungen des öfteren durch die Beschränkungen nicht mehr zeitgemäßer Hardware- und

Software-Umgebungen, durch besonders empfindliche Implementierung oder zu langsame Ausführungszeiten eingeengt.

Prolog von Symbolics ist ein optimierter Hochleistungs-Compiler, der von der Hardware und vom Mikrocode gleichermaßen unterstützt wird. Er verbindet die Eigenschaften von Standard-Prolog mit den Merkmalen ,der Lisp-Maschinen-Umgebung von Symbolics. Bereits vorhandene Prolog-Programme, die dem DEC- 10-Prolog-Standard entsprechend geschrieben wurden, laufen jetzt nach Eschborner Angaben der ohne Anpassung auf den Symbolics-Systemen. Symbolics bietet ebenfalls einen Prolog-Dialekt mit ergänzender Funktionalität an, der auf der Lisp-Parathese-Syntax beruht.

Um eine Leistung zu erreichen, nützt der Prolog-Compiler intensive Mikrocode-Unterstützung. Deshalb wird der Mikrocode-Speicher der 3600-Systeme erweitert, um die zusätzlichen Mikro-Instruktionen aufnehmen zu können. Diese erforderliche Hardware-Erweiterung wird zusammen mit Prolog geliefert.

Zahlreiche Funktionen und Systemeigenschaften, die dem Lisp-Benutzer die Arbeit erleichtern, stehen jetzt auch Prolog-Anwendern zur Verfügung. Dazu zählen die Datentyp-Erweiterungen, etwa Fließkomma-Zahlen mit einfacher und doppelter Genauigkeit, sogenannte Bignums und rationale, komplexe Zahlen. Die Maschinenunterstützung zur Leistungserhöhung schließt Unification, Back-Tracking und Cut im Mikrocode ein. Logische Variablen werden durch die "tagged" Hardware-Architektur unterstützt, Die Fließkomma-Arithmetik ist ebenfalls hardwaremäßig realisiert und kann durch einen Floating-Point-

Accelerator , weiter beschleunigt werden.

Für die interaktive Programmierung steht ein Prolog-Listener-Window zur Verfügung. Die Editor-Unterstützung für Prolog umfaßt unter anderem die Compilierung von Editor-Puffern, den Prolog-Sytax-Mode und die automatische Zuordnung von Quellcode durch den Editor.