ligo/src/passes/1-parser/reasonligo/ParToken.mly

77 lines
1.8 KiB
OCaml
Raw Normal View History

2019-12-10 17:47:31 +04:00
%{
%}
(* Tokens (mirroring those defined in module LexToken) *)
2019-12-10 17:47:31 +04:00
(* Literals *)
%token <string Region.reg> String "<string>"
%token <(LexToken.lexeme * Hex.t) Region.reg> Bytes "<bytes>"
%token <(string * Z.t) Region.reg> Int "<int>"
%token <(string * Z.t) Region.reg> Nat "<nat>"
%token <(string * Z.t) Region.reg> Mutez "<mutez>"
%token <string Region.reg> Ident "<ident>"
%token <string Region.reg> Constr "<constr>"
2019-12-10 17:47:31 +04:00
(* Symbols *)
%token <Region.t> MINUS "-"
%token <Region.t> PLUS "+"
%token <Region.t> SLASH "/"
%token <Region.t> TIMES "*"
2019-12-10 17:47:31 +04:00
%token <Region.t> LPAR "("
%token <Region.t> RPAR ")"
%token <Region.t> LBRACKET "["
%token <Region.t> RBRACKET "]"
%token <Region.t> LBRACE "{"
%token <Region.t> RBRACE "}"
2019-12-10 17:47:31 +04:00
%token <Region.t> CAT "++"
%token <Region.t> DOT "."
%token <Region.t> ELLIPSIS "..."
2019-12-10 17:47:31 +04:00
%token <Region.t> COMMA ","
%token <Region.t> SEMI ";"
%token <Region.t> COLON ":"
%token <Region.t> VBAR "|"
2019-12-10 17:47:31 +04:00
%token <Region.t> WILD "_"
2019-12-10 17:47:31 +04:00
%token <Region.t> EQ "="
%token <Region.t> EQEQ "=="
%token <Region.t> NE "!="
%token <Region.t> LT "<"
%token <Region.t> GT ">"
%token <Region.t> LE "<="
%token <Region.t> GE ">="
%token <Region.t> ARROW "=>"
2019-12-10 17:47:31 +04:00
%token <Region.t> NOT "!"
%token <Region.t> BOOL_OR "||"
%token <Region.t> BOOL_AND "&&"
2019-12-10 17:47:31 +04:00
(* Keywords *)
%token <Region.t> Else "else"
%token <Region.t> False "false"
%token <Region.t> If "if"
%token <Region.t> Let "let"
%token <Region.t> Switch "switch"
%token <Region.t> Mod "mod"
%token <Region.t> Or "or"
%token <Region.t> True "true"
%token <Region.t> Type "type"
2019-12-10 17:47:31 +04:00
(* Data constructors *)
%token <Region.t> C_None "None"
%token <Region.t> C_Some "Some"
2019-12-10 17:47:31 +04:00
(* Virtual tokens *)
2019-12-10 17:47:31 +04:00
%token <Region.t> EOF
%%