我已经按照下面的说明在我的linux机器上设置并安装了interprolog和swi prolog :
我已经将unixVariables.sh编辑为包含机器上的java和swi-prolog(pl)可执行文件的路径,并且我的unixVariables.sh如下所示:
# This is a typical environment for Linux, see elsewhere for Mac OS X
JAVA_BIN=/usr/lib/jvm/java-6-sun-1.6.0.16/bin
XSB_BIN_DIRECTORY=/home/YOUR_NAME/XSB271/config
我已经用swi-prolog开发了一个prolog程序,我用普通的java和JPL.jar为它附加了一个接口,运行良好。
现在我想用android移动界面代替java桌面界面来做同样的事情。所以我创建了一个android应用程序,添加JPL作为外部jar,并像前面一样调用prolog文件。代码中未显示错误。
但当我将其作为安卓应用程序运行时,系统显示无法找到jpl.query$1。
这是logcat
08-21 17:36:35.782: D/dalvikvm(659): DexOpt: unable to opt direct call 0x0cd8 at 0x08 in Ljpl/Quer
我在我的Mac上运行SWI-prolog时遇到了最大的麻烦。
当我键入时:
/opt/bin/local/swipl
我收到一个错误,说:
/opt/local/bin/swipl: No such file or directory
当我输入"swipl“时,我得到的结果是:
swipl: command not found
我已经在终端和XQuartz上都尝试过了。我甚至进入了
/Applications/SWI-Prolog.app/Contents/MacOS
看看这样做是否有用,但是prolog中的"Welcome“文本从未出现过。很可能是在我在MacOS文件夹中输入
我正在尝试运行SWI-Prolog的simplex库文档中给出的coins示例,但是我得到了这个错误消息:
$ rlwrap swipl coins.pl
Warning: /home/vitorferraz/junk/coins.pl:1:
Unknown message: simlpex(bounded)
Welcome to SWI-Prolog (threaded, 64 bits, version 7.6.4)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- lice
我想使用JPL为我的项目创建一个图形界面,所以我搜索了一个代码示例来开始工作,我下载了代码,但当我运行它时,它显示了以下消息:
ERROR: c:/program files/swipl/library/jpl.pl:4243:
'$open_shared_object'/3: Não foi possível encontrar o módulo especificado (this stands for "it wasn't possible to find the especified module)".
ERROR: c:/pr
我正在尝试用以下数据格式读取csv文件: NO、ID、Name、HW1、HW2、HW3、期中,最后1,410021001、Alan、90、84.5、117、60、66、410021002、Bob、85、49、80、57、64.这是我的密码:
%This is a prolog version of _410921334_hw2.py
% read data from file HW2data.csv and calculate the score of each student
% read data from file HW2data.csv row by row
% first row i
我正在尝试从java运行swi prolog。
我正在使用eclipse,并且我已经在项目中插入了jpl.jar (属性->库->添加外部jar),并且当我试图运行一个程序时(它是一个jpl示例,所以它应该可以工作。)我收到一个错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jpl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
at java.lang.
我有一个简单的prolog程序:
write_manual:-
write('------------------------------'),
write('USAGE MANUAL'),
write('find_course. - List all the available courses'),
write('------------------------------').
% execute this and output this right away when I open the pr
我如何为这个Prolog规则写一个测试?
rule(5,jasmine_tea):- symptom(high_cholesterol),symptom(delicate_fragrance).
高性能标记--这就是我所得到的。
FACTS:
question('Do you suffer from anxiety?',anxiety).
symptom(anxiety).
reply(chamomile_tea,'Drink 3 cups of Chamomile tea everyday for a week.').
RULES:
rule(1,chamo
我对以下结果感到困惑。我正在使用SWI-Prolog。
?- bagof(Q, (Q=A, (A=[a,_] ; A=[_,b])), X).
A = [_G16898, b],
X = [[_G16898, b]] ;
A = [a, _G16892],
X = [[a, _G16892]].
请注意,[a,_]和[_,b]并不统一,无法生成应答A = [a,b], X=[[a,b],[a,b]]。
现在,让我们对算术约束进行同样的尝试:
?- bagof(Q, (Q=A, (A in 1..5 ; A in 3..8)), X).
X = [A, A],
A in 3..5.
奇怪的是,这
我试图理解如何将C代码与SWI连接起来,但我遇到了一些困难。当我编译以下代码并加载它时,它在OS上工作得很好,但是当我将完全相同的代码移到Ubuntu12.04时,它就不能工作了。我知道错误了
ERROR: Exported procedure choose:choose/3 is not defined
当然还有。我不能再打电话给choose了。当我试图在一台全新的虚拟机上安装它时,它确实适用于SWI-Prolog5.10.4,但是当我升级到时,它又开始失败了。如果我使用使用5.10.4编译它时的旧.so文件,它仍然可以工作。但是,我无法使用swipl ld编译新.so文件并将其与swipl