]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/helena/src/basic_rg/brgUntrusted.ml
update in helena
[helm.git] / helm / software / helena / src / basic_rg / brgUntrusted.ml
index 87a3f60cfff3942573016435c7466cc5597235f2..b1cd52523d794f36db670f5636e6c0e810fba4b3 100644 (file)
@@ -11,6 +11,8 @@
 
 module U  = NUri
 module L  = Log
+module Y  = Time
+module G  = Options
 module E  = Entity
 module B  = Brg
 module BE = BrgEnvironment
@@ -20,32 +22,45 @@ module BV = BrgValidity
 
 (* Interface functions ******************************************************)
 
+IFDEF TYPE THEN
+
 (* to share *)
 let type_check err f st = function
-   | ra, na, uri, E.Abst t ->
+   | ra, na, uri, E.Abst (a, t) ->
       let err msg = err (L.Uri uri :: msg) in
       let f xt tt = 
-         let e = BE.set_entity (ra, na, uri, E.Abst xt) in f tt e
+         let e = BE.set_entity (ra, na, uri, E.abst a xt) in f tt e
       in
-      BT.type_of err f st BR.empty_kam t
-   | ra, na, uri, E.Abbr t ->
+      BT.type_of err f st BR.empty_rtm t
+   | ra, na, uri, E.Abbr (a, t) ->
       let err msg = err (L.Uri uri :: msg) in
       let f xt tt = 
          let xt = match xt with
            | B.Cast _ -> xt
-           | _        -> B.Cast (E.empty_node, tt, xt)
+           | _        -> B.Cast (tt, xt)
         in
-         let e = BE.set_entity (ra, na, uri, E.Abbr xt) in f tt e
+         let e = BE.set_entity (ra, na, uri, E.abbr a xt) in f tt e
       in
-      BT.type_of err f st BR.empty_kam t
-   | _, _, _, E.Void       -> assert false
+      BT.type_of err f st BR.empty_rtm t
+   | _, _, _, E.Void            -> assert false
+
+END
 
 let validate err f st e =
+IFDEF PROFV THEN
+   Y.utime_lap ""
+ELSE () END;
    let uri, t = match e with
-      | _, _, uri, E.Abst t -> uri, t
-      | _, _, uri, E.Abbr t -> uri, t
-      | _, _, _,   E.Void   -> assert false
+      | _, _, uri, E.Abst (_, t) -> uri, t
+      | _, _, uri, E.Abbr (_, t) -> uri, t
+      | _, _, _,   E.Void        -> assert false
    in
    let err msg = err (L.Uri uri :: msg) in
-   let f () = let _ = BE.set_entity e in f () in
-   BV.validate err f st BR.empty_kam t
+   let f () =
+       let _ = BE.set_entity e in
+IFDEF PROFV THEN
+       if !G.si then () else Y.utime_lap "validated"
+ELSE () END;
+       f ()
+   in
+   BV.validate err f st BR.empty_rtm t