more opal changes

This commit is contained in:
Torsten Ruger 2015-07-14 16:03:06 +03:00
parent 71ed4f60d7
commit a49ef347ff
5 changed files with 37 additions and 14 deletions

View File

@ -1,7 +1,7 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'opal-browser' gem 'opal-browser' , :path => "../opal-browser"
#gem "salama" , "0.2" , :path => "../salama" #gem "salama" , "0.2" , :path => "../salama"

View File

@ -1,3 +1,10 @@
PATH
remote: ../opal-browser
specs:
opal-browser (0.2.0.beta1)
opal
paggio
PATH PATH
remote: ../parslet remote: ../parslet
specs: specs:
@ -48,9 +55,6 @@ GEM
sourcemap (~> 0.1.0) sourcemap (~> 0.1.0)
sprockets (~> 3.1) sprockets (~> 3.1)
tilt (>= 1.4) tilt (>= 1.4)
opal-browser (0.1.0.beta1)
opal (>= 0.5.5)
paggio
opal-rspec (0.4.3) opal-rspec (0.4.3)
opal (>= 0.7.0, < 0.9) opal (>= 0.7.0, < 0.9)
paggio (0.2.4) paggio (0.2.4)
@ -98,7 +102,7 @@ PLATFORMS
DEPENDENCIES DEPENDENCIES
capybara (~> 2.4.2) capybara (~> 2.4.2)
chromedriver2-helper (~> 0.0.8) chromedriver2-helper (~> 0.0.8)
opal-browser opal-browser!
opal-rspec (~> 0.4.2) opal-rspec (~> 0.4.2)
parslet! parslet!
poltergeist (~> 1.5.0) poltergeist (~> 1.5.0)

View File

@ -1,11 +1,22 @@
require 'bundler' require 'bundler'
Bundler.require Bundler.require
require_relative "lib/parse_task"
require "opal" require "opal"
Opal.use_gem("salama") Opal.use_gem("salama")
run Opal::Server.new { |s| class DebugServer < Opal::Server
def call(env)
if( env["REQUEST_PATH"] == "/tasks.json")
[200, { 'Content-Type' => 'text/json' }, [ParseTask.new.parse(1).to_json]]
else
super(env)
end
end
end
run DebugServer.new { |s|
s.main = 'debugger' s.main = 'debugger'
s.append_path 'lib' s.append_path 'lib'
s.source_map = true
s.debug = true s.debug = true
} }

View File

@ -1,6 +1,6 @@
require "opal" require "opal"
require "opal-parser"
require "main_view" require "main_view"
Virtual::Machine.boot Virtual::Machine.boot

View File

@ -1,4 +1,7 @@
require 'browser' require 'browser'
require 'browser/canvas'
require 'browser/http'
require 'native' require 'native'
require "salama" require "salama"
require "point" require "point"
@ -11,6 +14,18 @@ class MainView
def initialize def initialize
@canvas = Browser::Canvas.new @canvas = Browser::Canvas.new
@canvas.element.width = 1000
@canvas.element.height = 500
Browser::HTTP.get "/tasks.json" do
on :success do |res|
is = Ast::Expression.from_basic(res.json)
Virtual::Compiler.compile( is , Virtual.machine.space.get_main )
Virtual.machine.run_before Virtual::Machine::FIRST_PASS
end
end
@canvas.append_to($document.body)
end
def no
height = `window.innerHeight` height = `window.innerHeight`
width = `window.innerWidth` width = `window.innerWidth`
@ -23,13 +38,6 @@ class MainView
registers = RegisterView.new(height - 150) registers = RegisterView.new(height - 150)
@canvas.add_child registers @canvas.add_child registers
ParseTask.parse(1).then do |result|
is = Ast::Expression.from_basic(result)
Virtual::Compiler.compile( is , Virtual.machine.space.get_main )
Virtual.machine.run_before Virtual::Machine::FIRST_PASS
end.fail do |error|
raise "Error: #{error}"
end
space = SpaceView.new space = SpaceView.new
@container.add_child space @container.add_child space