%{ %} (* Tokens (mirroring thise defined in module LexToken) *) (* Literals *) %token String "" %token <(LexToken.lexeme * Hex.t) Region.reg> Bytes "" %token <(string * Z.t) Region.reg> Int "" %token <(string * Z.t) Region.reg> Nat "" %token <(string * Z.t) Region.reg> Mutez "" %token Ident "" %token Constr "" %token Attr "" (* Symbols *) %token MINUS "-" %token PLUS "+" %token SLASH "/" %token TIMES "*" %token LPAR "(" %token RPAR ")" %token LBRACKET "[" %token RBRACKET "]" %token LBRACE "{" %token RBRACE "}" %token ARROW "->" %token CONS "::" %token CAT "^" (*%token APPEND "@" *) %token DOT "." %token COMMA "," %token SEMI ";" %token COLON ":" %token VBAR "|" %token WILD "_" %token EQ "=" %token NE "<>" %token LT "<" %token GT ">" %token LE "<=" %token GE ">=" %token BOOL_OR "||" %token BOOL_AND "&&" (* Keywords *) (*%token And*) %token Begin "begin" %token Else "else" %token End "end" %token False "false" %token Fun "fun" %token If "if" %token In "in" %token Let "let" %token Match "match" %token Mod "mod" %token Not "not" %token Of "of" %token Or "or" %token Then "then" %token True "true" %token Type "type" %token With "with" (* Data constructors *) %token C_None "None" %token C_Some "Some" (* Virtual tokens *) %token EOF %%