module KaiserRuby

Transpile Rockstar into Ruby code

Constants

VERSION

Public Class Methods

execute(input) click to toggle source
# File lib/kaiser_ruby.rb, line 26
def self.execute(input)
  with_captured_stdout do
    instance_eval transpile(input)
  end
end
parse(input) click to toggle source
# File lib/kaiser_ruby.rb, line 14
def self.parse(input)
  parser = KaiserRuby::Parser.new(input)
  parser.parse
end
transpile(input) click to toggle source
# File lib/kaiser_ruby.rb, line 19
def self.transpile(input)
  tree = parse(input)
  KaiserRuby::Transformer.new(tree).transform
end
with_captured_stdout() { || ... } click to toggle source
# File lib/kaiser_ruby.rb, line 32
def self.with_captured_stdout
  old_stdout = $stdout
  $stdout = StringIO.new
  yield
  $stdout.string
ensure
  $stdout = old_stdout
end