class Drizzle::Evaluator
- Drizzle::Evaluator
- Reference
- Object
Overview
Module containing an overloaded evaluation function that evaluates all the various node types
Defined in:
drizzle/evaluator.crClass Method Summary
-
.eval(node : AST::Program, env : Environment) : Object::Object
eval method for program nodes, the starting point of any drizzle program
-
.eval(node : AST::BlockStatement, env : Environment) : Object::Object
eval method for block nodes, which represent a collection of statements
-
.eval(node : AST::IfStatement, env : Environment) : Object::Object
eval method for if statements
-
.eval(node : AST::Return, env : Environment) : Object::Object
eval method for return statements
-
.eval(node : AST::Let, env : Environment) : Object::Object
eval method for let statements
-
.eval(node : AST::Function, env : Environment) : Object::Object
eval statement for function definitions
-
.eval(node : AST::ExpressionStatement, env : Environment) : Object::Object
eval method for expression statement nodes, which represent expressions on their own (e.g.
-
.eval(node : AST::PrefixExpression, env : Environment) : Object::Object
eval method for prefix expression nddes
-
.eval(node : AST::InfixExpression, env : Environment) : Object::Object
eval method for infix expression nodes
-
.eval(node : AST::CallExpression, env : Environment) : Object::Object
eval method for call expressions, formed as a result of calling a function
-
.eval(node : AST::IntegerLiteral, env : Environment) : Object::Object
eval method for integer literal nodes
-
.eval(node : AST::BooleanLiteral, env : Environment) : Object::Object
eval method for boolean literal nodes
-
.eval(node : AST::Identifier, env : Environment) : Object::Object
eval method for identifiers
-
.eval(node : AST::Node, env : Environment) : Object::Object
temp catchall method
-
.eval(node : Nil, env : Environment) : Object::Object
temp handling for nil nodes since expressionstatement can have a nil expression
Class Method Detail
eval method for program nodes, the starting point of any drizzle program
eval method for block nodes, which represent a collection of statements
eval method for if statements
eval method for return statements
eval method for let statements
eval statement for function definitions
eval method for expression statement nodes, which represent expressions on their own (e.g. an integer literal on its own)
eval method for prefix expression nddes
eval method for infix expression nodes
eval method for call expressions, formed as a result of calling a function
eval method for integer literal nodes
eval method for boolean literal nodes
eval method for identifiers
temp catchall method
temp handling for nil nodes since expressionstatement can have a nil expression