]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/ng_cic_content/interpretations.ml
- ng_refiner:
[helm.git] / matita / components / ng_cic_content / interpretations.ml
index 84638ad6dfa43e03cf473ff0e8d56b3d3b44a38c..e2c8c76d0c53a4286b8fca9643507f00dacbcc69 100644 (file)
@@ -305,6 +305,7 @@ let nast_of_cic0 status
                  [arg] -> idref (k ~context arg)
                | _ -> idref (Ast.Appl (List.map (k ~context) args))))
     | NCic.Match (NReference.Ref (uri,_) as r,outty,te,patterns) ->
+       (try
         let name = NUri.name_of_uri uri in
 (* CSC
         let uri_str = UriManager.string_of_uri uri in
@@ -351,6 +352,12 @@ let nast_of_cic0 status
           | `Term -> Some case_indty
         in
          idref (Ast.Case (k ~context te, indty, Some (k ~context outty), patterns))
+     with
+      NCicEnvironment.ObjectNotFound msg ->
+       idref (Ast.Case(k ~context te,Some ("NOT_FOUND: " ^ Lazy.force msg,None),
+       Some (k ~context outty),
+       (List.map (fun t -> Ast.Pattern ("????", None, []), k ~context t)
+         patterns))))
 ;;
 
 let rec nast_of_cic1 status ~idref ~output_type ~metasenv ~subst ~context term =
@@ -632,13 +639,13 @@ let nmap_obj0 status ~idref (_, _, metasenv, subst, kind) =
       n, is_ind, ty, List.map (build_constractor lno context) cl
    in
    match kind with
-      | NCic.Constant (_, n, xbo, ty, (_, flavour, pragma)) ->
+      | NCic.Constant (_, n, xbo, ty, attrs) ->
         let ty = nast_of_cic ~context:[] ty in
          let xbo = match xbo with 
            | Some bo -> Some (nast_of_cic ~context:[] bo)
            | None    -> None
         in
-        N.Theorem (flavour, n, ty, xbo, pragma)
+        N.Theorem (n, ty, xbo, attrs)
       | NCic.Inductive (is_ind, lno, itl, (_, `Regular)) ->      
          let captures, context = build_captures lno itl in
         N.Inductive (captures, List.map (build_inductive is_ind lno context) itl)