%{ %} (* Tokens (mirroring thise defined in module LexToken) *) (* Literals *) %token Ident %token Constr %token Str %token <(string * Z.t) Region.reg> Int %token <(string * Z.t) Region.reg> Nat %token <(string * Z.t) Region.reg> Mtz (* Symbols *) %token MINUS %token PLUS %token SLASH %token TIMES %token LPAR %token RPAR %token LBRACKET %token RBRACKET %token LBRACE %token RBRACE %token CAT %token DOT %token DOTDOTDOT %token COMMA %token SEMI %token COLON %token VBAR %token WILD %token EQ %token EQEQ %token NE %token LT %token GT %token LE %token GE %token ARROW %token NOT %token BOOL_OR %token BOOL_AND (* Keywords *) %token Else %token False %token If %token Let %token Switch %token Mod %token Or %token True %token Type (* Data constructors *) %token C_None (* "None" *) %token C_Some (* "Some" *) (* Virtual tokens *) %token EOF %%