NAME
Zuzu::Runtime - interpreter and evaluator for ZuzuScript programs
DESCRIPTION
Creates runtime state, installs built-ins, and evaluates AST nodes produced by the parser.
INHERITANCE
Inherits from Moo::Object.
ROLES
None.
ATTRIBUTES
lib
Type: ArrayRef[Str].
Module search paths used by import resolution.
METHODS
new
Constructs and returns a new instance of this class.
evaluate
Dispatches this AST node to the matching runtime evaluator.
finish
Runs pending object demolition hooks for a completed runtime.
call
Invokes a global function by name with arguments.
eval_program
Evaluates the corresponding AST node kind and returns its runtime value.
eval_block
Evaluates the corresponding AST node kind and returns its runtime value.
eval_let
Evaluates the corresponding AST node kind and returns its runtime value.
eval_assign
Evaluates the corresponding AST node kind and returns its runtime value.
eval_if
Evaluates the corresponding AST node kind and returns its runtime value.
eval_while
Evaluates the corresponding AST node kind and returns its runtime value.
eval_for
Evaluates the corresponding AST node kind and returns its runtime value.
eval_function_def
Evaluates the corresponding AST node kind and returns its runtime value.
eval_class_def
Evaluates the corresponding AST node kind and returns its runtime value.
eval_method_def
Evaluates the corresponding AST node kind and returns its runtime value.
eval_return
Evaluates the corresponding AST node kind and returns its runtime value.
eval_next
Evaluates the corresponding AST node kind and returns its runtime value.
eval_last
Evaluates the corresponding AST node kind and returns its runtime value.
eval_expr_stmt
Evaluates the corresponding AST node kind and returns its runtime value.
eval_import
Evaluates the corresponding AST node kind and returns its runtime value.
eval_literal
Evaluates the corresponding AST node kind and returns its runtime value.
eval_var
Evaluates the corresponding AST node kind and returns its runtime value.
eval_array
Evaluates the corresponding AST node kind and returns its runtime value.
eval_dict
Evaluates the corresponding AST node kind and returns its runtime value.
eval_index
Evaluates the corresponding AST node kind and returns its runtime value.
eval_dict_get
Evaluates the corresponding AST node kind and returns its runtime value.
eval_unary
Evaluates the corresponding AST node kind and returns its runtime value.
eval_binary
Evaluates the corresponding AST node kind and returns its runtime value.
eval_call
Evaluates the corresponding AST node kind and returns its runtime value.
eval_member_call
Evaluates the corresponding AST node kind and returns its runtime value.
eval_new
Evaluates the corresponding AST node kind and returns its runtime value.
SEE ALSO
Subclasses: none in this distribution.
COPYRIGHT AND LICENCE
Zuzu::Runtime is copyright Toby Inkster.
It is free software; you may redistribute it and/or modify it under the terms of either the Artistic License 1.0 or the GNU General Public License version 2.