错误:在EOF处发现语法错误

时间:2013-11-01 06:31:46

标签: smlnj

我在SMLNJ中运行此代码。

val evenfibs=
let
  fun SIFT NIL = NIL
  | SIFT l =
       CONS(0, fn () =>
                    SIFT(FILTER (fn x => x mod 2 == 0) (TL l) ) );

val oddfibs=
let
  fun SIFT NIL = NIL
      | SIFT l =
       CONS(0, fn () =>
                    SIFT(FILTER (fn x => x mod 2 <> 0) (TL l) ));

assign3.sml:60.1错误:在EOF中找到语法错​​误

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

1 个答案:

答案 0 :(得分:3)

一些提示:

比较不是由==进行,而是=

使用let需要关闭,如

let
 declarations
in
 expression
end

EOF通常发生在您忘记放置一些分号或忘记关闭像let-in-end这样的东西时:)