错误:语法错误:键入expect ocaml

时间:2016-05-09 08:20:27

标签: ocaml

我是ocaml的新手。当我尝试执行此代码时出现以下错误。

let rec parser (edge_lst : edge list) (miniNode_lst: miniNode List) (previousNode : miniNode) (s_lst: stmt list) =
match s_lst with
| [] -> (*no more statements => Add stop node and save the graph*) (edge_lst,miniNode_lst)
| hd :: tl -> 
               let currentNode = createNode(hd) 
               in let miniNode_lst_new = miniNode_lst@[currentNode] and  
               edge_lst_new  = edge_lst@[createEdge(previousNode,currentNode) in
               parser edgePlst_new miniNode_lst_new currentNode tl;

Error: Syntax error: type expected.

请告诉我这里到底出错的地方。

1 个答案:

答案 0 :(得分:0)

你在解析器的定义中使用List而不是list,也缺少']'(你有一个没有闭括号的开括号)。 createEdge是否在元组上运行?我相信它不是,语法应该是(使用紧密括号):

 edge_lst_new  = edge_lst@[createEdge previousNode currentNode] in