Method: Treetop::Compiler::Grammar#compile

Defined in:
lib/vendor/treetop/lib/treetop/compiler/node_classes/grammar.rb

#compileObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/vendor/treetop/lib/treetop/compiler/node_classes/grammar.rb', line 4

def compile
  builder = RubyBuilder.new
  
  builder.module_declaration "#{grammar_name.text_value}" do
    builder.in(indent_level) # account for initial indentation of grammar declaration
    builder << "include Treetop::Runtime"
    builder.newline
    declaration_sequence.compile(builder)
  end
  builder.newline
  builder.class_declaration "#{parser_name} < Treetop::Runtime::CompiledParser" do
    builder << "include #{grammar_name.text_value}"
  end
end