class RipperRubyParser::Parser

Main parser class. Brings together Ripper and our RipperRubyParser::SexpProcessor.

Attributes

extra_compatible[RW]

Public Instance Methods

parse(source, filename='(string)', lineno=1) click to toggle source
# File lib/ripper_ruby_parser/parser.rb, line 15
def parse source, filename='(string)', lineno=1
  parser = CommentingRipperParser.new(source, filename, lineno)
  exp = parser.parse

  @processor.filename = filename
  @processor.extra_compatible = extra_compatible
  result = @processor.process exp

  if result == s(:void_stmt)
    nil
  else
    result
  end
end

Public Class Methods

new(processor=SexpProcessor.new) click to toggle source
# File lib/ripper_ruby_parser/parser.rb, line 10
def initialize processor=SexpProcessor.new
  @processor = processor
  @extra_compatible = false
end