-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.uri 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.uri] 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