首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSB Prolog偏序表

XSB Prolog偏序表
EN

Stack Overflow用户
提问于 2011-11-20 11:21:29
回答 2查看 269关注 0票数 0

我正在尝试XSB版本3.3.5手册中的一个示例(来自“偏序答案包含”):

代码语言:javascript
复制
:- table sp(_,_,po(</2)).
sp(X,Y,1):- edge(X,Y).
sp(X,Z,N):- sp(X,Y,N1),edge(Y,Z),N is N1 + 1.

然后我就得到了

代码语言:javascript
复制
++Error[XSB/Runtime/P]: [Syntax] :- table sp ( _ , _ , po ( >/  <--- HERE? ************ 
++                                                    2 ) ) 

知道出什么事了吗?

同样,也没有错误

代码语言:javascript
复制
:- table sp(_,_,lattice(min/3)).
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-20 15:28:22

我会尝试这样做(因为这是一个语法错误)

代码语言:javascript
复制
:- table sp(_,_,po('<'/2)).
sp(X,Y,1):- edge(X,Y).
sp(X,Z,N):- sp(X,Y,N1),edge(Y,Z),N is N1 + 1.
票数 2
EN

Stack Overflow用户

发布于 2011-11-20 16:26:40

奇怪的是,操作符在错误消息中‘反向’(或者错误消息少了1个字符?)。table指令可能会生成错误'inside‘(指令是库谓词调用),或者错误可能是在咨询之前生成的。

可能是由于运算符声明中的更改而导致的语法错误(例如,某些声明,如op(N,xfx,<)或op(M,xfy,/)更改N认为M),或者样本可能在当前的table/3规范中未对齐。

我会尝试(类似于thanosQR建议的),最简单的事情,更改指令并删除(冗余?)数量指示:

代码语言:javascript
复制
:- table sp(_,_,po(<)).
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8199227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档