2009-08-19 58 views
0

我想用Prolog和PHP。可能嗎?如何在PHP中使用Prolog?

+0

「使用」以何種方式?請詳細說明。 – VolkerK 2009-08-19 09:26:57

+0

在PHP中運行Prolog程序,例如。解決愛因斯坦的謎語http://sandbox.rulemaker.net/ngps/119 – Colargol 2009-08-19 09:30:28

回答

1

大多數Prologs允許序言代碼被編譯成二進制。您可以嘗試使用某種過程調用從PHP內調用此二進制文件,如前所述。

2

正如上文所述,您可以執行Prolog的解釋或二進制。但是,大多數Prolog實現還會導出可用於調用Prolog解釋器的C API。

你可以創建一個小的PHP模塊啓動解釋和執行查詢。例如,SICStus文檔詳細介紹了使用的Prolog從C:

1

wrote a translator可一些簡單的PHP程序轉換成Prolog的。

這是一個可能的輸入程序:

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

...這是輸出程序:

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

此翻譯僅僅是證明型的概念,但它仍可能更容易將一些簡單的PHP程序轉換成Prolog。