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

  • このトピックは空です。
1件の返信スレッドを表示中
  • 投稿者
    投稿
    • #58607
      Y
      ゲスト

      AZ-Prologに関して質問があり連絡させていただきました。
      他インタフェースにおいてpyazというものがあると思うのですが
      具体的にどのようにpythonとPrologを連携させているのかを教えてください。

      現在、pyazを用いてUnityと連携させることを目的としています。
      そのようなやり方は可能なのでしょうか。

      以上です。よろしくお願いいたします。

    • #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.

1件の返信スレッドを表示中
  • フォーラム「AZ-Prologサポート掲示板」には新規投稿および返信を追加できません。
上部へスクロール