X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fgrammar2.mli;fp=src%2Fgrammar2.mli;h=c884ff1359e6ab730b7b3e0ce21a81122f0f4570;hb=7270a43a59e6ff4b27ab0a339723ed8a24d0a091;hp=e2efc8595658c4ffbd28b34e719769af335aeb19;hpb=642b641d914ed49e5e3c084eb93d31e90d4b851b;p=SXSI%2Fxpathcomp.git diff --git a/src/grammar2.mli b/src/grammar2.mli index e2efc85..c884ff1 100644 --- a/src/grammar2.mli +++ b/src/grammar2.mli @@ -12,12 +12,12 @@ type n_symbol = n_type Node.t type t_symbol = t_type Node.t type tn_symbol = [ any_type ] Node.t - -type partial = - Leaf of node - | Node0 of tn_symbol - | Node1 of tn_symbol * partial - | Node2 of tn_symbol * partial * partial +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 conf = C0 | C1 | C2 | C3 | C4 | C5 | C6 @@ -43,3 +43,14 @@ 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 +*)