Sha256: 6d4bc0e28b6952eba19b504a27f8cdbaf2f9d3860bb1c9d637474afd4be6daaf
Contents?: true
Size: 752 Bytes
Versions: 2
Compression:
Stored size: 752 Bytes
Contents
require 'parslet' require 'kaiser_ruby/rockstar_parser' require 'kaiser_ruby/rockstar_transform' module KaiserRuby def self.up_indent @@indent ||= 0 @@indent += 2 end def self.down_indent @@indent ||= 0 @@indent -= 2 end def self.indent @@indent ||= 0 end def self.parse(input) if input.split("\n").size == 1 KaiserRuby::RockstarSingleLineParser.new.parse(input.chomp) else KaiserRuby::RockstarParser.new.parse(input) end rescue Parslet::ParseFailed => failure puts input.inspect puts failure.parse_failure_cause.ascii_tree end def self.transform(tree) KaiserRuby::RockstarTransform.new.apply(tree) end def self.transpile(input) transform(parse(input)) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kaiser-ruby-0.2.3 | lib/kaiser_ruby.rb |
kaiser-ruby-0.2.2 | lib/kaiser_ruby.rb |