update salaam and fix

This commit is contained in:
Torsten Ruger
2015-11-24 16:26:49 +02:00
parent 5aebc464e2
commit daa75719cc
7 changed files with 18 additions and 18 deletions

View File

@ -9,7 +9,7 @@ require 'native'
require "salama"
require "salama-reader"
require "ast"
require "interpreter/interpreter"
require "register/interpreter"
# the base, our own litle framework, allows for child and parent views and handles updates
require "base/list_view"
# each seperate view is in it's own class.
@ -44,7 +44,7 @@ class MainView < ListView
s(:statements, s(:class_field, :Integer, :x))))
Soml.compile( code )
machine.collect
@interpreter = Interpreter::Interpreter.new
@interpreter = Register::Interpreter.new
super( [SwitchView.new(@interpreter) ,
SourceView.new(@interpreter) ,
InstructionView.new(@interpreter) ,

View File

@ -28,7 +28,7 @@ class ObjectView < ListView
f = @object.get_instance_variable(variable)
else
variable = (at - @object.class.get_length_index).to_s
f = @object.get_internal(at)
f = @object.get_internal_word(at)
end
#puts "got var name #{variable}#{variable.class} for #{at}, #{f}"
view = RefView.new( variable , f , @z )

View File

@ -39,7 +39,7 @@ class SourceView < ElementView
if i.is_a?(Register::FunctionReturn)
object = @interpreter.get_register( i.register )
#puts "Object #{object}"
link = object.get_internal( i.index )
link = object.get_internal_word( i.index )
#puts "Link #{link}"
raise "No link method" unless link
i = link
@ -47,7 +47,8 @@ class SourceView < ElementView
return unless (i.is_a? Register::Label)
if i.is_method
cl_name , method_name = *i.name.split(".")
clazz = Register.machine.space.get_class_by_name cl_name
clazz = Register.machine.space.get_class_by_name cl_name.split(" ").last
raise "No class for #{cl_name} , #{i.name}" unless clazz
method = clazz.get_instance_method( method_name)
else
return