Syntax ML.正确使用;“的情况;内部函数

Syntax ML.正确使用;“的情况;内部函数,syntax,syntax-error,case,ml,Syntax,Syntax Error,Case,Ml,所以我得到了这个函数: fun propagate (Num a) = Num a | propagate (Var x) = Var x | propagate (BinOp(f, Num a, Num b)) = case f of PLUS => Num (a+b) | MINUS => Num (a-b) | MULT => Num (a*b)

所以我得到了这个函数:

fun propagate (Num a) = Num a
    | propagate (Var x) = Var x 
    | propagate (BinOp(f, Num a, Num b)) = 
            case f of PLUS => Num (a+b)
                | MINUS => Num (a-b)
                | MULT => Num (a*b)
                | DIV => if b<>0 then Num (a div b)
                    else raise CompileError
    | propagate (BinOp(_,x,y)) = (BinOp(_,propagate(x), propagate(y));

有人能帮我找出哪里出了问题吗?

遗漏)在最后一行。谢谢,但现在我得到:stdIn:76.27-76.32错误:语法错误:删除rpare EQUALOP LPAREN stdIn:76.68错误:在分号处发现语法错误我写了ML,但我没有安装它,但是(1)我不会在最后一个BinOp处放()的,(2)(我不认为ML有一个布局规则)(3)我不会在操作符内部传播匹配,而是在一个单独的函数中。看看这些是否有帮助。在最后一行中,用一些变量名替换
s。谢谢大家!!你真的帮了我!我爱这个社区!
stdIn:76.29-76.32 Error: syntax error: deleting  EQUALOP LPAREN
stdIn:76.67 Error: syntax error found at SEMICOLON