type node_attrs = {
n_name: name option; (* name *)
- n_apix: int option; (* additional position index *)
+ n_apix: int; (* additional position index *)
n_degr: int; (* degree *)
+ n_sort: int; (* sort *)
}
type root_attrs = {
(* helpers ******************************************************************)
-let node_attrs ?(real=true) ?apix ?name ?(degr=0) () = {
- n_apix = apix; n_name = name; n_degr = degr;
+let node_attrs ?(apix=0) ?name ?(degr=0) ?(sort=0) () = {
+ n_apix = apix; n_name = name; n_degr = degr; n_sort = sort
}
let root_attrs ?(meta=[]) ?info () = {
| Some (n, r) -> f n r
| None -> err ()
-let rec apix err f a = match a.n_apix with
- | Some i -> f i
- | None -> err ()
-
let rec info err f a = match a.r_info with
| Some (lg, tx) -> f lg tx
| None -> err ()