2016-11-08 34 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',現在它可以工作。