From 0c2738cdefb1c8d60f77e5b3bdbd4d1adaeb1933 Mon Sep 17 00:00:00 2001 From: Torsten Ruger Date: Tue, 3 Apr 2018 16:48:45 +0300 Subject: [PATCH] still sputters, but starts again after all that renaming --- Gemfile | 19 ++-- Gemfile.lock | 145 +++++++++++++-------------- README.md | 2 +- config.ru | 4 +- config/dependencies.rb | 2 +- config/initializers/server/rubyx.rb | 1 + config/initializers/server/salama.rb | 1 - lib/debugger.rb | 8 +- lib/views/classes_view.rb | 2 +- lib/views/ref_view.rb | 2 +- lib/views/registers_view.rb | 4 +- lib/views/source_view.rb | 6 +- lib/views/switch_view.rb | 2 +- 13 files changed, 92 insertions(+), 106 deletions(-) create mode 100644 config/initializers/server/rubyx.rb delete mode 100644 config/initializers/server/salama.rb diff --git a/Gemfile b/Gemfile index 34a0071..daf7a3c 100644 --- a/Gemfile +++ b/Gemfile @@ -3,23 +3,20 @@ source 'https://rubygems.org' gem "opal" gem 'opal-sprockets' gem 'opal-browser' -#gem "ast" , :path => "../ast" -gem "ast" , :github => "whitequark/ast" , branch: :master -gem "salama" , "0.5" , :path => "../salama" -#gem "salama" , github: "salama/salama" +gem "rubyx" , "0.6" , :path => "../rubyx" + +gem "rx-file" , :git => "https://github.com/ruby-x/rx-file" -gem "salama-object-file" , github: "salama/salama-object-file" gem "sass" gem "susy" group :test do # Testing dependencies gem "minitest" - gem 'rspec', '~> 3.2.0' - gem 'opal-rspec' - gem 'capybara', '~> 2.4.2' - gem 'selenium-webdriver', '~> 2.43.0' - gem 'chromedriver2-helper', '~> 0.0.8' - gem 'poltergeist', '~> 1.5.0' + gem 'rspec' + gem 'capybara' + gem 'selenium-webdriver' + gem 'chromedriver2-helper' + gem 'poltergeist' end diff --git a/Gemfile.lock b/Gemfile.lock index 50ae6c4..d075226 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,125 +1,114 @@ GIT - remote: git://github.com/salama/salama-object-file.git - revision: aab01b23108f10063433b1ef9f703ff2927d0b80 + remote: https://github.com/ruby-x/rx-file + revision: c1de10352d8af105fe532008ceafcdd30b5fbdab specs: - salama-object-file (0.3.0) - -GIT - remote: git://github.com/whitequark/ast.git - revision: 93c43433ec4d4344485eb4ea6f8948925f092af1 - branch: master - specs: - ast (2.3.0) + rx-file (0.3.0) PATH - remote: ../salama + remote: ../rubyx specs: - salama (0.5.0) - parser (~> 2.2.0) - salama-object-file (~> 0.3) + rubyx (0.6.0) + parser (~> 2.3.0) + rx-file (~> 0.3) GEM remote: https://rubygems.org/ specs: - capybara (2.4.4) - mime-types (>= 1.16) + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) + ast (2.4.0) + capybara (2.18.0) + addressable + mini_mime (>= 0.1.3) nokogiri (>= 1.3.3) rack (>= 1.0.0) rack-test (>= 0.5.4) - xpath (~> 2.0) - childprocess (0.5.6) + xpath (>= 2.0, < 4.0) + childprocess (0.9.0) ffi (~> 1.0, >= 1.0.11) - chromedriver2-helper (0.0.8) + chromedriver2-helper (0.0.10) nokogiri cliver (0.3.2) - concurrent-ruby (1.0.3) - diff-lcs (1.2.5) - ffi (1.9.10) + concurrent-ruby (1.0.5) + diff-lcs (1.3) + ffi (1.9.23) hike (1.2.3) - mime-types (2.6.2) - mini_portile (0.6.2) - minitest (5.8.1) - multi_json (1.11.2) - nokogiri (1.6.6.2) - mini_portile (~> 0.6.0) - opal (0.10.3) + mini_mime (1.0.0) + mini_portile2 (2.3.0) + minitest (5.11.3) + nokogiri (1.8.2) + mini_portile2 (~> 2.3.0) + opal (0.11.0) + ast (>= 2.3.0) hike (~> 1.2) + parser (= 2.3.3.1) sourcemap (~> 0.1.0) - sprockets (~> 3.1) - tilt (>= 1.4) opal-browser (0.2.0) opal paggio - opal-rspec (0.6.0) - opal (>= 0.10.0, < 0.11) - opal-sprockets (0.4.0.0.10.0.3.0.0) - opal (~> 0.10.0) - sprockets (~> 3.0) + opal-sprockets (0.4.1.0.11.0.3.1) + opal (~> 0.11.0) + sprockets (~> 3.1) tilt (>= 1.4) - paggio (0.2.5) - parser (2.2.3.0) - ast (>= 1.1, < 3.0) - poltergeist (1.5.1) + paggio (0.2.6) + parser (2.3.3.1) + ast (~> 2.2) + poltergeist (1.17.0) capybara (~> 2.1) cliver (~> 0.3.1) - multi_json (~> 1.0) websocket-driver (>= 0.2.0) - rack (2.0.1) - rack-test (0.6.3) - rack (>= 1.0) - rspec (3.2.0) - rspec-core (~> 3.2.0) - rspec-expectations (~> 3.2.0) - rspec-mocks (~> 3.2.0) - rspec-core (3.2.3) - rspec-support (~> 3.2.0) - rspec-expectations (3.2.1) + public_suffix (3.0.2) + rack (2.0.4) + rack-test (1.0.0) + rack (>= 1.0, < 3) + rspec (3.7.0) + rspec-core (~> 3.7.0) + rspec-expectations (~> 3.7.0) + rspec-mocks (~> 3.7.0) + rspec-core (3.7.1) + rspec-support (~> 3.7.0) + rspec-expectations (3.7.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.2.0) - rspec-mocks (3.2.1) + rspec-support (~> 3.7.0) + rspec-mocks (3.7.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.2.0) - rspec-support (3.2.2) - rubyzip (1.1.7) - sass (3.4.18) - selenium-webdriver (2.43.0) + rspec-support (~> 3.7.0) + rspec-support (3.7.1) + rubyzip (1.2.1) + sass (3.4.25) + selenium-webdriver (3.11.0) childprocess (~> 0.5) - multi_json (~> 1.0) - rubyzip (~> 1.0) - websocket (~> 1.0) + rubyzip (~> 1.2) sourcemap (0.1.1) sprockets (3.7.1) concurrent-ruby (~> 1.0) rack (> 1, < 3) - susy (2.2.6) + susy (2.2.12) sass (>= 3.3.0, < 3.5) - tilt (2.0.5) - websocket (1.2.2) - websocket-driver (0.6.2) + tilt (2.0.8) + websocket-driver (0.7.0) websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.2) - xpath (2.0.0) - nokogiri (~> 1.3) + websocket-extensions (0.1.3) + xpath (3.0.0) + nokogiri (~> 1.8) PLATFORMS ruby DEPENDENCIES - ast! - capybara (~> 2.4.2) - chromedriver2-helper (~> 0.0.8) + capybara + chromedriver2-helper minitest opal opal-browser - opal-rspec opal-sprockets - poltergeist (~> 1.5.0) - rspec (~> 3.2.0) - salama (= 0.5)! - salama-object-file! + poltergeist + rspec + rubyx (= 0.6)! + rx-file! sass - selenium-webdriver (~> 2.43.0) + selenium-webdriver susy BUNDLED WITH - 1.13.5 + 1.16.0 diff --git a/README.md b/README.md index 63f2137..eb88e25 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ After some tryouts it ended up being an Opal application. That is ruby as javascript in the browser. Below is a screenshot. -![Debugger](https://raw.githubusercontent.com/salama/salama-debugger/master/static/debugger.png) +![Debugger](https://raw.githubusercontent.com/rubyx/rubyx-debugger/master/static/debugger.png) ## Views diff --git a/config.ru b/config.ru index 1384c70..a06810f 100644 --- a/config.ru +++ b/config.ru @@ -5,9 +5,9 @@ require 'tilt/erb' require "opal" require 'opal-browser' -Opal.use_gem("salama") +Opal.use_gem("rubyx") Opal.use_gem("ast") -Register.machine.boot +Risc.machine.boot class DebugServer < Opal::Server def ball(env) diff --git a/config/dependencies.rb b/config/dependencies.rb index 4416cad..99950ca 100644 --- a/config/dependencies.rb +++ b/config/dependencies.rb @@ -1,4 +1,4 @@ # Specify which components you wish to include when # the "home" component loads. -Opal.use_gem("salama-object-file") +Opal.use_gem("rx-file") diff --git a/config/initializers/server/rubyx.rb b/config/initializers/server/rubyx.rb new file mode 100644 index 0000000..7f555d8 --- /dev/null +++ b/config/initializers/server/rubyx.rb @@ -0,0 +1 @@ +Opal.use_gem "rubyx" diff --git a/config/initializers/server/salama.rb b/config/initializers/server/salama.rb deleted file mode 100644 index d4c8080..0000000 --- a/config/initializers/server/salama.rb +++ /dev/null @@ -1 +0,0 @@ -Opal.use_gem "salama" diff --git a/lib/debugger.rb b/lib/debugger.rb index 4c7bb9b..e8925c9 100644 --- a/lib/debugger.rb +++ b/lib/debugger.rb @@ -6,9 +6,9 @@ require "logger" require 'browser' require 'browser/http' require 'native' -require "salama" +require "rubyx" require "ast" -require "register/interpreter" +require "risc/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. @@ -38,8 +38,8 @@ class MainView < ListView include AST::Sexp def initialize - Register.machine.boot - @interpreter = Register::Interpreter.new + Risc.machine.boot + @interpreter = Risc::Interpreter.new super( [SwitchView.new(@interpreter) , SourceView.new(@interpreter) , InstructionView.new(@interpreter) , diff --git a/lib/views/classes_view.rb b/lib/views/classes_view.rb index 7c2aacc..40446a6 100644 --- a/lib/views/classes_view.rb +++ b/lib/views/classes_view.rb @@ -10,7 +10,7 @@ class ClassesView < ListView def class_views classes = [] - Register.machine.space.classes.each do |name , claz| + Risc.machine.space.classes.each do |name , claz| classes << claz end classes.sort! {|a,b| a.name <=> b.name } diff --git a/lib/views/ref_view.rb b/lib/views/ref_view.rb index 06607e5..82806ba 100644 --- a/lib/views/ref_view.rb +++ b/lib/views/ref_view.rb @@ -41,7 +41,7 @@ class RefView < ListView end def is_label? - @value.is_a?(Register::Label) + @value.is_a?(Risc::Label) end def is_nil?() diff --git a/lib/views/registers_view.rb b/lib/views/registers_view.rb index ab484e9..54c413b 100644 --- a/lib/views/registers_view.rb +++ b/lib/views/registers_view.rb @@ -24,9 +24,9 @@ class RegistersView < ListView def register_changed reg , old , value reg = reg.symbol unless reg.is_a? Symbol index = reg.to_s[1 .. -1 ].to_i - has = Register.machine.objects[value.object_id] + has = Risc.machine.objects[value.object_id] if( has ) - if has.is_a?(Register::Label) + if has.is_a?(Risc::Label) swap = ValueView.new "Label: #{has.name}" else swap = ObjectView.new( value , @interpreter , 16 - index ) diff --git a/lib/views/source_view.rb b/lib/views/source_view.rb index ef2a906..785c105 100644 --- a/lib/views/source_view.rb +++ b/lib/views/source_view.rb @@ -38,7 +38,7 @@ class SourceView < ElementView def update_method i = @interpreter.instruction - if i.is_a?(Register::FunctionReturn) + if i.is_a?(Risc::FunctionReturn) object = @interpreter.get_register( i.register ) #puts "Object #{object}" link = object.get_internal_word( i.index ) @@ -46,12 +46,12 @@ class SourceView < ElementView raise "No link method" unless link i = link end - return unless (i.is_a? Register::Label) + return unless (i.is_a? Risc::Label) return unless i.is_method puts i.name cl_t_name , method_name = *i.name.split(".") class_name = cl_t_name.split(" ").last.split("_").first - clazz = Register.machine.space.get_class_by_name class_name + clazz = Risc.machine.space.get_class_by_name class_name raise "No class for #{cl_name} , #{i.name}" unless clazz type = clazz.instance_type method = type.get_instance_method( method_name ) diff --git a/lib/views/switch_view.rb b/lib/views/switch_view.rb index bce9800..8f15860 100644 --- a/lib/views/switch_view.rb +++ b/lib/views/switch_view.rb @@ -45,7 +45,7 @@ class SelectView < ElementView @element.at_css(".selected").text = code main , clean = get_codes[code] - machine = Register.machine.boot + machine = Risc.machine.boot clean_compile(*clean) if clean Typed.compile( main ) machine.collect