module C = Cps
module H = Hierarchy
module E = Entity
+module N = Level
(* internal functions *******************************************************)
let f i = "mark", string_of_int i in
E.mark err f a
+let level n =
+ "level", N.to_string n
+
(* TODO: the string s must be quoted *)
let meta a =
let err () = "meta", "" in
let a = E.Name (U.name_of_uri u, true) :: a in
let attrs = [uri u; name a; mark a; meta a] in
let contents = match b with
- | E.Abst w -> tag "ABST" attrs ~contents:(pp_term w)
- | E.Abbr v -> tag "ABBR" attrs ~contents:(pp_term v)
- | E.Void -> assert false
+ | E.Abst (n, w) -> tag "ABST" (level n :: attrs) ~contents:(pp_term w)
+ | E.Abbr v -> tag "ABBR" attrs ~contents:(pp_term v)
+ | E.Void -> assert false
in
let opts = if si then "si" else "" in
let shp = H.string_of_graph () in