switching to ast::processor
using instance methods instead of context
This commit is contained in:
@ -2,7 +2,7 @@ require_relative '../helper'
|
||||
require 'parslet/convenience'
|
||||
|
||||
|
||||
module CompilerHelper
|
||||
Compiler.class_eval doHelper
|
||||
|
||||
def check
|
||||
Virtual.machine.boot.compile_main @string_input
|
||||
|
@ -6,7 +6,7 @@ class CompilerTest < MiniTest::Test
|
||||
Virtual.machine.boot
|
||||
end
|
||||
def check
|
||||
res = Virtual::Compiler.compile( @expression , Virtual.machine.space.get_main )
|
||||
res = Bosl::Compiler.compile( @expression , Virtual.machine.space.get_main )
|
||||
assert res.is_a?(Virtual::Slot) , "compiler must compile to slot, not #{res.class}"
|
||||
end
|
||||
def true_ex
|
||||
|
@ -8,9 +8,11 @@ module Fragments
|
||||
|
||||
def check
|
||||
expressions = Virtual.machine.boot.compile_main @string_input
|
||||
puts expressions
|
||||
@expect.each_with_index do | should , i |
|
||||
assert expressions[i].is_a?(Virtual::Slot) , "compiles should return slots, not #{should.class}"
|
||||
assert_equal should , expressions[i].class
|
||||
exp_i = expressions[i]
|
||||
assert exp_i.is_a?(Virtual::Slot) , "compiles should return #{should}, not #{exp_i}"
|
||||
assert_equal should , exp_i.class
|
||||
end
|
||||
# Virtual.machine.run_passes
|
||||
end
|
||||
|
@ -5,7 +5,7 @@ class AddTest < MiniTest::Test
|
||||
def setup
|
||||
Virtual.machine.boot
|
||||
code =Ast::OperatorExpression.new("+", Ast::IntegerExpression.new(2),Ast::IntegerExpression.new(5))
|
||||
Virtual::Compiler.compile( code , Virtual.machine.space.get_main )
|
||||
Bosl::Compiler.compile( code , Virtual.machine.space.get_main )
|
||||
Virtual.machine.run_before "Register::CallImplementation"
|
||||
@interpreter = Interpreter::Interpreter.new
|
||||
@interpreter.start Virtual.machine.init
|
||||
|
@ -5,7 +5,7 @@ class TestPuts < MiniTest::Test
|
||||
def setup
|
||||
Virtual.machine.boot
|
||||
code = Ast::ExpressionList.new( [Ast::CallSiteExpression.new(:putstring, [] ,Ast::StringExpression.new("Hello again"))])
|
||||
Virtual::Compiler.compile( code , Virtual.machine.space.get_main )
|
||||
Bosl::Compiler.compile( code , Virtual.machine.space.get_main )
|
||||
Virtual.machine.run_before "Register::CallImplementation"
|
||||
@interpreter = Interpreter::Interpreter.new
|
||||
@interpreter.start Virtual.machine.init
|
||||
|
Reference in New Issue
Block a user