class
Lit::Interpreter
Included Modules
Defined in:
lit/interpreter.cr
Constant Summary
-
BINARY_OP_TO_METHOD =
{"+": "add", "-": "sub", "*": "mul", "/": "div", "%": "mod", ">": "gt", ">=": "gte", "<": "lt", "<=": "lte", "==": "eq"}
Constructors
Class Method Summary
Instance Method Summary
visit_block_stmt(stmt : Block) : T | T | T | T | T | T | T | T
visit_block_stmt,
visit_break_stmt(stmt : Break) : T | T | T | T | T | T | T | T
visit_break_stmt,
visit_expression_stmt(stmt : Expression) : T | T | T | T | T | T | T | T
visit_expression_stmt,
visit_function_stmt(stmt : Function) : T | T | T | T | T | T | T | T
visit_function_stmt,
visit_if_stmt(stmt : If) : T | T | T | T | T | T | T | T
visit_if_stmt,
visit_loop_stmt(stmt : Loop) : T | T | T | T | T | T | T | T
visit_loop_stmt,
visit_next_stmt(stmt : Next) : T | T | T | T | T | T | T | T
visit_next_stmt,
visit_print_stmt(stmt : Print) : T | T | T | T | T | T | T | T
visit_print_stmt,
visit_println_stmt(stmt : Println) : T | T | T | T | T | T | T | T
visit_println_stmt,
visit_return_stmt(stmt : Return) : T | T | T | T | T | T | T | T
visit_return_stmt,
visit_type_stmt(stmt : Type) : T | T | T | T | T | T | T | T
visit_type_stmt,
visit_var_stmt(stmt : Var) : T | T | T | T | T | T | T | T
visit_var_stmt,
visit_while_stmt(stmt : While) : T | T | T | T | T | T | T | T
visit_while_stmt
visit_assign_expr(expr : Assign) : T | T | T | T | T | T | T | T
visit_assign_expr,
visit_binary_expr(expr : Binary) : T | T | T | T | T | T | T | T
visit_binary_expr,
visit_call_expr(expr : Call) : T | T | T | T | T | T | T | T
visit_call_expr,
visit_function_expr(expr : Function) : T | T | T | T | T | T | T | T
visit_function_expr,
visit_get_expr(expr : Get) : T | T | T | T | T | T | T | T
visit_get_expr,
visit_grouping_expr(expr : Grouping) : T | T | T | T | T | T | T | T
visit_grouping_expr,
visit_literal_expr(expr : Literal) : T | T | T | T | T | T | T | T
visit_literal_expr,
visit_logical_expr(expr : Logical) : T | T | T | T | T | T | T | T
visit_logical_expr,
visit_self_expr(expr : Self) : T | T | T | T | T | T | T | T
visit_self_expr,
visit_set_expr(expr : Set) : T | T | T | T | T | T | T | T
visit_set_expr,
visit_string_interpolation_expr(expr : StringInterpolation) : T | T | T | T | T | T | T | T
visit_string_interpolation_expr,
visit_ternary_expr(expr : Ternary) : T | T | T | T | T | T | T | T
visit_ternary_expr,
visit_unary_expr(expr : Unary) : T | T | T | T | T | T | T | T
visit_unary_expr,
visit_variable_expr(expr : Variable) : T | T | T | T | T | T | T | T
visit_variable_expr
Constructor Detail
Class Method Detail
def self.
interpret(stmts : Array(
Stmt))
#
Instance Method Detail
def
interpret(stmts) : Nil
#
def
resolve(expr, depth)
#
def
type_of(value :
Value) : String
#
def
visit_assign_expr(expr) :
Value
#
def
visit_binary_expr(expr) :
Value
#
def
visit_block_stmt(stmt) : Nil
#
def
visit_break_stmt(stmt) : Nil
#
def
visit_call_expr(expr) :
Value
#
def
visit_expression_stmt(stmt) : Nil
#
def
visit_function_expr(expr) :
Value
#
def
visit_function_stmt(stmt) : Nil
#
def
visit_get_expr(expr) :
Value
#
def
visit_grouping_expr(expr) :
Value
#
def
visit_if_stmt(stmt) : Nil
#
def
visit_literal_expr(expr) :
Value
#
def
visit_logical_expr(expr) :
Value
#
def
visit_loop_stmt(stmt) : Nil
#
def
visit_next_stmt(stmt) : Nil
#
def
visit_print_stmt(stmt) : Nil
#
def
visit_println_stmt(stmt) : Nil
#
def
visit_return_stmt(stmt) : Nil
#
def
visit_self_expr(expr) :
Value
#
def
visit_set_expr(expr) :
Value
#
def
visit_string_interpolation_expr(expr) : String
#
def
visit_ternary_expr(expr) :
Value
#
def
visit_type_stmt(stmt) : Nil
#
def
visit_unary_expr(expr) :
Value
#
def
visit_var_stmt(stmt) : Nil
#
def
visit_variable_expr(expr) :
Value
#
def
visit_while_stmt(stmt) : Nil
#