| "\\Set" { SET }
| "\\Prop" { PROP }
| "\\Type" { TYPE }
+ | "\\CProp" { CPROP }
| ident { ID (unquote (L.lexeme lexbuf)) }
| conuri { CONURI
(U.uri_of_string ("cic:" ^ (unquote (L.lexeme lexbuf)))) }
(indtyuri_of_uri ("cic:" ^ (unquote (L.lexeme lexbuf)))) }
| indconuri { INDCONURI
(indconuri_of_uri("cic:" ^ (unquote (L.lexeme lexbuf)))) }
+ | num '.' {
+ let lexeme = L.lexeme lexbuf in
+ RNUM (int_of_string
+ (String.sub lexeme 0 (String.length lexeme - 1)))
+ }
| num { NUM (int_of_string (L.lexeme lexbuf)) }
| '?' num { let lexeme = L.lexeme lexbuf in
META
| "\\lambda" { LAMBDA }
| "\\pi" { PROD }
| "\\forall" { PROD }
+ | "\\eqt" { EQT }
+ | "\\neqt" { NEQT }
| ':' { COLON }
| '.' { DOT }
| "\\to" { ARROW }
| dollar { DOLLAR }
| eof { EOF }
(* Arithmetical operators *)
+ | "+." { RPLUS }
+ | "-." { RMINUS }
+ | "*." { RTIMES }
+ | "/." { RDIV }
| '+' { PLUS }
| '-' { MINUS }
| '*' { TIMES }