File: variable_context_manager.mli

package info (click to toggle)
galax 1.1-10
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 12,832 kB
  • sloc: ml: 96,603; xml: 26,602; ansic: 4,875; sh: 3,977; makefile: 1,667; java: 1,146
file content (41 lines) | stat: -rw-r--r-- 1,977 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(***********************************************************************)
(*                                                                     *)
(*                                 GALAX                               *)
(*                              XQuery Engine                          *)
(*                                                                     *)
(*  Copyright 2001-2007.                                               *)
(*  Distributed only by permission.                                    *)
(*                                                                     *)
(***********************************************************************)

(* $Id: variable_context_manager.mli,v 1.7 2007/02/01 22:08:45 simeon Exp $ *)

(* Module: Update_ordering 
     This module deals with variable context during runtime.  It also
     holds the build functions to access and store variables
*)

type variable_context_manager
type variable_ref 

val build_context_manager : unit -> variable_context_manager
(* This must be called before the manager can be used - 
   it allocates space for the variables.
   
   After it is called no variable references can be added to the context manager
*)
val instantiate_variable_context_manager : variable_context_manager -> unit


val build_parameter_insert_code : variable_context_manager -> int -> (Physical_value.xml_value -> unit)

val build_variable_enter_context : variable_context_manager -> (unit -> unit)
val build_variable_exit_context  : variable_context_manager -> (unit -> unit)
val build_variable_store_code    : variable_ref -> (Physical_value.xml_value -> unit)
val build_variable_retrieve_code : variable_ref -> (unit -> Physical_value.xml_value)
val build_variable_assign_code   : variable_ref -> (unit -> Physical_value.xml_value) -> (unit -> Physical_value.xml_value)


val get_new_variable_slot       : variable_context_manager -> variable_ref

val string_of_variable_ref      : variable_ref -> string