2009-08-19 5 views
0

Ich möchte Prolog mit PHP verwenden. Ist es möglich?Wie verwende ich Prolog mit PHP?

+0

"Verwendung" in welcher Weise? Bitte erläutern. – VolkerK

+0

zum Ausführen von Prolog-Programmen in PHP, z. Einsteins Rätsel lösen http://sandbox.rulemaker.net/ngps/119 – Colargol

Antwort

3

Es gibt immer die exec-familiy Funktionen zum Ausführen/Launch eines anderen Prozesses.

1

Die meisten Prologs ermöglichen die Übersetzung von Prolog-Code in eine Binärdatei. Sie könnten versuchen, diese Binärdatei innerhalb von PHP aufzurufen, indem Sie einen Prozessaufruf verwenden, wie bereits erwähnt.

2

Wie oben vorgeschlagen, können Sie einen Prolog-Interpreter oder eine Binärdatei ausführen. Die meisten Prolog-Implementierungen exportieren jedoch auch eine C-API, mit der der Prolog-Interpreter aufgerufen werden kann.

Sie könnten ein kleines PHP-Modul erstellen, um einen Interpreter zu starten und Abfragen auszuführen. Zum Beispiel beschreibt die SICStus Dokumentation mit Prolog von C im Detail:

1

ich wrote a translator, die einige einfachen PHP-Programme in Prolog umwandeln kann.

Dies ist ein mögliches Eingabeprogramm:

function is_greater_than($a,$b){ 
    return $a > $b; 
} 
function is_an_animal($a){ 
    return in_array($a,["dog","cat"]); 
} 

... und das ist das Ausgabeprogramm:

is_greater_than(A,B) :- 
    A>B. 
is_an_animal(A) :- 
    in_array(A,[1]). 

Dieser Übersetzer ist nur ein Proof-of-Concept, aber es kann immer noch machen es einfacher, einige einfache PHP-Programme in Prolog zu konvertieren.