getting basics to work
This commit is contained in:
parent
0aafeeeb22
commit
cc6a050250
@ -39,7 +39,10 @@ class MainView < ListView
|
|||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
machine = Register.machine.boot
|
machine = Register.machine.boot
|
||||||
code = s(:statements, s(:return, s(:operator_value, :+, s(:int, 5), s(:int, 7))))
|
code = s(:statements, s(:call,
|
||||||
|
s(:name, :set_internal_byte),
|
||||||
|
s(:arguments, s(:int, 1), s(:int, 104)),
|
||||||
|
s(:receiver, s(:string, "Hello"))))
|
||||||
Typed.compile( code )
|
Typed.compile( code )
|
||||||
machine.collect
|
machine.collect
|
||||||
@interpreter = Register::Interpreter.new
|
@interpreter = Register::Interpreter.new
|
||||||
|
@ -29,6 +29,8 @@ class SourceView < ElementView
|
|||||||
end
|
end
|
||||||
when String
|
when String
|
||||||
@ticker.text = i.source
|
@ticker.text = i.source
|
||||||
|
when Typed::Code
|
||||||
|
@ticker.text = i.source.to_s
|
||||||
else
|
else
|
||||||
raise i.source.class.name
|
raise i.source.class.name
|
||||||
end
|
end
|
||||||
@ -45,14 +47,14 @@ class SourceView < ElementView
|
|||||||
i = link
|
i = link
|
||||||
end
|
end
|
||||||
return unless (i.is_a? Register::Label)
|
return unless (i.is_a? Register::Label)
|
||||||
if i.is_method
|
return unless i.is_method
|
||||||
cl_name , method_name = *i.name.split(".")
|
puts i.name
|
||||||
clazz = Register.machine.space.get_class_by_name cl_name.split(" ").last
|
cl_t_name , method_name = *i.name.split(".")
|
||||||
raise "No class for #{cl_name} , #{i.name}" unless clazz
|
class_name = cl_t_name.split(" ").last.split("_").first
|
||||||
method = clazz.get_instance_method( method_name)
|
clazz = Register.machine.space.get_class_by_name class_name
|
||||||
else
|
raise "No class for #{cl_name} , #{i.name}" unless clazz
|
||||||
return
|
type = clazz.instance_type
|
||||||
end
|
method = type.get_instance_method( method_name )
|
||||||
@element.at_css(".source").text = i.name
|
@element.at_css(".source").text = i.name
|
||||||
@text.inner_html = HtmlConverter.new.process( method.source )
|
@text.inner_html = HtmlConverter.new.process( method.source )
|
||||||
end
|
end
|
||||||
|
@ -28,7 +28,7 @@ class SelectView < ElementView
|
|||||||
end
|
end
|
||||||
|
|
||||||
def get_codes
|
def get_codes
|
||||||
@codes = ["1", "2"]
|
@codes = ["set_internal_byte"]
|
||||||
add_selection
|
add_selection
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ class SelectView < ElementView
|
|||||||
list << code
|
list << code
|
||||||
end
|
end
|
||||||
Promise.new.then{
|
Promise.new.then{
|
||||||
select(@codes.first)
|
select(@codes.first)
|
||||||
}
|
}
|
||||||
@element.at_css(".code_list") << list
|
@element.at_css(".code_list") << list
|
||||||
end
|
end
|
||||||
@ -49,7 +49,10 @@ class SelectView < ElementView
|
|||||||
def select code
|
def select code
|
||||||
@interpreter.set_state :stopped
|
@interpreter.set_state :stopped
|
||||||
@element.at_css(".selected").text = code
|
@element.at_css(".selected").text = code
|
||||||
input = s(:statements, s(:return, s(:operator_value, :+, s(:int, 5), s(:int, 7))))
|
input = s(:statements, s(:call,
|
||||||
|
s(:name, :set_internal_byte),
|
||||||
|
s(:arguments, s(:int, 1), s(:int, 104)),
|
||||||
|
s(:receiver, s(:string, "Hello"))))
|
||||||
|
|
||||||
machine = Register.machine.boot
|
machine = Register.machine.boot
|
||||||
#do_clean_compile
|
#do_clean_compile
|
||||||
|
Loading…
x
Reference in New Issue
Block a user