Temporary commit for grammar stuff.
[SXSI/xpathcomp.git] / src / grammar2.mli
index e2efc85..c884ff1 100644 (file)
@@ -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
+*)