用于Xcode的Prolog或更新的AI Logic语言

时间:2013-08-27 19:02:31

标签: xcode prolog artificial-intelligence

是否有人知道在Xcode中使用Prolog的库(最好不是SWI-prolog)?如果没有,你知道一个库是否有更近期的语言做类似的工作吗?

由于

1 个答案:

答案 0 :(得分:0)

我最近一直在使用GNU Prolog(gprolog),它有一个非常简单的C接口,它允许您生成由标准代码和自己的代码组成的自定义可执行文件。

作为Cocoa程序员我也不确定如何集成代码,但"10.6 Calling Prolog from C"部分可能会给你一些关于使用它作为Xcode应用程序一部分的想法。

下一部分10.7 Defining a new C main() function可能有助于您将代码(此处为清晰显示)转换为更多ObjC的内容:

static int
Main_Wrapper(int argc, char *argv[])
{
  int nb_user_directive;
  PlBool top_level;

  nb_user_directive = Pl_Start_Prolog(argc, argv);

  top_level = Pl_Try_Execute_Top_Level();

  Pl_Stop_Prolog();

  if (top_level || nb_user_directive)
    return 0;

  fprintf(stderr,
          "Warning: no initial goal executed\n"
          "   use a directive :- initialization(Goal)\n"
          "   or remove the link option --no-top-level"
          " (or --min-bips or --min-size)\n");

  return 1;
}

int
main(int argc, char *argv[])
{
  return Main_Wrapper(argc, argv);
}

将所有这些内容融入NSApplicationMain将变得有趣而有趣!

我能想到的另一种方法是让上面的代码启动你的Cocoa应用程序,可以使用objc_msgSend,如本答案"Calling Cocoa APIs from C"中所述。

祝你好运。 肖恩。