Sha256: 6e86add0eea20370ef9ee560ea654b878d9bd970314968c3a326ec4b87f1ae85
Contents?: true
Size: 757 Bytes
Versions: 2
Compression:
Stored size: 757 Bytes
Contents
# frozen_string_literal: true require 'hashie' require 'kaiser_ruby/parser' require 'kaiser_ruby/refinements' require 'kaiser_ruby/transformer' require 'pry' # Transpile Rockstar into Ruby code module KaiserRuby class RockstarSyntaxError < SyntaxError end def self.parse(input) parser = KaiserRuby::Parser.new(input) parser.parse end def self.transpile(input) tree = parse(input) KaiserRuby::Transformer.new(tree).transform end using KaiserRuby::Refinements def self.execute(input) with_captured_stdout do instance_eval transpile(input) end end def self.with_captured_stdout old_stdout = $stdout $stdout = StringIO.new yield $stdout.string ensure $stdout = old_stdout end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kaiser-ruby-0.8.1 | lib/kaiser_ruby.rb |
kaiser-ruby-0.8 | lib/kaiser_ruby.rb |