29 lines
859 B
OCaml
29 lines
859 B
OCaml
{
|
|
open Parser
|
|
}
|
|
|
|
rule token = parse
|
|
| [' ' '\t' '\n'] { token lexbuf }
|
|
| eof { EOF }
|
|
|
|
| '(' { LPAREN }
|
|
| ')' { RPAREN }
|
|
| "->" { RARROW }
|
|
| '~' { TILDE }
|
|
|
|
| "intro" { INTRO }
|
|
| "assumption" { ASSUMPTION }
|
|
| "apply" { APPLY }
|
|
| "elim" { ELIM }
|
|
| "cut" { CUT }
|
|
| "False" { FALSE }
|
|
|
|
| "fun" { FUN }
|
|
| "=>" { MAPS_TO }
|
|
| ':' { VDOTS }
|
|
| "exf" { EXF }
|
|
|
|
| ['A'-'Z']+['0'-'9']* as s { TYPE_NAME s }
|
|
| ['a'-'z']+['0'-'9']* as s { VAR_NAME s }
|
|
| '.' { DOT }
|