\ / This software is distributed as is, NO WARRANTY.
V_______________________________________________________________ *)
-module F = Filename
-module U = NUri
-module C = Cps
-module H = Hierarchy
-module G = Options
-module E = Entity
-module N = Level
-module Q = Ccs
+module KF = Filename
+
+module U = NUri
+module C = Cps
+module G = Options
+module H = Hierarchy
+module N = Layer
+module E = Entity
(* internal functions *******************************************************)
let ext = ".xml"
-let obj_root = "ENTITY"
-
-let ccs_name = "ccs.ldc"
-
-let ccs_root = "CCS"
+let obj_root = "CONSTANT"
let home = "http://lambdadelta.info/"
-let system = F.concat (F.concat home base) "ld.dtd"
+let system = KF.concat (KF.concat home base) "ld.dtd"
let xmlns = "xmlns", home
let path_of_uri xdir uri =
- let base = F.concat xdir base in
- F.concat base (Str.string_after (U.string_of_uri uri) 3)
+ let base = KF.concat xdir base in
+ KF.concat base (Str.string_after (U.string_of_uri uri) 3)
(* interface functions ******************************************************)
E.name err f a
let apix a =
- let err () = "age", "" in
- let f i = "age", string_of_int i in
- E.apix err f a
+ "position", string_of_int a.E.n_apix
+
+let layer st n =
+ "layer", N.to_string st n
-let level n =
- "level", N.to_string n
+let kind a =
+ "position", string_of_int a.E.n_sort
let meta a =
let map = function
in
"meta", String.concat " " (List.rev_map map a.E.r_meta)
-let arity l =
- "arity", string_of_int (List.length l)
-
(* TODO: the string tx must be quoted *)
let info a =
let err () = ["lang", ""; "info", ""] in
let export_entity pp_term (ra, na, u, b) =
let path = path_of_uri !G.xdir u in
- let _ = Sys.command (Printf.sprintf "mkdir -p %s" (F.dirname path)) in
+ let _ = Sys.command (Printf.sprintf "mkdir -p %s" (KF.dirname path)) in
let och = open_out (path ^ ext) in
let out = output_string och in
xml out "1.0" "UTF-8"; doctype out obj_root system;
| E.Abbr v -> tag "GDef" attrs ~contents:(pp_term v)
| E.Void -> assert false
in
- let opts = if !G.si then "si" else "" in
let shp = H.string_of_graph () in
- let attrs = [xmlns; "hierarchy", shp; "options", opts] in
+ let attrs = [xmlns; "hierarchy", shp] in
tag obj_root attrs ~contents out 0;
close_out och
-
-let prec_map (i, _) = string_of_int i
-
-let next_map (_, i) = string_of_int i
-
-let marks = function
- | [] -> "mark", ""
- | l -> "mark", String.concat " " (List.rev_map string_of_int l)
-
-let precs = function
- | [] -> "prec", ""
- | l -> "prec", String.concat " " (List.rev_map prec_map l)
-
-let nexts = function
- | [] -> "next", ""
- | l -> "next", String.concat " " (List.rev_map next_map l)
-(*
-let export_csys s =
- let path = path_of_uri !G.xdir s.Q.buri in
- let _ = Sys.command (Printf.sprintf "mkdir -p %s" path) in
- let name = F.concat path (ccs_name ^ ext) in
- let och = open_out name in
- let out = output_string och in
- xml out "1.0" "UTF-8"; doctype out ccs_root system;
- let attrs = [xmlns; uri s.Q.buri] in
- let contents out tab =
- tag "ToPositive" [arity s.Q.tp; marks s.Q.tp] out tab;
- tag "ToOne" [arity s.Q.t1; marks s.Q.t1] out tab;
- tag "ToNext" [arity s.Q.tn; precs s.Q.tn; nexts s.Q.tn] out tab
- in
- tag ccs_root attrs ~contents out 0;
- close_out och
-*)