# File rparsec/parser.rb, line 65
  def parse(src)
    ctxt = ParseContext.new(src)
    return ctxt.result if _parse ctxt
    ctxt.prepare_error
    locator = CodeLocator.new(src)
    raise ParserException.new(ctxt.error.index), 
      _add_location_to_error(locator, ctxt, 
        _add_encountered_error(ctxt.to_msg,
           _display_current_input(ctxt.error.input, src, ctxt.index)), src)
  end