module Expr: sig end
Expression compilation and evalutation routines
type t
Code of an expression
type v =
| |
VrNumber of int |
| |
VrString of string |
| |
VrThing of Thing.t |
(* | a thing in the hyrarchical data structure | *) |
| |
VrBool of bool |
(* | boolean value | *) |
| |
VrFunction of (int * (v list -> v)) |
(* | a function | *) |
| |
VrExtern of int |
(* | a pre-declared function | *) |
| |
VrHtml of Html.t list |
(* | a set of html tags | *) |
| |
VrInFile of Pervasives.in_channel |
(* | a file handle | *) |
| |
VrOutFile of Pervasives.out_channel |
| |
VrDir of Unix.dir_handle |
(* | a directory | *) |
| |
VrFloat of float |
| |
VrArray of (int, Bigarray.int_elt, Bigarray.c_layout) Bigarray.Array1.t |
| |
VrError |
(* | error of null state | *) |
Contents of a variable
val scan : string -> t
Scan the expression inside the string
val eval : t -> v
Evaluate an expression into a variable value
val string_of_var : v -> string
Convert a variable value into a string
val dump : (string -> unit) -> t -> unit
Dump with the function
the byte-code of the expression
val var_new : string -> v -> unit
Create a new variable
with a given contents
val var_del : string -> unit
Remove the variable
val var_get : string -> v
Get the contents of the variable
val var_init : unit -> unit
Clear the non system variables
val var_restore : unit -> unit
Restore the situation before the last init