(* Internal functions *******************************************************)
-let empty_cnt = D.ESort
+let empty_cnt = D.empty_lenv
+
+let alpha id =
+ if id.[0] >= '0' && id.[0] <= '9' then !G.alpha ^ id else id
let add_abst cnt id d w =
+ let id = if !G.alpha <> "" then alpha id else id in
let a = E.node_attrs ~name:(id, true) ~degr:(succ d) () in
D.EBind (cnt, a, D.Abst (N.two, w))
let mk_lref f a i = f a.E.n_degr (D.TLRef (E.empty_node, i))
-let id_of_name (id, _, _) = id
+let id_of_name (id, _, _) =
+ if !G.alpha <> "" then alpha id else id
let mk_qid f lst id path =
let str = String.concat "/" path in
let f _ vv = xlate_term (f vv) st lst y lenv t in
xlate_term f st lst false lenv v
| A.Abst (name, w, t) ->
+ let name = if !G.alpha <> "" then alpha name else name in
let f dw ww =
let a = E.node_attrs ~name:(name, true) () in
let f dt tt =