]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic/cicParser3.ml
snapshot (first version in which some extensions work, e.g. infix +)
[helm.git] / helm / ocaml / cic / cicParser3.ml
index 02d22b3216b0bf631f2be796689f627a775534be..940e03e2b8a8e6e8c3102d81084945cdeca5a595 100644 (file)
@@ -43,6 +43,11 @@ exception IllFormedXml of int;;
 
 (* Utility functions to map a markup attribute to something useful *)
 
+let uri = ref (UriManager.uri_of_string "cic:/none.con")
+
+let set_uri u = 
+  uri := u
+
 let cic_attr_of_xml_attr =
  function
     Pxp_types.Value s       -> Cic.Name s
@@ -53,7 +58,8 @@ let cic_sort_of_xml_attr =
  function
     Pxp_types.Value "Prop" -> Cic.Prop
   | Pxp_types.Value "Set"  -> Cic.Set
-  | Pxp_types.Value "Type" -> Cic.Type
+  | Pxp_types.Value "Type" -> 
+      Cic.Type (CicUniv.fresh ~uri:!uri ()) (* ORRIBLE HACK *)
   | _            -> raise (IllFormedXml 2)
 
 let int_of_xml_attr =
@@ -205,7 +211,7 @@ class eltype_implicit =
      assert (exp_named_subst = []) ;
      let n = self#node in
       let id = string_of_xml_attr (n#attribute "id") in
-       Cic.AImplicit id
+       Cic.AImplicit (id, None)
   end
 ;;