我有一个名为syntax.pl的文件。这是摘录:
% ---------- %
allowed_char( C ) :-
number( C ),
( C >= 97, C =< 122 ) ;
( C >= 65, C =< 90 ) ;
( C >= 48, C =< 57 ) ;
C = 39 ;
C = 40 ;
C = 41 ;
C = 44 ;
C = 196 ;
C = 197 ;
C = 214 ;
C = 228 ;
C = 229 ;
C = 246 ;
% Wide characters
C = 195 ;
C = 165 ; % å
C = 164 ; % ä
C = 182 ; % ö
C = 133 ; % Å
C = 132 ; % Ä
C = 150. % Ö
我运行SWI-prolog版本7.2.3。我运行以下命令:
?- [syntax].
我收到以下错误消息:
ERROR: /Users/sahandz/.Trash/syntax/syntax.pl:185:97: Syntax error: Unexpected end of file
我的怀疑是,这是因为我发布的摘录末尾的瑞典信件。我相信是因为第185行是瑞典字母出现的第一行(参见错误信息)。
我该怎么办?
编辑:
删除瑞典语字母(毕竟他们在评论中)我仍然得到同样的错误。
答案 0 :(得分:0)
我通过使用UTF-8编码重新保存syntax.pl文件解决了这个问题。这可以在许多文本编辑器中完成。
答案 1 :(得分:0)
两种解决方案(不相互排斥):
使用UTF-8编码和BOM保存文件。
使用encoding/1
指令作为Prolog文件第一行的第一项。在这种情况下,您仍然需要使用UTF-8编码保存文件,但不需要BOM:
:- endcoding(utf8).