2016-05-09 1 views
0

Я новичок в 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 = [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.

Пожалуйста, дайте мне знать, где именно я неправильно здесь.

ответ

0

Вы используете Список вместо списка в определении парсера, также отсутствует ']' (у вас есть одна открытая скобка без закрытой скобки). И работает createEdge на кортеже? Я считаю, что это не так, и синтаксис должен быть (с закрытым кронштейном):

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

 Смежные вопросы

  • Нет связанных вопросов^_^