type t_symbol = t_type Node.t
type tn_symbol = [ any_type ] Node.t
+type 'a partial =
+ | Cache of 'a
+ | Leaf of int*int * StateSet.t array * node
+ | Node0 of tn_symbol (* No parameters *)
+ | Node1 of tn_symbol * 'a partial
+ | Node2 of tn_symbol * 'a partial * 'a partial
-type partial =
- Leaf of node
- | Node of tn_symbol * partial array
-
+type conf = C0 | C1 | C2 | C3 | C4 | C5 | C6
val parse : string -> t
val save : t -> string -> unit
val start_first_child : t -> node -> node
val start_next_sibling : t -> node -> node
val get_rule : t -> n_symbol -> rhs
+val get_conf : rhs -> conf
val get_rank : rhs -> int
val get_id1_rank : rhs -> int
val get_id2_rank : rhs -> int
val get_id2_pos : rhs -> int
val get_id1 : rhs -> tn_symbol
val get_id2 : rhs -> tn_symbol
+
+val is_attribute : t -> Tag.t -> bool
+(*
+val start_skip : t -> node -> int -> int
+val rule_skip : t -> n_symbol -> 'a partial -> 'a partial -> int -> int
+*)
+val dummy_param : 'a partial
+(*
+val dispatch_param0 : conf -> tn_symbol -> 'a partial -> 'a partial -> 'a partial
+val dispatch_param1 : conf -> tn_symbol -> 'a partial -> 'a partial -> 'a partial
+*)