Я хотел бы проанализировать «[a; b; c; d; e; f; g]» как «a :: b :: c :: d :: e :: f :: g :: []» В моей части моего синтаксического анализа у меня естьOCaml Разбор списка
listOps:
| combOps COLONCOLON listOps { Bin($1,Cons,$3) }
| combOps SEMI listOps { Bin($1,Cons,$3) }
| combOps { $1 }
;
и я это дальше.
| LBRAC RBRAC { NilExpr }
| LBRAC listOps RBRAC { $2 }
Но я не знаю, как заставить его прочитать список между «[» и «]», как имеющие «:: []» в конце. Любые идеи?