Class: Depager::ParserGenerator

Inherits:
Generator show all
Defined in:
lib/depager.rb

Direct Known Subclasses

LALR::ParserGenerator

Constant Summary

Constants inherited from Generator

Generator::TEMPLATES_DIR

Instance Attribute Summary

Attributes inherited from Generator

#d_parser, #decorators, #g_parser, #inner_code, #options, #outer_code, #parsing_method, #requirements, #setup_code

Instance Method Summary collapse

Methods inherited from Generator

#generate_code, #initialize, #parse_block, #parse_common, #parse_prec

Methods included from Utils::CommonMethods

#error_exit, #error_message, #expanded_code_delimiter, #file, #full_target_name, #input_path, #inspect, #target_name, #target_namespace, #warning

Constructor Details

This class inherits a constructor from Depager::Generator

Instance Method Details

#parseObject



463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
# File 'lib/depager.rb', line 463

def parse
  until file.eof?
    line = file.gets
    case line
    when /^%%\s*$/
      g_parser.parse(@d_parser.full_target_name, @precs, @extensions, @options)
      @outer_code << parse_block(raw: true)
      return generate_code parser_code_template
    when /^%setup((\s*{\s*)|(\s.*))$/
      @setup_code << ($2 ? parse_block : $3.lstrip)
    else
      parse_common(line)
    end
  end
  nil
end

#parser_code_templateObject



480
# File 'lib/depager.rb', line 480

def parser_code_template; end