0
我是序言新手。我有一個通常在swi-prolog上諮詢的.pl文件,但是當我在tu-prolog上諮詢它時,總會發生瘋狂的事情。這裏是我的代碼的一部分。tuprolog語法錯誤。在/行-1之前的語法錯誤
:- dynamic(assignopT/6).
:- multifile(assignopT/6).
assignopT(30246,30244,30210,30247,+,30248).
當我諮詢它TU-序言,它表示語法錯誤在/線12219,這是上面第三行之前。它在swi-prolog上運行正常。然後我想可能是+有問題,所以我改變了它。
assignopT(30246,30244,30210,30247,'+',30248).
這一次,它說在第-1行/之前的語法錯誤。我真的沒有得到這個,什麼-1甚至假設意思。該特等命名swi2tu.pl是https://drive.google.com/folderview?id=0B4KCEwRVmr_yWjQwOEp3LWpYdk0&usp=sharing
是的,這是tuProlog。我已經完成了你所說的,但沒有成功。在()之間寫入+不能解決問題,同樣的錯誤仍然在同一行。 – York
如果tuProlog解析器不符合官方和事實上的Prolog標準,則可能需要爲第5個參數找到替代表示法。順便說一下,你使用的tuProlog版本是否支持多文件謂詞? –
是的,它支持多文件謂詞。我找到了原因並在昨天修復了它。在.pl文件中有一個utf-8字符。 utf-8字符的值是U + FFFF,並且tuProlog在遇到U + FFFF時停止解析,這是語法錯誤在/ -1行之前的原因。但swi-prolog可以解析器U + FFFF,我仍然不明白。 – York