2016-05-09 23 views
0

Ich bin neu zu ocaml. Ich erhalte den folgenden Fehler, wenn ich versuche, diesen Code auszuführen.Fehler: Syntaxfehler: Geben Sie erwarteten 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 = [email protected][currentNode] and 
 
       edge_lst_new = [email protected][createEdge(previousNode,currentNode) in 
 
       parser edgePlst_new miniNode_lst_new currentNode tl;

Error: Syntax error: type expected.

Bitte lassen Sie mich wissen, wo genau ich falsch hier werde.

Antwort

0

Sie verwenden List anstelle der Liste in der Definition von Parser, auch ']' fehlt (Sie haben eine offene Klammer ohne geschlossene Klammer). Und arbeitet createEdge an einem Tupel? Ich glaube, dass es nicht ist, und die Syntax sollte (mit der nahen Klammer) sein:

edge_lst_new = [email protected][createEdge previousNode currentNode] in 
Verwandte Themen