Method: Parser::Base#parse

Defined in:
lib/parser/base.rb

#parse(source_buffer) ⇒ Parser::AST::Node?

Parses a source buffer and returns the AST, or nil in case of a non fatal error.

Parameters:

Returns:



189
190
191
192
193
194
195
196
197
198
# File 'lib/parser/base.rb', line 189

def parse(source_buffer)
  @lexer.source_buffer = source_buffer
  @source_buffer       = source_buffer

  do_parse || nil # Force `false` to `nil`, see https://github.com/ruby/racc/pull/136
ensure
  # Don't keep references to the source file.
  @source_buffer       = nil
  @lexer.source_buffer = nil
end