Module Interpreter


module Interpreter: sig .. end
The Jtemplate interpreter
Author(s): Tony BenBrahim < tony.benbrahim at gmail.com >

val interpret : Ast.runtime_env -> Ast.runtime_statement -> unit
Interpret a runtime AST
Returns unit
env : a runtime environment
val interpret_stmts : Ast.runtime_env -> Ast.runtime_statement list -> unit
Interprets a list of statements
env : runtime environments
val evaluate : Ast.runtime_env ->
Ast.runtime_expression -> Ast.runtime_env * Ast.runtime_variable_value
Evaluates an expression
Returns a value
env : runtime environment
val resolve_func_this : Ast.runtime_env ->
Ast.runtime_expression ->
Ast.runtime_variable_value * Ast.runtime_variable_value
Resolves a function call by an expression into a function and a this object
Returns a tuple of the this object and the function
env : runtime environment
fexpr : the expression to analyze
val run_function : Ast.runtime_env ->
Ast.runtime_variable_value list ->
Ast.runtime_variable_value ->
Ast.runtime_variable_value -> Ast.runtime_env * Ast.runtime_variable_value
Runs a function
Returns a tuple of the environemt and return value
env : runtime environment
value_list : list of values to pass as arguments
this : this pointer
func : function
val evaluate_memb_expr_index : Ast.runtime_env -> Ast.runtime_expression -> string * bool
Determines the value and type of expression for the last member of a member expression
Returns a tuple with the index of the expression and a boolean indicating whether it is an integer
env : the runtime environment
index : the expression to evaluate
val get_member_expr_map : Ast.runtime_env ->
Ast.runtime_expression ->
Ast.runtime_expression ->
(string, Ast.runtime_variable_value) Hashtbl.t * string
Returns the hashmap that corresponds to the member expression
Returns the hashmap that corresponds to the member expression
env : the runtime environment
expr : the member expression (without the last member)
index : the index (the last member of the member expression)
val evaluate_expr_list : Ast.runtime_env ->
Ast.runtime_expression list -> Ast.runtime_variable_value list
Evaluates a list of expressions
env : the runtime environment
expr_list : an expression list