2016-11-08 58 views
0

我正在研究的Prolog,并会见了“语法错误:运营商有望”为下面的代码:Prolog的语法错误:运营商预计

odd_list(X,Y):-process_list(X,Y,1). 
process_list(X,[N1|Y],N):-N1 is 2*N-1,N1 < X,N2 is N+1,process_list(X,Y,N2). 
process_list(X,[],N):-2*N-1>=X. 

这是所有的代码,我写的。有什么问题?我发现了一些解决方案,说函数或参数中有意想不到的空白,但我认为在上述地方没有包含任何空格。 谢谢大家的帮助!

备注:我发现当我将源代码命名为“Test1.pl”时,出现此错误。但是当我将它命名为“test1.pl”时,没有错误。这是否意味着文件名不能以大写字母开头?

+0

你是如何加载你的源代码的? – Fatalize

+0

您需要展示如何加载它:如果我在交互式提示符下键入'? - [test] .',那么它就起作用,如果源位于文件'test.pl'中。 – 2016-11-08 08:07:28

+2

大写起始符号是**变量**。我想你使用过'? - [Test1]'。 – CapelliC

回答

1

我找到了这个问题的原因。我使用了文件名'Test1'。但是Prolog不支持文件名中的大写字母。我将文件名修改为'test1',现在它可以工作。