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