class EleetScript::Interpreter

Attributes

memory[R]

Public Class Methods

new(memory = nil) click to toggle source
# File lib/lang/interpreter.rb, line 7
def initialize(memory = nil)
  @parser = Parser.new
  @memory = memory || Memory.new
  @memory.bootstrap(self)
end

Public Instance Methods

eval(code, show_nodes = false) click to toggle source
# File lib/lang/interpreter.rb, line 13
def eval(code, show_nodes = false)
  nodes = @parser.parse(code)
  puts nodes if show_nodes
  nodes.eval(@memory.root_namespace)
end
eval_with_context(code, context) click to toggle source
# File lib/lang/interpreter.rb, line 19
def eval_with_context(code, context)
  nodes = @parser.parse(code)
  nodes.eval(context)
end
load(file_name) click to toggle source
# File lib/lang/interpreter.rb, line 24
def load(file_name)
  if File.exists?(file_name)
    eval(File.read(file_name))
  end
end