43 lines
1.3 KiB
OCaml
43 lines
1.3 KiB
OCaml
{
|
|
open Parser
|
|
}
|
|
|
|
rule token = parse
|
|
| [' ' '\t' '\n'] { token lexbuf }
|
|
| eof { EOF }
|
|
|
|
| '(' { LPAREN }
|
|
| ')' { RPAREN }
|
|
| "->" { RARROW }
|
|
| '~' { TILDE }
|
|
| "/\\" { LAND }
|
|
| "\\/" { LOR }
|
|
| ',' { COMMA }
|
|
|
|
| "intro" { INTRO }
|
|
| "assumption" { ASSUMPTION }
|
|
| "apply" { APPLY }
|
|
| "elim" { ELIM }
|
|
| "cut" { CUT }
|
|
| "split" { SPLIT }
|
|
| "left" { LEFT }
|
|
| "right" { RIGHT }
|
|
|
|
| "False" { FALSE }
|
|
|
|
| "fun" { FUN }
|
|
| "=>" { MAPS_TO }
|
|
| ':' { VDOTS }
|
|
| "exf" { EXF }
|
|
| "fst" { FST }
|
|
| "snd" { SND }
|
|
| "ig" { IG }
|
|
| "id" { ID }
|
|
| "case" { CASE }
|
|
|
|
| '&' { AMPERSAND }
|
|
|
|
| ['A'-'Z']+['0'-'9']* as s { TYPE_NAME s }
|
|
| ['a'-'z']+['0'-'9']* as s { VAR_NAME s }
|
|
| '.' { DOT }
|