From bba8f787d531d9e9cb1a9ce2f6b93bbb1e22dd3a Mon Sep 17 00:00:00 2001 From: Torsten Ruger Date: Mon, 30 Jul 2018 17:17:27 +0300 Subject: [PATCH] update for yielding wip --- assets/css/app.css.sass | 5 +++-- lib/views/left_view.rb | 4 +++- lib/views/risc_view.rb | 2 +- lib/views/vool_view.rb | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/assets/css/app.css.sass b/assets/css/app.css.sass index a5ff7ac..3e6bd6d 100644 --- a/assets/css/app.css.sass +++ b/assets/css/app.css.sass @@ -25,11 +25,12 @@ body width: 16% margin-left: 1% overflow-x: hidden - + .risc_view width: 34% margin-left: 1% - + overflow-x: hidden + .status_view width: 14% margin-left: 1% diff --git a/lib/views/left_view.rb b/lib/views/left_view.rb index 6879110..5b18073 100644 --- a/lib/views/left_view.rb +++ b/lib/views/left_view.rb @@ -55,6 +55,7 @@ class SelectView < ElementView @element.at_css(".code_list") << list end + def select( code ) puts "selecting #{code}" @interpreter.set_state :stopped @@ -64,13 +65,14 @@ class SelectView < ElementView @interpreter.start_program(linker) end def as_main(statements) - "class Space ;def main(arg) ; #{statements}; end; end" + "class Space ;def yielder; return yield ; end;def main(arg) ; #{statements}; end; end" end def get_codes { while_with_calls: 'a = 0; while( 0 > a); a = 1 + a;end;return a', set_internal_byte: "return 'Hello'.set_internal_byte(1,75)" , called_if: 'if( 10 ); return "then";else;return "else";end' , plus: 'return 5 + 7' , + yield: "a = yielder {return 15} ; return a" , return: 'return 5' , hello_world: "h = 'Hello World'.putstring;return h", dynamic_call: "a = 150 ; return a.div10", diff --git a/lib/views/risc_view.rb b/lib/views/risc_view.rb index 2d2a71c..31aaf9b 100644 --- a/lib/views/risc_view.rb +++ b/lib/views/risc_view.rb @@ -36,7 +36,7 @@ class RiscView < ListView def instruction_text return "" unless @interpreter.instruction - @interpreter.instruction.to_s.split("(").first + @interpreter.instruction.to_s end end diff --git a/lib/views/vool_view.rb b/lib/views/vool_view.rb index 165e8ec..83e2968 100644 --- a/lib/views/vool_view.rb +++ b/lib/views/vool_view.rb @@ -29,7 +29,7 @@ class VoolView < ElementView method = i.source.method end #TODO, give mom a source - when Parfait::TypedMethod + when Parfait::Callable method = i.source when String return