]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/content_pres/cicNotationLexer.ml
Huge commit with several changes:
[helm.git] / helm / software / components / content_pres / cicNotationLexer.ml
index 17a5bd5bbdebc7f3a5d61876ece74478d9a34474..21031d002fc10fba43eb915623f054d45743ecd0 100644 (file)
@@ -149,6 +149,17 @@ let regexp uri =
   ('.' ident)+                        (* ext *)
   ("#xpointer(" number ('/' number)+ ")")?  (* xpointer *)
 
+let regexp nreference =
+  "cic:/"                             (* schema *)
+  uri_step ('/' uri_step)*            (* path *)
+  '.'
+  ( "dec"
+  | "def" "(" number ")"
+  | "fix" "(" number "," number "," number ")"
+  | "cfx" "(" number ")"
+  | "ind" "(" number "," number "," number ")"
+  | "con" "(" number "," number "," number ")") (* ext + reference *)
+
 let error lexbuf msg =
   let begin_cnum, end_cnum = Ulexing.loc lexbuf in
   raise (Error (begin_cnum, end_cnum, msg))
@@ -311,6 +322,7 @@ and level2_ast_token =
   | pident -> handle_keywords lexbuf (Hashtbl.mem !level2_ast_keywords) "PIDENT"
   | number -> return lexbuf ("NUMBER", Ulexing.utf8_lexeme lexbuf)
   | tex_token -> return lexbuf (expand_macro lexbuf)
+  | nreference -> return lexbuf ("NREF", Ulexing.utf8_lexeme lexbuf)
   | uri -> return lexbuf ("URI", Ulexing.utf8_lexeme lexbuf)
   | qstring ->
       return lexbuf ("QSTRING", remove_quotes (Ulexing.utf8_lexeme lexbuf))