在Mac上SWI Prolog中的?-提示符之后,我尝试了各种括号和单引号的组合。什么都没用。这个命令应该一次加载一堆文件吗?我在到达?-提示符之前输入了什么吗?
如果有人能确切地告诉我,在下面的第一页输入什么,那就太好了。(我不是一个程序员,但我一直试图为我的认知科学入门课程寻找一个简单的专家系统外壳。我已经尝试了大约一百万次Amzi鸟的事情,除了在Amzi和SWI中的错误之外,什么也没有得到。谢谢!
Prolog专家系统(APES) http://apes.sourceforge.net/ %
跑步:
更新:(非常感谢硬数学和user882813!)我得到了一个与"swipl -f main.pl“不存在错误的命令,所以我手动启动了swipl加载的main.pl。下面是main.pl的代码:
% A Prolog Expert System (APES)
% http://apes.sourceforge.net/
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
:- ensure_loaded('engine.pl').
:- ensure_loaded('tokenizer.pl').
:- ensure_loaded('parser.pl').
:- ensure_loaded('knowledge/knowledge.pl').
:- ensure_loaded('knowledge/groups/*.pl').
:- ensure_loaded('helpers.pl').
:- ensure_loaded('processor.pl').
start:-
%dynamic((::)/2),
write('_____________________________________________________'),
nl,nl,
loop_read_in(_).
loop_read_in(X):-
% from tokenizer.pl (clocksin & mellish, "programming in prolog"):
read_in(X),
process(X),
loop_read_in(_).
loop_read_in(X):-
read_in(X),
not(process(X)),
!,fail.但是发生了这样的事情:当我输入start时,我得到一个文件不存在错误: error: /Users/leesebastiani/prologfiles/main.pl:10: source_sink‘`knowledge/group/*..pl’不存在
但是,当我尝试手动加载时,我得到了以下内容:?-‘knowledge/group/*..pl’。错误: /Users/leesebastiani/prologfiles/main.pl:10: source_sink `knowledge/group/*..pl‘不存在警告: /Users/leesebastiani/prologfiles/main.pl:10:目标(指令)失败:user:ensure_loaded(knowledge/group/*..pl)
我想让我的学生更容易。这是我最后一节课的全部内容:
?- ['main.pl'].
% engine.pl compiled 0.00 sec, 64 clauses
% tokenizer.pl compiled 0.00 sec, 62 clauses
% parser.pl compiled 0.00 sec, 32 clauses
% knowledge/knowledge.pl compiled 0.00 sec, 17 clauses
ERROR: /Users/leesebastiani/prologfiles/main.pl:10:
source_sink `knowledge/groups/*.pl' does not exist
Warning: /Users/leesebastiani/prologfiles/main.pl:10:
Goal (directive) failed: user:ensure_loaded(knowledge/groups/*.pl)
% helpers.pl compiled 0.00 sec, 24 clauses
% processor.pl compiled 0.00 sec, 12 clauses
% main.pl compiled 0.01 sec, 227 clauses
true.
?- ['knowledge/groups/*.pl'].
% knowledge/groups/feline.pl compiled 0.00 sec, 2 clauses
% knowledge/groups/pet.pl compiled 0.00 sec, 5 clauses
true.
?- ['main.pl'].
ERROR: /Users/leesebastiani/prologfiles/main.pl:10:
source_sink `knowledge/groups/*.pl' does not exist
Warning: /Users/leesebastiani/prologfiles/main.pl:10:
Goal (directive) failed: user:ensure_loaded(knowledge/groups/*.pl)
% main.pl compiled 0.00 sec, 1 clauses
true.
?- 谢谢你的建议!
发布于 2013-09-28 16:41:11
对我来说,这是可行的(在MacOS10.8.5上):
$ git clone https://github.com/fsteeg/apes.git
[...]
$ cd com.quui.apes/src/
$ swipl -f main.pl
?- start.
我使用了GitHub版本,但是代码应该是相同的。这会不会是你的版本的问题呢?我用Homebrew (http://brew.sh/)安装了我的:
$ brew install swi-prolog
[...]
$ swipl --version
SWI-Prolog version 6.0.2 for i386-darwin12.5.0
如果这没有帮助,您能在运行swipl -f main.pl时提供一些关于原始问题的详细信息吗?
发布于 2013-09-28 03:10:48
命令"swipl -f main.pl“是在OS命令提示符下输入的,而不是在swipl中输入的?-提示符。
该命令执行顶级命令解释器并加载Prolog源文件main.pl。
发布于 2013-09-28 15:55:27
AMZI教程已经过时了。试图让它在不了解Prolog的情况下运行,看起来就像一个痛苦的世界。你也许还想找点别的东西。这太糟糕了--这是一个很棒的教程。
如果你是专家系统的新手,让我给你建议一下
http://clipsrules.sourceforge.net/
Prolog本身并不是一个专家系统外壳。Prolog是一种编程语言。当然,这将是一个很好的选择,写这样的外壳。
https://stackoverflow.com/questions/19062497
复制相似问题