pieuvre/lexer.mll
2022-05-11 22:20:29 +02:00

31 lines
906 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 }
| '&' { AMPERSAND }
| ['A'-'Z']+['0'-'9']* as s { TYPE_NAME s }
| ['a'-'z']+['0'-'9']* as s { VAR_NAME s }
| '.' { DOT }