Class: Gisele::VM
- Inherits:
-
Object
- Object
- Gisele::VM
- Extended by:
- Forwardable
- Includes:
- Lifecycle, Logging, Robustness
- Defined in:
- lib/gisele/vm.rb,
lib/gisele/vm/prog.rb,
lib/gisele/vm/event.rb,
lib/gisele/vm/proxy.rb,
lib/gisele/vm/errors.rb,
lib/gisele/vm/kernel.rb,
lib/gisele-vm/version.rb,
lib/gisele/vm/command.rb,
lib/gisele/vm/console.rb,
lib/gisele/vm/enacter.rb,
lib/gisele/vm/logging.rb,
lib/gisele/vm/bytecode.rb,
lib/gisele/vm/registry.rb,
lib/gisele/vm/component.rb,
lib/gisele/vm/lifecycle.rb,
lib/gisele/vm/prog_list.rb,
lib/gisele/vm/robustness.rb,
lib/gisele/vm/null_object.rb,
lib/gisele/vm/proxy/client.rb,
lib/gisele/vm/proxy/server.rb,
lib/gisele/vm/event_manager.rb,
lib/gisele/vm/kernel/runner.rb,
lib/gisele/vm/kernel/opcodes.rb,
lib/gisele/vm/prog_list/sqldb.rb,
lib/gisele/vm/bytecode/builder.rb,
lib/gisele/vm/bytecode/grammar.rb,
lib/gisele/vm/bytecode/printer.rb,
lib/gisele/vm/prog_list/memory.rb,
lib/gisele/vm/prog_list/storage.rb,
lib/gisele/vm/simulator/resumer.rb
Defined Under Namespace
Modules: Lifecycle, Logging, Proxy, Robustness, Simulator, Version Classes: BadUsageError, Bytecode, Command, Component, Console, Enacter, Error, Event, EventManager, InvalidBytecodeError, InvalidInputError, InvalidLabelError, InvalidPUIDError, InvalidStateError, Kernel, NullObject, Prog, ProgList, Registry
Constant Summary collapse
Instance Attribute Summary collapse
-
#bytecode ⇒ Object
readonly
Returns the value of attribute bytecode.
-
#event_manager ⇒ Object
Returns the value of attribute event_manager.
-
#kernel ⇒ Object
readonly
Returns the value of attribute kernel.
-
#proglist ⇒ Object
Returns the value of attribute proglist.
-
#registry ⇒ Object
readonly
Returns the value of attribute registry.
Attributes included from Lifecycle
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(bytecode = [:gvm]) {|_self| ... } ⇒ VM
constructor
A new instance of VM.
- #progs(restriction = nil) ⇒ Object
- #vm ⇒ Object
Methods included from Lifecycle
#run, #running?, #shutdown?, #stop, #stopped?, #warmup?
Methods included from Logging
Constructor Details
#initialize(bytecode = [:gvm]) {|_self| ... } ⇒ VM
Returns a new instance of VM.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/gisele/vm.rb', line 29 def initialize(bytecode = [:gvm]) @bytecode = (Kernel.bytecode + Bytecode.coerce(bytecode)).verify! @registry = Registry.new(self) @kernel = Kernel.new @proglist = ProgList.memory @event_manager = EventManager.new init_lifecycle # other registration yield(self) if block_given? # post installation of prior components @registry.register @event_manager, true @registry.register @proglist, true @registry.register @kernel, true end |
Instance Attribute Details
#bytecode ⇒ Object (readonly)
Returns the value of attribute bytecode.
23 24 25 |
# File 'lib/gisele/vm.rb', line 23 def bytecode @bytecode end |
#event_manager ⇒ Object
Returns the value of attribute event_manager.
27 28 29 |
# File 'lib/gisele/vm.rb', line 27 def event_manager @event_manager end |
#kernel ⇒ Object (readonly)
Returns the value of attribute kernel.
25 26 27 |
# File 'lib/gisele/vm.rb', line 25 def kernel @kernel end |
#proglist ⇒ Object
Returns the value of attribute proglist.
26 27 28 |
# File 'lib/gisele/vm.rb', line 26 def proglist @proglist end |
#registry ⇒ Object (readonly)
Returns the value of attribute registry.
24 25 26 |
# File 'lib/gisele/vm.rb', line 24 def registry @registry end |
Class Method Details
.compile(gis) ⇒ Object
51 52 53 |
# File 'lib/gisele/vm.rb', line 51 def self.compile(gis) Compiling::Gts2Bytecode.call(gts(gis)) end |
.drb_client(&bl) ⇒ Object
module Proxy
59 60 61 |
# File 'lib/gisele/vm/proxy/client.rb', line 59 def self.drb_client(&bl) Proxy::Client.new.run(&bl) end |
.gts(gis) ⇒ Object
47 48 49 |
# File 'lib/gisele/vm.rb', line 47 def self.gts(gis) Compiling::Gisele2Gts.compile(gis) end |
Instance Method Details
#progs(restriction = nil) ⇒ Object
82 83 84 |
# File 'lib/gisele/vm.rb', line 82 def progs(restriction = nil) proglist.to_relation(restriction) end |
#vm ⇒ Object
55 56 57 |
# File 'lib/gisele/vm.rb', line 55 def vm self end |