slt tt le monde;
je suis en train de faire un analyseur syntaxique en utilisant le module Genlex.
Mais le compilateur le reconnait pas les expression de type stream [< ...>]

voila le code que j'ai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
open Genlex
let lexer_distrib l=make_lexer ["<-";"(";")";"->";"Bin";";"] (Stream.of_string l)
 
let rec parse_distribution str=
  match s with parser 
    |[< 'Ident x; 'Kwd "<-"; 'Ident e >]-> Draw(x,Ens(e))
    |[< 'Ident x;'Kwd "<-";'Kwd "(";'Ident e1;'Kwd ")";'Ident e2;'Ident")" >]->Draw(x,EnsFct(e1,e2))
    |[< 'Ident x;'Kwd "<-";'Kwd "Bin";'Int i >]-> Draw(x,Bin(i))
    |[< s1=parse_distribution;'Kwd ";";s2=parse_distribution >]-> XDD(s1,s2)
j'ai une erreur de syntaxe au niveau des caractères "[<"
je ne sais pas si je dois ouvrir un module particulier par exemple
Merci d'avance pour vos réponses.