Prolog syntax error: illegal start of term
Prolog syntax error: illegal start of term
所以我正在尝试测试我的谓词 reduce/4
定义如下:
:- op(20,xfy,?=).
reduce(R,X ?=Y,P,Q) :-
R=rename,
regle(X ?=Y,R),
length(P,N),
trouve(Y,P,N,M),
remove(N,M,P,Q).
但我一直收到此错误:
?- reduce(rename,X ?= Y,[?=(X,Y),?=(f(a),g(Z)),?=(X,a)],Q].
ERROR: Syntax error: Illegal start of term
ERROR: reduce(rename,X ?= Y,[?=(X,Y),?=(f(a),g(Z)),?=(X,a)],
ERROR: ** here **
ERROR: Q] .
我是 Prolog 的新手,所以它可能有些愚蠢。
您使用 ]
而不是 )
来关闭 reduce
的括号
reduce(rename,X ?= Y,[?=(X,Y),?=(f(a),g(Z)),?=(X,a)],Q].
% ^open ^close
您可以通过以下方式解决此问题:
?- reduce(rename,X ?= Y,[?=(X,Y),?=(f(a),g(Z)),?=(X,a)],Q).
我无法验证这是否解决了您的问题,因为您没有为 regle/2
等提供定义。但是我遇到语义错误这一事实似乎解决了语法错误。
所以我正在尝试测试我的谓词 reduce/4
定义如下:
:- op(20,xfy,?=).
reduce(R,X ?=Y,P,Q) :-
R=rename,
regle(X ?=Y,R),
length(P,N),
trouve(Y,P,N,M),
remove(N,M,P,Q).
但我一直收到此错误:
?- reduce(rename,X ?= Y,[?=(X,Y),?=(f(a),g(Z)),?=(X,a)],Q].
ERROR: Syntax error: Illegal start of term
ERROR: reduce(rename,X ?= Y,[?=(X,Y),?=(f(a),g(Z)),?=(X,a)],
ERROR: ** here **
ERROR: Q] .
我是 Prolog 的新手,所以它可能有些愚蠢。
您使用 ]
而不是 )
来关闭 reduce
reduce(rename,X ?= Y,[?=(X,Y),?=(f(a),g(Z)),?=(X,a)],Q].
% ^open ^close
您可以通过以下方式解决此问题:
?- reduce(rename,X ?= Y,[?=(X,Y),?=(f(a),g(Z)),?=(X,a)],Q).
我无法验证这是否解决了您的问题,因为您没有为 regle/2
等提供定义。但是我遇到语义错误这一事实似乎解决了语法错误。