Module: Braingasm
- Defined in:
- lib/braingasm.rb,
lib/braingasm/errors.rb,
lib/braingasm/parser.rb,
lib/braingasm/machine.rb,
lib/braingasm/options.rb,
lib/braingasm/version.rb,
lib/braingasm/tokenizer.rb
Defined Under Namespace
Modules: Options
Classes: BraingasmError, JumpSignal, Machine, Parser, ParsingError, Tokenizer, VMError
Constant Summary
collapse
- VERSION =
"0.2.1"
Class Method Summary
collapse
Class Method Details
.handle_options(**command_line_options) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/braingasm/options.rb', line 27
def self.handle_options(**command_line_options)
Options[:eof] = 0 if command_line_options[:zero]
Options[:eof] = -1 if command_line_options[:negative]
Options[:eof] = nil if command_line_options[:as_is]
Options[:wrap_cells] = false if command_line_options[:unbound]
if command_line_options[:cell_size_given]
cell_size = command_line_options[:cell_size]
Options[:cell_limit] = 2**cell_size
end
end
|
.initialize_machine(code) ⇒ Object
6
7
8
9
10
11
|
# File 'lib/braingasm.rb', line 6
def self.initialize_machine(code)
machine = Machine.new
tokenizer = Tokenizer.new(code)
machine.program = Parser.new(tokenizer).parse_program
machine
end
|