Home フォーラム AZ-Prologサポート掲示板 PythonとPrologとの連携 返信先: PythonとPrologとの連携

#58632
moto
ゲスト

他システムインターフェースのご提供につきましては、商用ライセンスをご購入のお客様に限らせてご提供させていただいております。

pyazは、PythonからAZ-Prologをライブラリとして実行するためのモジュールです。
Unity上からPythonコードが実行できるのであれば、Unity上のpyazからAZ-Prologを
実行することは可能と思われます。(検証はしていません)

参考までにpyazの実装例(pyaz ubuntu版)を下記に記述します。(pyazはwin64版も提供しています。)
前提条件として、Python 2.7、pyaz、AZ-Prolog 9.62 がインストールされていること。

==============================
Pythonサンプルプログラム(test.py)
==============================
#!/usr/bin/python2.7
# coding: utf-8

import load_azp_python
import pyaz

def ex():

#pyaz codeの実行(AZ-Prologライブラリのロード)
r = pyaz.execute(“require(‘libazp_std_builtin’)”)

#pyaz codeの実行(AZ-Prologライブラリのロード)
r = pyaz.execute(“require(‘clp’)”)

#鶴亀算(AZ-Prologサンプルプログラムの鶴亀算を実行します。)
r = pyaz.execute(“write(‘turukame:’),turukame(T,K,14,5),write(‘T=’),write(T),write(‘ K=’),write(K),nl”)

def main():
try:

#AZ-Prologインタプリタ開始
pyaz.init()

#サンプルプログラムをconsult
r = pyaz.execute(“consult(‘sample.pl’)”)
if (r == False):
pyaz.end()
return -1

ex()

#Prologインタプリタ終了
pyaz.end()

except pyaz.failError as e:
print(“e: {0}”.format(e))

return 0

main()

==============================
AZ-Prologサンプルプログラム(sample.pl)
==============================
require(X):- dlib_require(X), !, write(‘Library Loaded: ‘), write(X), nl.
require(X):- dlib_get_error_str(S), name(E, S), write(E), nl, fail.

%鶴亀算
turukame(Turu,Kame,Foot,Head):-
Turu in 0..Head,
Kame in 0..Head,
Foot #= Turu*2+Kame*4,
Head #= Turu+Kame.

上部へスクロール