X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fruntime.mli;h=fd36d23813005b6ba385b17b453dcc4f2d9b821c;hb=refs%2Fheads%2Fl3jit-refactor;hp=a30db0da6edb0212b68aa349edc23cee30944e06;hpb=4b52da1a20a4fe031930bb96d2ca46bec06dc529;p=SXSI%2Fxpathcomp.git diff --git a/src/runtime.mli b/src/runtime.mli index a30db0d..fd36d23 100644 --- a/src/runtime.mli +++ b/src/runtime.mli @@ -2,6 +2,16 @@ module type S = sig type result_set val top_down_run : Ata.t -> Tree.t -> Tree.node -> result_set val bottom_up_run : Ata.t -> Tree.t -> Compile.text_query * string -> result_set + val grammar_run : Ata.t -> Grammar2.t -> unit -> result_set end module Make (U : ResJIT.S) : S with type result_set = U.NS.t + +type 'a result_ops = { + empty : 'a; + subtree_tags : Tree.t -> Tree.node -> Tag.t -> 'a; + subtree_elements : Tree.t -> Tree.node -> 'a; + exec : 'a array -> 'a array -> 'a array -> Tree.node -> ResJIT.code -> unit; +} + +val top_down_run : 'a result_ops -> Ata.t -> Tree.t -> Tree.node -> 'a