rubyx/test/virtual/virtual_helper.rb

23 lines
671 B
Ruby
Raw Normal View History

2014-06-25 14:20:46 +02:00
require_relative '../helper'
require 'parslet/convenience'
require "yaml"
2014-06-25 14:20:46 +02:00
2014-06-26 10:34:48 +02:00
module VirtualHelper
2014-06-25 14:20:46 +02:00
# need a code generator, for arm
def setup
2014-06-26 10:34:48 +02:00
# @object_space = Boot::BootSpace.new "Arm"
2014-06-25 14:20:46 +02:00
end
2014-06-26 10:34:48 +02:00
def check
2014-07-17 01:26:13 +02:00
parser = Parser::Kide.new
2014-06-25 14:20:46 +02:00
syntax = parser.parse_with_debug(@string_input)
parts = Parser::Transform.new.apply(syntax)
2014-06-26 16:48:33 +02:00
machine = Virtual::Machine.new
2014-07-16 18:24:41 +02:00
main = Virtual::MethodDefinition.main
2014-07-15 17:27:13 +02:00
expressions = parts.compile(machine.frame , main )
2014-07-18 10:16:56 +02:00
should = YAML.load(@output.gsub("RETURN_MARKER" , "\n"))
assert_equal should , expressions , expressions.to_yaml.gsub("\n" , "RETURN_MARKER") + "\n" + expressions.to_yaml
2014-06-25 14:20:46 +02:00
end
end