X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2Ftable.ml;fp=src%2Ftable.ml;h=3d372eca395d5486d03342d0b6e717b432dcc2a8;hp=ae446eaf12578fe108e7bd67939400f3e681ebca;hb=333d2789a5dd6b7395b5fedbcdd670e103e0eb4b;hpb=273665d1294e6253fbd45137471e7dd568b38735 diff --git a/src/table.ml b/src/table.ml index ae446ea..3d372ec 100644 --- a/src/table.ml +++ b/src/table.ml @@ -5,18 +5,20 @@ type move = Self | Revfirstchild | Prevsibling -type query_tree = Binop of op * query_tree * query_tree - | Axis of Xpath.Ast.axis * query_tree - | Start - | Dom - | Tag of QNameSet.t * Tree.NodeKind.t +type query_tree_desc = Binop of op * query_tree * query_tree + | Axis of Xpath.Ast.axis * query_tree + | Start + | Dom + | Tag of QNameSet.t * Tree.NodeKind.t + and op = Union | Inter | Diff -(*and query_tree = { + +and query_tree = { mutable desc : query_tree_desc; mutable id : int; mutable hash : int; } -*) + @@ -37,7 +39,7 @@ let print_node_list tree l = ) l let rec print_query_tree fmt q = - match q with + match q.desc with Dom -> Format.fprintf fmt "Dom" | Start -> Format.fprintf fmt "Start" | Tag (t,k) -> Format.fprintf fmt "Tag(%a, %a)" QNameSet.print t Tree.NodeKind.print k