class

Axal::Interpreter

Inherits Reference < Object

Constructors

Instance methods

assign_function_args_to_params(stack_frame)
Source
assign_function_args_to_params_for_chained_call(stack_frame, param1)
Source
convert_x_to_js(item : X, rt) : X
Source
fetch_ext_code_replacement_value(param)
Source
fetch_function_definition(fn_name : String)
Source
interpret(ast : Nil | Axal::AST::Program)
Source
interpret_array_list(array : AST::ArrayList) : X
Source
interpret_binary_operator(binary_op)

ameba:disable Metrics/CyclomaticComplexity

Source
interpret_boolean(boolean)
Source
interpret_chained_function_call(fn_call : AST::FunctionCall, param1)
Source
interpret_conditional(conditional)

TODO Empty blocks are accepted both for the IF and for the ELSE. For the IF, the parser returns a block with an empty collection of expressions. For the else, no block is constructed. The evaluation is already resulting in nil, which is the desired behavior. It would be better, however, if the parser also returned a block with no expressions for an ELSE with an empty block, as is the case in an IF with an empty block. Investigate this nuance of the parser in the future.

Source
interpret_describe_definition(desc_def)
Source
interpret_duktape(value : Duktape::JSPrimitive)
Source
interpret_duktape_array(value : Array(Duktape::JSPrimitive)) : X
Source
interpret_duktape_hash(value : Hash(String, Duktape::JSPrimitive)) : X
Source
interpret_external_code(external_code) : X

find variables in the external code and fetch from local or global

Source
interpret_fetch(url)
Source
interpret_function_call(fn_call : AST::FunctionCall)
Source
interpret_function_chain(chain : AST::FunctionChain)
Source
interpret_function_definition(fn_def)
Source
interpret_identifier(identifier)
Source
interpret_it_definition(it_def)
Source
interpret_json(json : AST::Json)
Source
interpret_module_definition(mod_def)
Source
interpret_nested_json(json : AST::Json)
Source
interpret_nil(nil_node)
Source
interpret_node(node)

ameba:disable Metrics/CyclomaticComplexity

Source
interpret_nodes(nodes)
Source
interpret_number(number) : Float64
Source
interpret_repetition(repetition)
Source
interpret_return(ret)
Source
interpret_string(string)
Source
interpret_unary_operator(unary_op)
Source
interpret_var_binding(var_binding)
Source
output
Source
output=(output : Array(String))
Source
println(fn_call)
Source
println_chained(result)

Built in functions

Source
program
Source
replace_external_code_variables(external_code, rt)
Source
return_detected?(node)
Source
test_output
Source
test_output=(test_output : Hash(String, Array(TestResult)))
Source
unwind_call_stack
Source
unwind_call_stack=(unwind_call_stack : Int32)
Source