Sha256: baf9048e0c48932ef1167b2127647ba605005ad6726555903314190c12a2a01b

Contents?: true

Size: 524 Bytes

Versions: 3

Compression:

Stored size: 524 Bytes

Contents

require 'nokogiri'

class BlocklyInterpreter::Interpreter
  attr_reader :program, :debug_messages

  def initialize(program)
    @program = program
    @debug_messages = []
  end

  def build_execution_context
    BlocklyInterpreter::ExecutionContext.new(self)
  end

  def execute
    build_execution_context.tap do |context|
      context.execute(program.first_block)
      add_debug_messages context.debug_messages
    end
  end

  def add_debug_messages(debug_messages)
    @debug_messages.push *debug_messages
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
blockly_interpreter-0.3.0 lib/blockly_interpreter/interpreter.rb
blockly_interpreter-0.2.1 lib/blockly_interpreter/interpreter.rb
blockly_interpreter-0.2.0 lib/blockly_interpreter/interpreter.rb