SML文件:“test.sml”
(* here is a comment *)
val x = 123;
我从这里安装了SMLNJ 110.76:http://www.smlnj.org/dist/working/110.76/,Emacs 24.3.1从这里安装:http://ftp.gnu.org/gnu/emacs/windows/emacs-24.3-bin-i386.zip,通过Emacs GUI安装Emacs的SML模式。
Emacs堆栈跟踪是这样的:
test.sml:1.2 Error: illegal token
test.sml:1.3 Error: illegal token
test.sml:1.5 Error: illegal token
test.sml:1.7 Error: illegal token
test.sml:1.9 Error: illegal token
依此类推,以:
结尾uncaught exception Compile [Compile: "syntax error"]
raised at: ../compiler/Parse/main/smlfile.sml:15.24-15.46
../compiler/TopLevel/interact/evalloop.sml:44.55
../compiler/TopLevel/interact/evalloop.sml:296.17-296.20
我也通过Sublime Text 3尝试了与SML和sublimeREPL包相同的程序,如下所示:http://developerinmotion.wordpress.com/2013/02/07/sublime-text-2-and-sml/。但是我遇到了同样的问题:一长串非法令牌语法错误后面跟着:
C:\Program Files (x86)\SMLNJ\\bin\.run\run.x86-win32.exe: Fatal error -- Uncaught exception Compile with "syntax error" raised at ../compiler/Parse/main/smlfile.sml:15.24-15.46
有什么问题?我是否错误地安装了SMLNJ?
答案 0 :(得分:0)
我将两行放在一个文件(test.sml)中,并在标准的SML REPL中打开。它正常编译:
- use "test.sml";
[opening test.sml]
val x = 123 : int
val it = () : unit
您似乎在设置工具时遇到了问题。
答案 1 :(得分:0)
使用UTF-8字符编码创建.sml文件可能会导致此问题。请改用ANSI。