Module: KaiserRuby
- Defined in:
- lib/kaiser_ruby.rb,
lib/kaiser_ruby/cli.rb,
lib/kaiser_ruby/version.rb,
lib/kaiser_ruby/rockstar_parser.rb,
lib/kaiser_ruby/rockstar_transform.rb
Defined Under Namespace
Classes: CLI, RockstarParser, RockstarSingleLineParser, RockstarTransform
Constant Summary
collapse
- VERSION =
"0.3.0"
Class Method Summary
collapse
Class Method Details
.down_indent ⇒ Object
11
12
13
14
|
# File 'lib/kaiser_ruby.rb', line 11
def self.down_indent
@@indent ||= 0
@@indent -= 2
end
|
.indent ⇒ Object
16
17
18
|
# File 'lib/kaiser_ruby.rb', line 16
def self.indent
@@indent ||= 0
end
|
.parse(input) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/kaiser_ruby.rb', line 20
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
|
32
33
34
|
# File 'lib/kaiser_ruby.rb', line 32
def self.transform(tree)
KaiserRuby::RockstarTransform.new.apply(tree)
end
|
.transpile(input) ⇒ Object
36
37
38
|
# File 'lib/kaiser_ruby.rb', line 36
def self.transpile(input)
transform(parse(input))
end
|
.up_indent ⇒ Object
6
7
8
9
|
# File 'lib/kaiser_ruby.rb', line 6
def self.up_indent
@@indent ||= 0
@@indent += 2
end
|