Class: Esoteric::Compiler::Base
- Inherits:
-
Object
- Object
- Esoteric::Compiler::Base
- Defined in:
- lib/esoteric/compiler.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
- #compile ⇒ Object
-
#initialize(src, logger = nil) ⇒ Base
constructor
A new instance of Base.
Constructor Details
#initialize(src, logger = nil) ⇒ Base
Returns a new instance of Base.
12 13 14 15 16 17 18 |
# File 'lib/esoteric/compiler.rb', line 12 def initialize(src, logger=nil) @src = normalize(src) unless @logger = logger @logger = Logger.new(STDOUT) @logger.level = Logger::ERROR end end |
Class Method Details
.compile(src, logger = nil) ⇒ Object
8 9 10 |
# File 'lib/esoteric/compiler.rb', line 8 def self.compile(src, logger=nil) new(src, logger).compile end |
Instance Method Details
#compile ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/esoteric/compiler.rb', line 20 def compile insns = [] while st = step insns.push st end insns.map {|c,a| a.nil? ? c.to_s : "#{c}\t#{a}"}.join("\n") end |