KDevelop API Documentation

Parser Class Reference

A generic ANTLR parser (LL(k) for k>=1) containing a bunch of utility routines useful at any lookahead depth. More...

#include <Parser.hpp>

Inheritance diagram for Parser:

LLkParser List of all members.

Public Member Functions

virtual ~Parser ()
virtual int LA (int i)=0
 Return the token type of the ith token of lookahead where i=1 is the current token being examined by the parser (i.e., it has not been matched yet).

virtual RefToken LT (int i)=0
 Return the i-th token of lookahead.

virtual void setASTNodeFactory (ASTFactory *factory)
 DEPRECATED! Specify the factory to be used during tree building.

virtual void setASTFactory (ASTFactory *factory)
 Specify the factory to be used during tree building.

virtual ASTFactorygetASTFactory ()
 Return a pointer to the ASTFactory used.

RefAST getAST ()
 Get the root AST node of the generated AST.

virtual std::string getFilename () const
 Return the filename of the input file.

virtual void setFilename (const std::string &f)
 Set the filename of the input file (used for error reporting).

virtual void setInputState (ParserSharedInputState state)
virtual ParserSharedInputState getInputState () const
virtual void consume ()=0
 Get another token object from the token stream.

virtual void consumeUntil (int tokenType)
 Consume tokens until one matches the given token.

virtual void consumeUntil (const BitSet &set)
 Consume tokens until one matches the given token set.

virtual void match (int t)
 Make sure current lookahead symbol matches token type t.

virtual void matchNot (int t)
virtual void match (const BitSet &b)
 Make sure current lookahead symbol matches the given set Throw an exception upon mismatch, which is catch by either the error handler or by the syntactic predicate.

virtual int mark ()
 Mark a spot in the input and return the position.

virtual void rewind (int pos)
 rewind to a previously marked position

virtual void reportError (const RecognitionException &ex)
 Parser error-reporting function can be overridden in subclass.

virtual void reportError (const std::string &s)
 Parser error-reporting function can be overridden in subclass.

virtual void reportWarning (const std::string &s)
 Parser warning-reporting function can be overridden in subclass.

virtual const char * getTokenName (int num) const =0
 get the token name for the token number 'num'

virtual const char *const * getTokenNames () const =0
 get a vector with all token names

virtual int getNumTokens (void) const =0
 get the max token number This one should be overridden in subclasses.

virtual void traceIndent ()
 Set or change the input token buffer.

virtual void traceIn (const char *rname)
virtual void traceOut (const char *rname)
 Parser (Driver *driver, Lexer *lexer)
virtual ~Parser ()

Static Public Member Functions

void panic ()

Protected Member Functions

 Parser (TokenBuffer &input_)
 Parser (TokenBuffer *input_)
 Parser (const ParserSharedInputState &state)

Protected Attributes

ParserSharedInputState inputState
RefAST returnAST
 AST return value for a rule is squirreled away here.

ASTFactoryastFactory
 AST support code; parser and treeparser delegate to this object.

int traceDepth

Private Member Functions

 Parser (const Parser &)
const Parseroperator= (const Parser &)
virtual bool reportError (const Error &err)
virtual bool reportError (const QString &msg)
virtual void syntaxError ()
bool parseDeclaration (DeclarationAST::Node &node)
bool parseBlockDeclaration (DeclarationAST::Node &node)
bool parseLinkageSpecification (DeclarationAST::Node &node)
bool parseLinkageBody (LinkageBodyAST::Node &node)
bool parseNamespace (DeclarationAST::Node &node)
bool parseNamespaceAliasDefinition (DeclarationAST::Node &node)
bool parseUsing (DeclarationAST::Node &node)
bool parseUsingDirective (DeclarationAST::Node &node)
bool parseTypedef (DeclarationAST::Node &node)
bool parseAsmDefinition (DeclarationAST::Node &node)
bool parseTemplateDeclaration (DeclarationAST::Node &node)
bool parseDeclarationInternal (DeclarationAST::Node &node)
bool parseUnqualifiedName (ClassOrNamespaceNameAST::Node &node)
bool parseStringLiteral (AST::Node &node)
bool parseName (NameAST::Node &node)
bool parseOperatorFunctionId (AST::Node &node)
bool parseTemplateArgumentList (TemplateArgumentListAST::Node &node, bool reportError=true)
bool parseOperator (AST::Node &node)
bool parseCvQualify (GroupAST::Node &node)
bool parseSimpleTypeSpecifier (TypeSpecifierAST::Node &node)
bool parsePtrOperator (AST::Node &node)
bool parseTemplateArgument (AST::Node &node)
bool parseTypeSpecifier (TypeSpecifierAST::Node &node)
bool parseTypeSpecifierOrClassSpec (TypeSpecifierAST::Node &node)
bool parseDeclarator (DeclaratorAST::Node &node)
bool parseTemplateParameterList (TemplateParameterListAST::Node &node)
bool parseTemplateParameter (TemplateParameterAST::Node &node)
bool parseStorageClassSpecifier (GroupAST::Node &node)
bool parseFunctionSpecifier (GroupAST::Node &node)
bool parseInitDeclaratorList (InitDeclaratorListAST::Node &node)
bool parseInitDeclarator (InitDeclaratorAST::Node &node)
bool parseParameterDeclarationClause (ParameterDeclarationClauseAST::Node &node)
bool parseCtorInitializer (AST::Node &node)
bool parsePtrToMember (AST::Node &node)
bool parseEnumSpecifier (TypeSpecifierAST::Node &node)
bool parseClassSpecifier (TypeSpecifierAST::Node &node)
bool parseWinDeclSpec (GroupAST::Node &node)
bool parseElaboratedTypeSpecifier (TypeSpecifierAST::Node &node)
bool parseDeclaratorId (NameAST::Node &node)
bool parseExceptionSpecification (GroupAST::Node &node)
bool parseEnumerator (EnumeratorAST::Node &node)
bool parseTypeParameter (TypeParameterAST::Node &node)
bool parseParameterDeclaration (ParameterDeclarationAST::Node &node)
bool parseTypeId (AST::Node &node)
bool parseAbstractDeclarator (DeclaratorAST::Node &node)
bool parseParameterDeclarationList (ParameterDeclarationListAST::Node &node)
bool parseMemberSpecification (DeclarationAST::Node &node)
bool parseAccessSpecifier (AST::Node &node)
bool parseTypeIdList (GroupAST::Node &node)
bool parseMemInitializerList (AST::Node &node)
bool parseMemInitializer (AST::Node &node)
bool parseInitializer (AST::Node &node)
bool parseBaseClause (BaseClauseAST::Node &node)
bool parseBaseSpecifier (BaseSpecifierAST::Node &node)
bool parseInitializerClause (AST::Node &node)
bool parseMemInitializerId (NameAST::Node &node)
bool parseFunctionBody (StatementListAST::Node &node)
bool skipExpression (AST::Node &node)
bool skipCommaExpression (AST::Node &node)
bool skipExpressionStatement (StatementAST::Node &node)
bool parseExpression (AST::Node &node)
bool parsePrimaryExpression (AST::Node &node)
bool parsePostfixExpression (AST::Node &node)
bool parseUnaryExpression (AST::Node &node)
bool parseNewExpression (AST::Node &node)
bool parseNewTypeId (AST::Node &node)
bool parseNewDeclarator (AST::Node &node)
bool parseNewInitializer (AST::Node &node)
bool parseDeleteExpression (AST::Node &node)
bool parseCastExpression (AST::Node &node)
bool parsePmExpression (AST::Node &node)
bool parseMultiplicativeExpression (AST::Node &node)
bool parseAdditiveExpression (AST::Node &node)
bool parseShiftExpression (AST::Node &node)
bool parseRelationalExpression (AST::Node &node, bool templArgs=false)
bool parseEqualityExpression (AST::Node &node, bool templArgs=false)
bool parseAndExpression (AST::Node &node, bool templArgs=false)
bool parseExclusiveOrExpression (AST::Node &node, bool templArgs=false)
bool parseInclusiveOrExpression (AST::Node &node, bool templArgs=false)
bool parseLogicalAndExpression (AST::Node &node, bool templArgs=false)
bool parseLogicalOrExpression (AST::Node &node, bool templArgs=false)
bool parseConditionalExpression (AST::Node &node)
bool parseAssignmentExpression (AST::Node &node)
bool parseConstantExpression (AST::Node &node)
bool parseCommaExpression (AST::Node &node)
bool parseThrowExpression (AST::Node &node)
bool parseCondition (ConditionAST::Node &node)
bool parseStatement (StatementAST::Node &node)
bool parseWhileStatement (StatementAST::Node &node)
bool parseDoStatement (StatementAST::Node &node)
bool parseForStatement (StatementAST::Node &node)
bool parseCompoundStatement (StatementAST::Node &node)
bool parseForInitStatement (StatementAST::Node &node)
bool parseIfStatement (StatementAST::Node &node)
bool parseSwitchStatement (StatementAST::Node &node)
bool parseLabeledStatement (StatementAST::Node &node)
bool parseDeclarationStatement (StatementAST::Node &node)
bool parseTryBlockStatement (StatementAST::Node &node)
bool parseObjcDef (DeclarationAST::Node &node)
bool parseObjcClassDef (DeclarationAST::Node &node)
bool parseObjcClassDecl (DeclarationAST::Node &node)
bool parseObjcProtocolDecl (DeclarationAST::Node &node)
bool parseObjcAliasDecl (DeclarationAST::Node &node)
bool parseObjcProtocolDef (DeclarationAST::Node &node)
bool parseObjcMethodDef (DeclarationAST::Node &node)
bool parseIvarDeclList (AST::Node &node)
bool parseIvarDecls (AST::Node &node)
bool parseIvarDecl (AST::Node &node)
bool parseIvars (AST::Node &node)
bool parseIvarDeclarator (AST::Node &node)
bool parseMethodDecl (AST::Node &node)
bool parseUnarySelector (AST::Node &node)
bool parseKeywordSelector (AST::Node &node)
bool parseSelector (AST::Node &node)
bool parseKeywordDecl (AST::Node &node)
bool parseReceiver (AST::Node &node)
bool parseObjcMessageExpr (AST::Node &node)
bool parseMessageArgs (AST::Node &node)
bool parseKeywordExpr (AST::Node &node)
bool parseKeywordArgList (AST::Node &node)
bool parseKeywordArg (AST::Node &node)
bool parseReservedWord (AST::Node &node)
bool parseMyParms (AST::Node &node)
bool parseMyParm (AST::Node &node)
bool parseOptParmList (AST::Node &node)
bool parseObjcSelectorExpr (AST::Node &node)
bool parseSelectorArg (AST::Node &node)
bool parseKeywordNameList (AST::Node &node)
bool parseKeywordName (AST::Node &node)
bool parseObjcEncodeExpr (AST::Node &node)
bool parseObjcString (AST::Node &node)
bool parseProtocolRefs (AST::Node &node)
bool parseIdentifierList (GroupAST::Node &node)
bool parseIdentifierColon (AST::Node &node)
bool parseObjcProtocolExpr (AST::Node &node)
bool parseObjcOpenBracketExpr (AST::Node &node)
bool parseObjcCloseBracket (AST::Node &node)
bool skipUntil (int token)
bool skipUntilDeclaration ()
bool skipUntilStatement ()
bool skip (int l, int r)
QString toString (int start, int end, const QString &sep=" ") const
 Parser (const Parser &source)
void operator= (const Parser &source)

Private Attributes

public __pad0__: bool parseTranslationUnit( TranslationUnitAST::Node& node )
ParserPrivateDatad
Driverm_driver
Lexerlex
int m_problems
int m_maxProblems
bool objcp

Detailed Description

A generic ANTLR parser (LL(k) for k>=1) containing a bunch of utility routines useful at any lookahead depth.

We distinguish between the LL(1) and LL(k) parsers because of efficiency. This may not be necessary in the near future.

Each parser object contains the state of the parse including a lookahead cache (the form of which is determined by the subclass), whether or not the parser is in guess mode, where tokens come from, etc...

During guess mode, the current lookahead token(s) and token type(s) cache must be saved because the token stream may not have been informed to save the token (via mark) before the try block. Guessing is started by:

  1. saving the lookahead cache.
  2. marking the current position in the TokenBuffer.
  3. increasing the guessing level.

After guessing, the parser state is restored by:

  1. restoring the lookahead cache.
  2. rewinding the TokenBuffer.
  3. decreasing the guessing level.

See also:
antlr.Token

antlr.TokenBuffer

antlr.TokenStream

antlr.LL1Parser

antlr.LLkParser

Todo:
add constructors with ASTFactory.

Definition at line 61 of file Parser.hpp.


Constructor & Destructor Documentation

Parser::Parser TokenBuffer input_  )  [protected]
 

Definition at line 57 of file Parser.cpp.

Referenced by Parser().

Parser::Parser TokenBuffer input_  )  [protected]
 

Definition at line 62 of file Parser.cpp.

References Parser().

Parser::Parser const ParserSharedInputState state  )  [protected]
 

Definition at line 67 of file Parser.cpp.

References Parser().

Parser::~Parser  )  [virtual]
 

Definition at line 72 of file Parser.cpp.

Parser::Parser const Parser  )  [private]
 

Parser::Parser Driver driver,
Lexer lexer
 

Definition at line 110 of file parser.cpp.

References d, m_maxProblems, objcp, and Parser().

virtual Parser::~Parser  )  [virtual]
 

Parser::Parser const Parser source  )  [private]
 


Member Function Documentation

virtual void Parser::consume  )  [pure virtual]
 

Get another token object from the token stream.

Implemented in LLkParser.

Referenced by consumeUntil(), match(), and matchNot().

void Parser::consumeUntil const BitSet set  )  [virtual]
 

Consume tokens until one matches the given token set.

Definition at line 84 of file Parser.cpp.

References consume(), consumeUntil(), LA(), and BitSet::member().

void Parser::consumeUntil int  tokenType  )  [virtual]
 

Consume tokens until one matches the given token.

Definition at line 77 of file Parser.cpp.

References consume(), consumeUntil(), and LA().

Referenced by consumeUntil().

RefAST Parser::getAST  )  [inline]
 

Get the root AST node of the generated AST.

Definition at line 103 of file Parser.hpp.

References RefAST.

virtual ASTFactory* Parser::getASTFactory  )  [inline, virtual]
 

Return a pointer to the ASTFactory used.

So you might use it in subsequent treewalkers or to reload AST's from disk.

Definition at line 98 of file Parser.hpp.

virtual std ::string Parser::getFilename  )  const [inline, virtual]
 

Return the filename of the input file.

Definition at line 109 of file Parser.hpp.

Referenced by match(), matchNot(), reportError(), and reportWarning().

virtual ParserSharedInputState Parser::getInputState  )  const [inline, virtual]
 

Definition at line 123 of file Parser.hpp.

virtual int Parser::getNumTokens void   )  const [pure virtual]
 

get the max token number This one should be overridden in subclasses.

Referenced by match(), and matchNot().

virtual const char* Parser::getTokenName int  num  )  const [pure virtual]
 

get the token name for the token number 'num'

virtual const char* const* Parser::getTokenNames  )  const [pure virtual]
 

get a vector with all token names

Referenced by match(), and matchNot().

virtual int Parser::LA int  i  )  [pure virtual]
 

Return the token type of the ith token of lookahead where i=1 is the current token being examined by the parser (i.e., it has not been matched yet).

Implemented in LLkParser.

Referenced by consumeUntil(), match(), and matchNot().

virtual RefToken Parser::LT int  i  )  [pure virtual]
 

Return the i-th token of lookahead.

Implemented in LLkParser.

Referenced by match(), matchNot(), traceIn(), and traceOut().

virtual int Parser::mark  )  [inline, virtual]
 

Mark a spot in the input and return the position.

Forwarded to TokenBuffer.

Definition at line 150 of file Parser.hpp.

void Parser::match const BitSet b  )  [virtual]
 

Make sure current lookahead symbol matches the given set Throw an exception upon mismatch, which is catch by either the error handler or by the syntactic predicate.

Definition at line 118 of file Parser.cpp.

References ANTLR_USE_NAMESPACE, consume(), DEBUG_PARSER, endl(), getFilename(), getNumTokens(), getTokenNames(), LA(), LT(), match(), BitSet::member(), and traceIndent().

void Parser::match int  t  )  [virtual]
 

Make sure current lookahead symbol matches token type t.

Throw an exception upon mismatch, which is catch by either the error handler or by the syntactic predicate.

Definition at line 94 of file Parser.cpp.

References ANTLR_USE_NAMESPACE, consume(), DEBUG_PARSER, endl(), getFilename(), getNumTokens(), getTokenNames(), LA(), LT(), match(), and traceIndent().

Referenced by match().

void Parser::matchNot int  t  )  [virtual]
 

Definition at line 140 of file Parser.cpp.

References consume(), getFilename(), getNumTokens(), getTokenNames(), LA(), LT(), and matchNot().

Referenced by matchNot().

void Parser::operator= const Parser source  )  [private]
 

const Parser& Parser::operator= const Parser  )  [private]
 

void Parser::panic  )  [static]
 

Definition at line 151 of file Parser.cpp.

References ANTLR_USE_NAMESPACE, and endl().

bool Parser::parseAbstractDeclarator DeclaratorAST::Node node  )  [private]
 

Definition at line 1259 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseAbstractDeclarator(), parseExceptionSpecification(), parseParameterDeclarationClause(), parsePtrOperator(), reportError(), Lexer::setIndex(), skipCommaExpression(), Token_const, Token_identifier, and UPDATE_POS.

Referenced by parseAbstractDeclarator(), parseParameterDeclaration(), and parseTypeId().

bool Parser::parseAccessSpecifier AST::Node node  )  [private]
 

Definition at line 1854 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseAccessSpecifier(), Token_private, Token_protected, Token_public, and UPDATE_POS.

Referenced by parseAccessSpecifier(), parseBaseSpecifier(), and parseMemberSpecification().

bool Parser::parseAdditiveExpression AST::Node node  )  [private]
 

Definition at line 3536 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseAdditiveExpression(), and parseMultiplicativeExpression().

Referenced by parseAdditiveExpression(), and parseShiftExpression().

bool Parser::parseAndExpression AST::Node node,
bool  templArgs = false
[private]
 

Definition at line 3605 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseAndExpression(), and parseEqualityExpression().

Referenced by parseAndExpression(), and parseExclusiveOrExpression().

bool Parser::parseAsmDefinition DeclarationAST::Node node  )  [private]
 

Definition at line 855 of file parser.cpp.

References ADVANCE, parseAsmDefinition(), parseCvQualify(), skip(), and Token_asm.

Referenced by parseAsmDefinition(), parseBlockDeclaration(), and parseDeclaration().

bool Parser::parseAssignmentExpression AST::Node node  )  [private]
 

Definition at line 3719 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseAssignmentExpression(), parseConditionalExpression(), parseThrowExpression(), Token_assign, Token_throw, and UPDATE_POS.

Referenced by parseAssignmentExpression(), parseCommaExpression(), parseConditionalExpression(), parseInitializerClause(), and parseThrowExpression().

bool Parser::parseBaseClause BaseClauseAST::Node node  )  [private]
 

Definition at line 2097 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), BaseSpecifierAST::Node, parseBaseClause(), parseBaseSpecifier(), reportError(), and UPDATE_POS.

Referenced by parseBaseClause(), and parseClassSpecifier().

bool Parser::parseBaseSpecifier BaseSpecifierAST::Node node  )  [private]
 

Definition at line 2221 of file parser.cpp.

References AST_FROM_TOKEN, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseAccessSpecifier(), parseBaseSpecifier(), parseName(), reportError(), Token_virtual, and UPDATE_POS.

Referenced by parseBaseClause(), and parseBaseSpecifier().

bool Parser::parseBlockDeclaration DeclarationAST::Node node  )  [private]
 

Definition at line 2776 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseAsmDefinition(), parseBlockDeclaration(), parseCvQualify(), parseInitDeclaratorList(), parseNamespaceAliasDefinition(), parseStorageClassSpecifier(), parseTypedef(), parseTypeSpecifierOrClassSpec(), parseUsing(), Lexer::setIndex(), Token_asm, Token_namespace, Token_typedef, Token_using, and UPDATE_POS.

Referenced by parseBlockDeclaration(), and parseDeclarationStatement().

bool Parser::parseCastExpression AST::Node node  )  [private]
 

Definition at line 3476 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseCastExpression(), parseTypeId(), parseUnaryExpression(), and Lexer::setIndex().

Referenced by parseCastExpression(), parseDeleteExpression(), parsePmExpression(), and parseUnaryExpression().

bool Parser::parseClassSpecifier TypeSpecifierAST::Node node  )  [private]
 

Definition at line 1781 of file parser.cpp.

References ADVANCE, Lexer::index(), Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), ClassSpecifierAST::Node, BaseClauseAST::Node, parseBaseClause(), parseClassSpecifier(), parseMemberSpecification(), parseName(), parseWinDeclSpec(), reportError(), Lexer::setIndex(), skipUntil(), skipUntilDeclaration(), Token_class, Token_identifier, Token_struct, Token_union, and UPDATE_POS.

Referenced by parseClassSpecifier(), parseDeclaration(), parseMemberSpecification(), and parseTypeSpecifierOrClassSpec().

bool Parser::parseCommaExpression AST::Node node  )  [private]
 

Definition at line 3770 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseAssignmentExpression(), parseCommaExpression(), and UPDATE_POS.

Referenced by parseCommaExpression(), parseDeclarator(), parseExpression(), parseNewExpression(), parseNewInitializer(), parsePostfixExpression(), and parsePrimaryExpression().

bool Parser::parseCompoundStatement StatementAST::Node node  )  [private]
 

Definition at line 2616 of file parser.cpp.

References Lexer::index(), Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), StatementListAST::Node, parseCompoundStatement(), parseStatement(), reportError(), skipUntilStatement(), and UPDATE_POS.

Referenced by parseCompoundStatement(), parseStatement(), parseSwitchStatement(), and parseTryBlockStatement().

bool Parser::parseCondition ConditionAST::Node node  )  [private]
 

Definition at line 2464 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), ConditionAST::Node, parseCondition(), parseDeclarator(), parseTypeSpecifier(), Lexer::setIndex(), skipCommaExpression(), skipExpression(), and UPDATE_POS.

Referenced by parseCondition(), parseForStatement(), parseIfStatement(), parseSwitchStatement(), parseTryBlockStatement(), and parseWhileStatement().

bool Parser::parseConditionalExpression AST::Node node  )  [private]
 

Definition at line 3697 of file parser.cpp.

References CHECK, lex, Lexer::lookAhead(), Lexer::nextToken(), parseAssignmentExpression(), parseConditionalExpression(), parseExpression(), and parseLogicalOrExpression().

Referenced by parseAssignmentExpression(), parseConditionalExpression(), and parseConstantExpression().

bool Parser::parseConstantExpression AST::Node node  )  [private]
 

Definition at line 3742 of file parser.cpp.

References Lexer::index(), lex, parseConditionalExpression(), parseConstantExpression(), and UPDATE_POS.

Referenced by parseConstantExpression(), parseDeclarator(), parseEnumerator(), and parseLabeledStatement().

bool Parser::parseCtorInitializer AST::Node node  )  [private]
 

Definition at line 1955 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseCtorInitializer(), parseMemInitializerList(), and reportError().

Referenced by parseCtorInitializer(), and parseDeclarationInternal().

bool Parser::parseCvQualify GroupAST::Node node  )  [private]
 

Definition at line 975 of file parser.cpp.

References Lexer::index(), Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseCvQualify(), Token_const, Token_volatile, and UPDATE_POS.

Referenced by parseAsmDefinition(), parseBlockDeclaration(), parseCvQualify(), parseDeclaration(), parseDeclarationInternal(), parseMemberSpecification(), parseOperatorFunctionId(), parsePtrOperator(), and parseTypeSpecifier().

bool Parser::parseDeclaration DeclarationAST::Node node  )  [private]
 

Definition at line 462 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), SimpleDeclarationAST::Node, InitDeclaratorListAST::Node, TypeSpecifierAST::Node, DeclarationAST::Node, objcp, parseAsmDefinition(), parseClassSpecifier(), parseCvQualify(), parseDeclaration(), parseDeclarationInternal(), parseEnumSpecifier(), parseInitDeclaratorList(), parseLinkageSpecification(), parseNamespace(), parseObjcDef(), parseStorageClassSpecifier(), parseTemplateDeclaration(), parseTypedef(), parseUsing(), Lexer::setIndex(), Token_asm, Token_export, Token_extern, Token_namespace, Token_template, Token_typedef, Token_using, and UPDATE_POS.

Referenced by CppCodeCompletion::completeText(), parseDeclaration(), parseLinkageBody(), parseLinkageSpecification(), and parseTemplateDeclaration().

bool Parser::parseDeclarationInternal DeclarationAST::Node node  )  [private]
 

Definition at line 2868 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), FunctionDefinitionAST::Node, parseCtorInitializer(), parseCvQualify(), parseDeclarationInternal(), parseFunctionBody(), parseFunctionSpecifier(), parseInitDeclarator(), parseInitDeclaratorList(), parseName(), parseStorageClassSpecifier(), parseTypeSpecifier(), parseWinDeclSpec(), Lexer::setIndex(), syntaxError(), Token_const, Token_identifier, toString(), and UPDATE_POS.

Referenced by parseDeclaration(), parseDeclarationInternal(), and parseMemberSpecification().

bool Parser::parseDeclarationStatement StatementAST::Node node  )  [private]
 

Definition at line 2848 of file parser.cpp.

References Lexer::index(), lex, DeclarationStatementAST::Node, parseBlockDeclaration(), parseDeclarationStatement(), and UPDATE_POS.

Referenced by parseDeclarationStatement(), parseForInitStatement(), and parseStatement().

bool Parser::parseDeclarator DeclaratorAST::Node node  )  [private]
 

Definition at line 1133 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), ParameterDeclarationClauseAST::Node, DeclaratorAST::Node, parseCommaExpression(), parseConstantExpression(), parseDeclarator(), parseDeclaratorId(), parseExceptionSpecification(), parseParameterDeclarationClause(), parsePtrOperator(), reportError(), Lexer::setIndex(), Token_const, Token_identifier, and UPDATE_POS.

Referenced by parseCondition(), parseDeclarator(), parseInitDeclarator(), and parseParameterDeclaration().

bool Parser::parseDeclaratorId NameAST::Node node  )  [private]
 

Definition at line 2006 of file parser.cpp.

References parseDeclaratorId(), and parseName().

Referenced by parseDeclarator(), and parseDeclaratorId().

bool Parser::parseDeleteExpression AST::Node node  )  [private]
 

Definition at line 3459 of file parser.cpp.

References CHECK, lex, Lexer::lookAhead(), Lexer::nextToken(), parseCastExpression(), parseDeleteExpression(), Token_delete, and Token_scope.

Referenced by parseDeleteExpression(), and parseUnaryExpression().

bool Parser::parseDoStatement StatementAST::Node node  )  [private]
 

Definition at line 2535 of file parser.cpp.

References ADVANCE, ADVANCE_NR, Lexer::index(), lex, DoStatementAST::Node, parseDoStatement(), parseStatement(), reportError(), skipCommaExpression(), Token_do, Token_while, and UPDATE_POS.

Referenced by parseDoStatement(), and parseStatement().

bool Parser::parseElaboratedTypeSpecifier TypeSpecifierAST::Node node  )  [private]
 

Definition at line 1972 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), ElaboratedTypeSpecifierAST::Node, parseElaboratedTypeSpecifier(), parseName(), Lexer::setIndex(), Token_class, Token_enum, Token_struct, Token_typename, Token_union, and UPDATE_POS.

Referenced by parseElaboratedTypeSpecifier(), and parseTypeSpecifier().

bool Parser::parseEnumerator EnumeratorAST::Node node  )  [private]
 

Definition at line 2039 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseConstantExpression(), parseEnumerator(), reportError(), Token_identifier, and UPDATE_POS.

Referenced by parseEnumerator(), and parseEnumSpecifier().

bool Parser::parseEnumSpecifier TypeSpecifierAST::Node node  )  [private]
 

Definition at line 1357 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), EnumeratorAST::Node, EnumSpecifierAST::Node, parseEnumerator(), parseEnumSpecifier(), parseName(), reportError(), Lexer::setIndex(), Token_enum, and UPDATE_POS.

Referenced by parseDeclaration(), parseEnumSpecifier(), parseMemberSpecification(), and parseTypeSpecifierOrClassSpec().

bool Parser::parseEqualityExpression AST::Node node,
bool  templArgs = false
[private]
 

Definition at line 3588 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseEqualityExpression(), parseRelationalExpression(), Token_eq, and Token_not_eq.

Referenced by parseAndExpression(), and parseEqualityExpression().

bool Parser::parseExceptionSpecification GroupAST::Node node  )  [private]
 

Definition at line 2012 of file parser.cpp.

References ADVANCE, AST_FROM_TOKEN, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseExceptionSpecification(), parseTypeIdList(), Token_ellipsis, Token_throw, and UPDATE_POS.

Referenced by parseAbstractDeclarator(), parseDeclarator(), and parseExceptionSpecification().

bool Parser::parseExclusiveOrExpression AST::Node node,
bool  templArgs = false
[private]
 

Definition at line 3622 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseAndExpression(), and parseExclusiveOrExpression().

Referenced by parseExclusiveOrExpression(), and parseInclusiveOrExpression().

bool Parser::parseExpression AST::Node node  )  [private]
 

Definition at line 3755 of file parser.cpp.

References Lexer::index(), lex, parseCommaExpression(), parseExpression(), and UPDATE_POS.

Referenced by parseConditionalExpression(), parseExpression(), parseNewDeclarator(), and parsePrimaryExpression().

bool Parser::parseForInitStatement StatementAST::Node node  )  [private]
 

Definition at line 2606 of file parser.cpp.

References parseDeclarationStatement(), parseForInitStatement(), and skipExpressionStatement().

Referenced by parseForInitStatement(), and parseForStatement().

bool Parser::parseForStatement StatementAST::Node node  )  [private]
 

Definition at line 2569 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, ForStatementAST::Node, parseCondition(), parseForInitStatement(), parseForStatement(), parseStatement(), reportError(), skipCommaExpression(), Token_for, and UPDATE_POS.

Referenced by parseForStatement(), and parseStatement().

bool Parser::parseFunctionBody StatementListAST::Node node  )  [private]
 

Definition at line 3071 of file parser.cpp.

References Lexer::index(), Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseFunctionBody(), parseStatement(), reportError(), skipUntilStatement(), and UPDATE_POS.

Referenced by parseDeclarationInternal(), and parseFunctionBody().

bool Parser::parseFunctionSpecifier GroupAST::Node node  )  [private]
 

Definition at line 1583 of file parser.cpp.

References Lexer::index(), Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseFunctionSpecifier(), Token_explicit, Token_inline, Token_virtual, and UPDATE_POS.

Referenced by parseDeclarationInternal(), and parseFunctionSpecifier().

bool Parser::parseIdentifierColon AST::Node node  )  [private]
 

Definition at line 3996 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseIdentifierColon(), and Token_identifier.

Referenced by parseIdentifierColon().

bool Parser::parseIdentifierList GroupAST::Node node  )  [private]
 

Definition at line 3968 of file parser.cpp.

References ADVANCE, AST_FROM_TOKEN, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseIdentifierList(), Token_identifier, and UPDATE_POS.

Referenced by parseIdentifierList(), parseObjcAliasDecl(), parseObjcClassDecl(), parseObjcProtocolDecl(), and parseWinDeclSpec().

bool Parser::parseIfStatement StatementAST::Node node  )  [private]
 

Definition at line 2655 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), IfStatementAST::Node, parseCondition(), parseIfStatement(), parseStatement(), reportError(), Token_else, Token_if, and UPDATE_POS.

Referenced by parseIfStatement(), and parseStatement().

bool Parser::parseInclusiveOrExpression AST::Node node,
bool  templArgs = false
[private]
 

Definition at line 3639 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseExclusiveOrExpression(), and parseInclusiveOrExpression().

Referenced by parseInclusiveOrExpression(), and parseLogicalAndExpression().

bool Parser::parseInitDeclarator InitDeclaratorAST::Node node  )  [private]
 

Definition at line 2072 of file parser.cpp.

References Lexer::index(), lex, parseDeclarator(), parseInitDeclarator(), parseInitializer(), and UPDATE_POS.

Referenced by parseDeclarationInternal(), parseInitDeclarator(), and parseInitDeclaratorList().

bool Parser::parseInitDeclaratorList InitDeclaratorListAST::Node node  )  [private]
 

Definition at line 1634 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), InitDeclaratorAST::Node, parseInitDeclarator(), parseInitDeclaratorList(), syntaxError(), and UPDATE_POS.

Referenced by parseBlockDeclaration(), parseDeclaration(), parseDeclarationInternal(), parseInitDeclaratorList(), parseMemberSpecification(), and parseTypedef().

bool Parser::parseInitializer AST::Node node  )  [private]
 

Definition at line 2131 of file parser.cpp.

References ADVANCE, lex, Lexer::lookAhead(), Lexer::nextToken(), parseInitializer(), parseInitializerClause(), reportError(), and skipCommaExpression().

Referenced by parseInitDeclarator(), and parseInitializer().

bool Parser::parseInitializerClause AST::Node node  )  [private]
 

Definition at line 2260 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseAssignmentExpression(), parseInitializerClause(), reportError(), and skip().

Referenced by parseInitializer(), and parseInitializerClause().

bool Parser::parseIvarDecl AST::Node node  )  [private]
 

Definition at line 3818 of file parser.cpp.

References parseIvarDecl().

Referenced by parseIvarDecl().

bool Parser::parseIvarDeclarator AST::Node node  )  [private]
 

Definition at line 3830 of file parser.cpp.

References parseIvarDeclarator().

Referenced by parseIvarDeclarator().

bool Parser::parseIvarDeclList AST::Node node  )  [private]
 

Definition at line 3806 of file parser.cpp.

References parseIvarDeclList().

Referenced by parseIvarDeclList().

bool Parser::parseIvarDecls AST::Node node  )  [private]
 

Definition at line 3812 of file parser.cpp.

References parseIvarDecls().

Referenced by parseIvarDecls().

bool Parser::parseIvars AST::Node node  )  [private]
 

Definition at line 3824 of file parser.cpp.

References parseIvars().

Referenced by parseIvars().

bool Parser::parseKeywordArg AST::Node node  )  [private]
 

Definition at line 3896 of file parser.cpp.

References parseKeywordArg().

Referenced by parseKeywordArg().

bool Parser::parseKeywordArgList AST::Node node  )  [private]
 

Definition at line 3890 of file parser.cpp.

References parseKeywordArgList().

Referenced by parseKeywordArgList().

bool Parser::parseKeywordDecl AST::Node node  )  [private]
 

Definition at line 3860 of file parser.cpp.

References parseKeywordDecl().

Referenced by parseKeywordDecl().

bool Parser::parseKeywordExpr AST::Node node  )  [private]
 

Definition at line 3884 of file parser.cpp.

References parseKeywordExpr().

Referenced by parseKeywordExpr().

bool Parser::parseKeywordName AST::Node node  )  [private]
 

Definition at line 3944 of file parser.cpp.

References parseKeywordName().

Referenced by parseKeywordName().

bool Parser::parseKeywordNameList AST::Node node  )  [private]
 

Definition at line 3938 of file parser.cpp.

References parseKeywordNameList().

Referenced by parseKeywordNameList().

bool Parser::parseKeywordSelector AST::Node node  )  [private]
 

Definition at line 3848 of file parser.cpp.

References parseKeywordSelector().

Referenced by parseKeywordSelector().

bool Parser::parseLabeledStatement StatementAST::Node node  )  [private]
 

Definition at line 2729 of file parser.cpp.

References ADVANCE, lex, Lexer::lookAhead(), Lexer::nextToken(), parseConstantExpression(), parseLabeledStatement(), parseStatement(), reportError(), Token_case, Token_default, Token_ellipsis, and Token_identifier.

Referenced by parseLabeledStatement(), and parseStatement().

bool Parser::parseLinkageBody LinkageBodyAST::Node node  )  [private]
 

Definition at line 579 of file parser.cpp.

References Lexer::index(), Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseDeclaration(), parseLinkageBody(), reportError(), skipUntilDeclaration(), and UPDATE_POS.

Referenced by parseLinkageBody(), parseLinkageSpecification(), and parseNamespace().

bool Parser::parseLinkageSpecification DeclarationAST::Node node  )  [private]
 

Definition at line 538 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), LinkageBodyAST::Node, LinkageSpecificationAST::Node, parseDeclaration(), parseLinkageBody(), parseLinkageSpecification(), reportError(), Token_extern, Token_string_literal, and UPDATE_POS.

Referenced by parseDeclaration(), and parseLinkageSpecification().

bool Parser::parseLogicalAndExpression AST::Node node,
bool  templArgs = false
[private]
 

Definition at line 3656 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseInclusiveOrExpression(), parseLogicalAndExpression(), and Token_and.

Referenced by parseLogicalAndExpression(), and parseLogicalOrExpression().

bool Parser::parseLogicalOrExpression AST::Node node,
bool  templArgs = false
[private]
 

Definition at line 3674 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseLogicalAndExpression(), parseLogicalOrExpression(), Token_or, and UPDATE_POS.

Referenced by parseConditionalExpression(), parseLogicalOrExpression(), parseParameterDeclaration(), and parseTemplateArgument().

bool Parser::parseMemberSpecification DeclarationAST::Node node  )  [private]
 

Definition at line 1875 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), AccessDeclarationAST::Node, parseAccessSpecifier(), parseClassSpecifier(), parseCvQualify(), parseDeclarationInternal(), parseEnumSpecifier(), parseInitDeclaratorList(), parseMemberSpecification(), parseStorageClassSpecifier(), parseTemplateDeclaration(), parseTypedef(), parseUsing(), Lexer::setIndex(), Token_k_dcop, Token_K_DCOP, Token_k_dcop_signals, Token_Q_OBJECT, Token_signals, Token_slots, and UPDATE_POS.

Referenced by parseClassSpecifier(), and parseMemberSpecification().

bool Parser::parseMemInitializer AST::Node node  )  [private]
 

Definition at line 2175 of file parser.cpp.

References ADVANCE, parseMemInitializer(), parseMemInitializerId(), reportError(), and skipCommaExpression().

Referenced by parseMemInitializer(), and parseMemInitializerList().

bool Parser::parseMemInitializerId NameAST::Node node  )  [private]
 

Definition at line 2278 of file parser.cpp.

References parseMemInitializerId(), and parseName().

Referenced by parseMemInitializer(), and parseMemInitializerId().

bool Parser::parseMemInitializerList AST::Node node  )  [private]
 

Definition at line 2154 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseMemInitializer(), and parseMemInitializerList().

Referenced by parseCtorInitializer(), and parseMemInitializerList().

bool Parser::parseMessageArgs AST::Node node  )  [private]
 

Definition at line 3878 of file parser.cpp.

References parseMessageArgs().

Referenced by parseMessageArgs().

bool Parser::parseMethodDecl AST::Node node  )  [private]
 

Definition at line 3836 of file parser.cpp.

References parseMethodDecl().

Referenced by parseMethodDecl().

bool Parser::parseMultiplicativeExpression AST::Node node  )  [private]
 

Definition at line 3518 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseMultiplicativeExpression(), and parsePmExpression().

Referenced by parseAdditiveExpression(), and parseMultiplicativeExpression().

bool Parser::parseMyParm AST::Node node  )  [private]
 

Definition at line 3914 of file parser.cpp.

References parseMyParm().

Referenced by parseMyParm().

bool Parser::parseMyParms AST::Node node  )  [private]
 

Definition at line 3908 of file parser.cpp.

References parseMyParms().

Referenced by parseMyParms().

bool Parser::parseName NameAST::Node node  )  [private]
 

skip optional template ####

Todo:
CHECK

Definition at line 389 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), ClassOrNamespaceNameAST::Node, GroupAST::Node, NameAST::Node, parseName(), parseUnqualifiedName(), parseWinDeclSpec(), Token_scope, Token_template, and UPDATE_POS.

Referenced by parseBaseSpecifier(), parseClassSpecifier(), parseDeclarationInternal(), parseDeclaratorId(), parseElaboratedTypeSpecifier(), parseEnumSpecifier(), parseMemInitializerId(), parseName(), parseNamespace(), parseNamespaceAliasDefinition(), parsePostfixExpression(), parsePrimaryExpression(), parseSimpleTypeSpecifier(), parseTypeParameter(), parseUsing(), and parseUsingDirective().

bool Parser::parseNamespace DeclarationAST::Node node  )  [private]
 

Definition at line 620 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), NamespaceAST::Node, NamespaceAliasAST::Node, parseLinkageBody(), parseName(), parseNamespace(), reportError(), Token_identifier, Token_namespace, and UPDATE_POS.

Referenced by parseDeclaration(), and parseNamespace().

bool Parser::parseNamespaceAliasDefinition DeclarationAST::Node node  )  [private]
 

Definition at line 2827 of file parser.cpp.

References ADVANCE, lex, Lexer::lookAhead(), Lexer::nextToken(), parseName(), parseNamespaceAliasDefinition(), reportError(), Token_identifier, and Token_namespace.

Referenced by parseBlockDeclaration(), and parseNamespaceAliasDefinition().

bool Parser::parseNewDeclarator AST::Node node  )  [private]
 

Definition at line 3422 of file parser.cpp.

References ADVANCE, lex, Lexer::lookAhead(), Lexer::nextToken(), parseExpression(), parseNewDeclarator(), and parsePtrOperator().

Referenced by parseNewDeclarator(), and parseNewTypeId().

bool Parser::parseNewExpression AST::Node node  )  [private]
 

Definition at line 3379 of file parser.cpp.

References CHECK, lex, Lexer::lookAhead(), Lexer::nextToken(), parseCommaExpression(), parseNewExpression(), parseNewInitializer(), parseNewTypeId(), parseTypeId(), Token_new, and Token_scope.

Referenced by parseNewExpression(), and parseUnaryExpression().

bool Parser::parseNewInitializer AST::Node node  )  [private]
 

Definition at line 3445 of file parser.cpp.

References CHECK, lex, Lexer::lookAhead(), Lexer::nextToken(), parseCommaExpression(), and parseNewInitializer().

Referenced by parseNewExpression(), and parseNewInitializer().

bool Parser::parseNewTypeId AST::Node node  )  [private]
 

Definition at line 3409 of file parser.cpp.

References parseNewDeclarator(), parseNewTypeId(), and parseTypeSpecifier().

Referenced by parseNewExpression(), and parseNewTypeId().

bool Parser::parseObjcAliasDecl DeclarationAST::Node node  )  [private]
 

Definition at line 4065 of file parser.cpp.

References ADVANCE, OBJC_ALIAS, parseIdentifierList(), and parseObjcAliasDecl().

Referenced by parseObjcAliasDecl().

bool Parser::parseObjcClassDecl DeclarationAST::Node node  )  [private]
 

Definition at line 4039 of file parser.cpp.

References ADVANCE, OBJC_CLASS, parseIdentifierList(), and parseObjcClassDecl().

Referenced by parseObjcClassDecl().

bool Parser::parseObjcClassDef DeclarationAST::Node node  )  [private]
 

Definition at line 4033 of file parser.cpp.

References parseObjcClassDef().

Referenced by parseObjcClassDef().

bool Parser::parseObjcCloseBracket AST::Node node  )  [private]
 

Definition at line 4021 of file parser.cpp.

References parseObjcCloseBracket().

Referenced by parseObjcCloseBracket().

bool Parser::parseObjcDef DeclarationAST::Node node  )  [private]
 

Definition at line 4027 of file parser.cpp.

References parseObjcDef().

Referenced by parseDeclaration(), and parseObjcDef().

bool Parser::parseObjcEncodeExpr AST::Node node  )  [private]
 

Definition at line 3950 of file parser.cpp.

References parseObjcEncodeExpr().

Referenced by parseObjcEncodeExpr().

bool Parser::parseObjcMessageExpr AST::Node node  )  [private]
 

Definition at line 3872 of file parser.cpp.

References parseObjcMessageExpr().

Referenced by parseObjcMessageExpr().

bool Parser::parseObjcMethodDef DeclarationAST::Node node  )  [private]
 

Definition at line 4084 of file parser.cpp.

References parseObjcMethodDef().

Referenced by parseObjcMethodDef().

bool Parser::parseObjcOpenBracketExpr AST::Node node  )  [private]
 

Definition at line 4015 of file parser.cpp.

References parseObjcOpenBracketExpr().

Referenced by parseObjcOpenBracketExpr().

bool Parser::parseObjcProtocolDecl DeclarationAST::Node node  )  [private]
 

Definition at line 4052 of file parser.cpp.

References ADVANCE, OBJC_PROTOCOL, parseIdentifierList(), and parseObjcProtocolDecl().

Referenced by parseObjcProtocolDecl().

bool Parser::parseObjcProtocolDef DeclarationAST::Node node  )  [private]
 

Definition at line 4078 of file parser.cpp.

References parseObjcProtocolDef().

Referenced by parseObjcProtocolDef().

bool Parser::parseObjcProtocolExpr AST::Node node  )  [private]
 

Definition at line 4009 of file parser.cpp.

References parseObjcProtocolExpr().

Referenced by parseObjcProtocolExpr().

bool Parser::parseObjcSelectorExpr AST::Node node  )  [private]
 

Definition at line 3926 of file parser.cpp.

References parseObjcSelectorExpr().

Referenced by parseObjcSelectorExpr().

bool Parser::parseObjcString AST::Node node  )  [private]
 

Definition at line 3956 of file parser.cpp.

References parseObjcString().

Referenced by parseObjcString().

bool Parser::parseOperator AST::Node node  )  [private]
 

Definition at line 915 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseOperator(), Token::text(), text(), Token_and, Token_arrow, Token_assign, Token_decr, Token_delete, Token_eq, Token_geq, Token_incr, Token_leq, Token_new, Token_not_eq, Token_or, Token_ptrmem, and Token_shift.

Referenced by parseOperator(), and parseOperatorFunctionId().

bool Parser::parseOperatorFunctionId AST::Node node  )  [private]
 

Definition at line 745 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseCvQualify(), parseOperator(), parseOperatorFunctionId(), parsePtrOperator(), parseSimpleTypeSpecifier(), syntaxError(), Token_operator, and UPDATE_POS.

Referenced by parseOperatorFunctionId(), and parseUnqualifiedName().

bool Parser::parseOptParmList AST::Node node  )  [private]
 

Definition at line 3920 of file parser.cpp.

References parseOptParmList().

Referenced by parseOptParmList().

bool Parser::parseParameterDeclaration ParameterDeclarationAST::Node node  )  [private]
 

Definition at line 1738 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseAbstractDeclarator(), parseDeclarator(), parseLogicalOrExpression(), parseParameterDeclaration(), parseTypeSpecifier(), Lexer::setIndex(), and UPDATE_POS.

Referenced by parseParameterDeclaration(), parseParameterDeclarationList(), and parseTemplateParameter().

bool Parser::parseParameterDeclarationClause ParameterDeclarationClauseAST::Node node  )  [private]
 

Definition at line 1665 of file parser.cpp.

References AST_FROM_TOKEN, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), ParameterDeclarationListAST::Node, parseParameterDeclarationClause(), parseParameterDeclarationList(), Token_ellipsis, and UPDATE_POS.

Referenced by parseAbstractDeclarator(), parseDeclarator(), and parseParameterDeclarationClause().

bool Parser::parseParameterDeclarationList ParameterDeclarationListAST::Node node  )  [private]
 

Definition at line 1704 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseParameterDeclaration(), parseParameterDeclarationList(), Lexer::setIndex(), Token_ellipsis, and UPDATE_POS.

Referenced by parseParameterDeclarationClause(), and parseParameterDeclarationList().

bool Parser::parsePmExpression AST::Node node  )  [private]
 

Definition at line 3501 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseCastExpression(), parsePmExpression(), and Token_ptrmem.

Referenced by parseMultiplicativeExpression(), and parsePmExpression().

bool Parser::parsePostfixExpression AST::Node node  )  [private]
 

Definition at line 3259 of file parser.cpp.

References CHECK, lex, Lexer::lookAhead(), Lexer::nextToken(), parseCommaExpression(), parseName(), parsePostfixExpression(), parsePrimaryExpression(), Token_arrow, Token_decr, Token_incr, Token_template, and Token_typename.

Referenced by parsePostfixExpression(), and parseUnaryExpression().

bool Parser::parsePrimaryExpression AST::Node node  )  [private]
 

Definition at line 3172 of file parser.cpp.

References CHECK, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseCommaExpression(), parseExpression(), parseName(), parsePrimaryExpression(), parseSimpleTypeSpecifier(), parseStringLiteral(), parseTypeId(), Lexer::setIndex(), Token_char_literal, Token_const_cast, Token_dynamic_cast, Token_false, Token_number_literal, Token_reinterpret_cast, Token_static_cast, Token_string_literal, Token_this, Token_true, and Token_typeid.

Referenced by parsePostfixExpression(), and parsePrimaryExpression().

bool Parser::parseProtocolRefs AST::Node node  )  [private]
 

Definition at line 3962 of file parser.cpp.

References parseProtocolRefs().

Referenced by parseProtocolRefs().

bool Parser::parsePtrOperator AST::Node node  )  [private]
 

Definition at line 1065 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseCvQualify(), parsePtrOperator(), parsePtrToMember(), Lexer::setIndex(), and UPDATE_POS.

Referenced by parseAbstractDeclarator(), parseDeclarator(), parseNewDeclarator(), parseOperatorFunctionId(), and parsePtrOperator().

bool Parser::parsePtrToMember AST::Node node  )  [private]
 

Definition at line 2285 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parsePtrToMember(), Token_identifier, and Token_scope.

Referenced by parsePtrOperator(), and parsePtrToMember().

bool Parser::parseReceiver AST::Node node  )  [private]
 

Definition at line 3866 of file parser.cpp.

References parseReceiver().

Referenced by parseReceiver().

bool Parser::parseRelationalExpression AST::Node node,
bool  templArgs = false
[private]
 

Definition at line 3570 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseRelationalExpression(), parseShiftExpression(), Token_geq, and Token_leq.

Referenced by parseEqualityExpression(), and parseRelationalExpression().

bool Parser::parseReservedWord AST::Node node  )  [private]
 

Definition at line 3902 of file parser.cpp.

References parseReservedWord().

Referenced by parseReservedWord().

bool Parser::parseSelector AST::Node node  )  [private]
 

Definition at line 3854 of file parser.cpp.

References parseSelector().

Referenced by parseSelector().

bool Parser::parseSelectorArg AST::Node node  )  [private]
 

Definition at line 3932 of file parser.cpp.

References parseSelectorArg().

Referenced by parseSelectorArg().

bool Parser::parseShiftExpression AST::Node node  )  [private]
 

Definition at line 3553 of file parser.cpp.

References lex, Lexer::lookAhead(), Lexer::nextToken(), parseAdditiveExpression(), parseShiftExpression(), and Token_shift.

Referenced by parseRelationalExpression(), and parseShiftExpression().

bool Parser::parseSimpleTypeSpecifier TypeSpecifierAST::Node node  )  [private]
 

Definition at line 1008 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseName(), parseSimpleTypeSpecifier(), Lexer::setIndex(), Token_bool, Token_char, Token_double, Token_float, Token_int, Token_long, Token_short, Token_signed, Token_unsigned, Token_void, Token_wchar_t, and UPDATE_POS.

Referenced by parseOperatorFunctionId(), parsePrimaryExpression(), parseSimpleTypeSpecifier(), and parseTypeSpecifier().

bool Parser::parseStatement StatementAST::Node node  )  [private]
 

Definition at line 2400 of file parser.cpp.

References ADVANCE, lex, Lexer::lookAhead(), Lexer::nextToken(), parseCompoundStatement(), parseDeclarationStatement(), parseDoStatement(), parseForStatement(), parseIfStatement(), parseLabeledStatement(), parseStatement(), parseSwitchStatement(), parseTryBlockStatement(), parseWhileStatement(), skipCommaExpression(), skipExpressionStatement(), Token_break, Token_case, Token_continue, Token_default, Token_do, Token_for, Token_goto, Token_identifier, Token_if, Token_return, Token_switch, Token_try, and Token_while.

Referenced by parseCompoundStatement(), parseDoStatement(), parseForStatement(), parseFunctionBody(), parseIfStatement(), parseLabeledStatement(), parseStatement(), and parseWhileStatement().

bool Parser::parseStorageClassSpecifier GroupAST::Node node  )  [private]
 

Definition at line 1554 of file parser.cpp.

References Lexer::index(), Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseStorageClassSpecifier(), Token_auto, Token_extern, Token_friend, Token_mutable, Token_register, Token_static, and UPDATE_POS.

Referenced by parseBlockDeclaration(), parseDeclaration(), parseDeclarationInternal(), parseMemberSpecification(), and parseStorageClassSpecifier().

bool Parser::parseStringLiteral AST::Node node  )  [private]
 

Definition at line 2365 of file parser.cpp.

References Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseStringLiteral(), Token::text(), Token_identifier, and Token_string_literal.

Referenced by parsePrimaryExpression(), and parseStringLiteral().

bool Parser::parseSwitchStatement StatementAST::Node node  )  [private]
 

Definition at line 2699 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, SwitchStatementAST::Node, parseCompoundStatement(), parseCondition(), parseSwitchStatement(), reportError(), syntaxError(), Token_switch, and UPDATE_POS.

Referenced by parseStatement(), and parseSwitchStatement().

bool Parser::parseTemplateArgument AST::Node node  )  [private]
 

Definition at line 1095 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), parseLogicalOrExpression(), parseTemplateArgument(), parseTypeId(), and Lexer::setIndex().

Referenced by parseTemplateArgument(), and parseTemplateArgumentList().

bool Parser::parseTemplateArgumentList TemplateArgumentListAST::Node node,
bool  reportError = true
[private]
 

Definition at line 789 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), TemplateArgumentListAST::Node, parseTemplateArgument(), parseTemplateArgumentList(), syntaxError(), and UPDATE_POS.

Referenced by parseTemplateArgumentList(), and parseUnqualifiedName().

bool Parser::parseTemplateDeclaration DeclarationAST::Node node  )  [private]
 

Definition at line 871 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), TemplateDeclarationAST::Node, TemplateParameterListAST::Node, parseDeclaration(), parseTemplateDeclaration(), parseTemplateParameterList(), reportError(), Token_export, Token_template, and UPDATE_POS.

Referenced by parseDeclaration(), parseMemberSpecification(), and parseTemplateDeclaration().

bool Parser::parseTemplateParameter TemplateParameterAST::Node node  )  [private]
 

Definition at line 1439 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), ParameterDeclarationAST::Node, TypeParameterAST::Node, parseParameterDeclaration(), parseTemplateParameter(), parseTypeParameter(), Token_class, Token_template, Token_typename, and UPDATE_POS.

Referenced by parseTemplateParameter(), and parseTemplateParameterList().

bool Parser::parseTemplateParameterList TemplateParameterListAST::Node node  )  [private]
 

Definition at line 1408 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), TemplateParameterAST::Node, parseTemplateParameter(), parseTemplateParameterList(), syntaxError(), and UPDATE_POS.

Referenced by parseTemplateDeclaration(), parseTemplateParameterList(), and parseTypeParameter().

bool Parser::parseThrowExpression AST::Node node  )  [private]
 

Definition at line 3792 of file parser.cpp.

References CHECK, lex, Lexer::lookAhead(), parseAssignmentExpression(), parseThrowExpression(), and Token_throw.

Referenced by parseAssignmentExpression(), and parseThrowExpression().

bool Parser::parseTryBlockStatement StatementAST::Node node  )  [private]
 

Definition at line 3131 of file parser.cpp.

References ADVANCE, lex, Lexer::lookAhead(), Lexer::nextToken(), parseCompoundStatement(), parseCondition(), parseTryBlockStatement(), reportError(), syntaxError(), Token_catch, and Token_try.

Referenced by parseStatement(), and parseTryBlockStatement().

bool Parser::parseTypedef DeclarationAST::Node node  )  [private]
 

Definition at line 821 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), TypedefAST::Node, parseInitDeclaratorList(), parseTypedef(), parseTypeSpecifierOrClassSpec(), reportError(), Token_typedef, and UPDATE_POS.

Referenced by parseBlockDeclaration(), parseDeclaration(), parseMemberSpecification(), and parseTypedef().

bool Parser::parseTypeId AST::Node node  )  [private]
 

Definition at line 1612 of file parser.cpp.

References Lexer::index(), lex, parseAbstractDeclarator(), parseTypeId(), parseTypeSpecifier(), and UPDATE_POS.

Referenced by parseCastExpression(), parseNewExpression(), parsePrimaryExpression(), parseTemplateArgument(), parseTypeId(), parseTypeIdList(), parseTypeParameter(), and parseUnaryExpression().

bool Parser::parseTypeIdList GroupAST::Node node  )  [private]
 

Definition at line 2192 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseTypeId(), parseTypeIdList(), reportError(), and UPDATE_POS.

Referenced by parseExceptionSpecification(), and parseTypeIdList().

bool Parser::parseTypeParameter TypeParameterAST::Node node  )  [private]
 

Definition at line 1467 of file parser.cpp.

References ADVANCE, AST_FROM_TOKEN, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseName(), parseTemplateParameterList(), parseTypeId(), parseTypeParameter(), syntaxError(), Token_class, Token_template, Token_typename, and UPDATE_POS.

Referenced by parseTemplateParameter(), and parseTypeParameter().

bool Parser::parseTypeSpecifier TypeSpecifierAST::Node node  )  [private]
 

Definition at line 1113 of file parser.cpp.

References parseCvQualify(), parseElaboratedTypeSpecifier(), parseSimpleTypeSpecifier(), and parseTypeSpecifier().

Referenced by parseCondition(), parseDeclarationInternal(), parseNewTypeId(), parseParameterDeclaration(), parseTypeId(), parseTypeSpecifier(), parseTypeSpecifierOrClassSpec(), and CppCodeCompletion::typeName().

bool Parser::parseTypeSpecifierOrClassSpec TypeSpecifierAST::Node node  )  [private]
 

Definition at line 3119 of file parser.cpp.

References parseClassSpecifier(), parseEnumSpecifier(), parseTypeSpecifier(), and parseTypeSpecifierOrClassSpec().

Referenced by parseBlockDeclaration(), parseTypedef(), and parseTypeSpecifierOrClassSpec().

bool Parser::parseUnaryExpression AST::Node node  )  [private]
 

Definition at line 3333 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseCastExpression(), parseDeleteExpression(), parseNewExpression(), parsePostfixExpression(), parseTypeId(), parseUnaryExpression(), Lexer::setIndex(), Token_decr, Token_delete, Token_incr, Token_new, and Token_sizeof.

Referenced by parseCastExpression(), and parseUnaryExpression().

bool Parser::parseUnarySelector AST::Node node  )  [private]
 

Definition at line 3842 of file parser.cpp.

References parseUnarySelector().

Referenced by parseUnarySelector().

bool Parser::parseUnqualifiedName ClassOrNamespaceNameAST::Node node  )  [private]
 

Definition at line 2307 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseOperatorFunctionId(), parseTemplateArgumentList(), parseUnqualifiedName(), Lexer::setIndex(), Token_identifier, Token_operator, and UPDATE_POS.

Referenced by parseName(), and parseUnqualifiedName().

bool Parser::parseUsing DeclarationAST::Node node  )  [private]
 

Definition at line 674 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), UsingAST::Node, parseName(), parseUsing(), parseUsingDirective(), Token_namespace, Token_typename, Token_using, and UPDATE_POS.

Referenced by parseBlockDeclaration(), parseDeclaration(), parseMemberSpecification(), and parseUsing().

bool Parser::parseUsingDirective DeclarationAST::Node node  )  [private]
 

Definition at line 717 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), UsingDirectiveAST::Node, parseName(), parseUsingDirective(), reportError(), Token_namespace, and UPDATE_POS.

Referenced by parseUsing(), and parseUsingDirective().

bool Parser::parseWhileStatement StatementAST::Node node  )  [private]
 

Definition at line 2505 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, WhileStatementAST::Node, parseCondition(), parseStatement(), parseWhileStatement(), reportError(), Token_while, and UPDATE_POS.

Referenced by parseStatement(), and parseWhileStatement().

bool Parser::parseWinDeclSpec GroupAST::Node node  )  [private]
 

Definition at line 4090 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), parseIdentifierList(), parseWinDeclSpec(), Token::text(), Token_identifier, and UPDATE_POS.

Referenced by parseClassSpecifier(), parseDeclarationInternal(), parseName(), and parseWinDeclSpec().

bool Parser::reportError const QString msg  )  [private, virtual]
 

Todo:
remove

Definition at line 146 of file parser.cpp.

References Driver::addProblem(), Driver::currentFileName(), Lexer::getTokenPosition(), lex, Lexer::lookAhead(), m_driver, m_maxProblems, m_problems, and reportError().

bool Parser::reportError const Error err  )  [private, virtual]
 

Definition at line 126 of file parser.cpp.

References Driver::addProblem(), Driver::currentFileName(), Lexer::getTokenPosition(), lex, Lexer::lookAhead(), m_driver, m_maxProblems, m_problems, reportError(), Error::text, and Token::text().

void Parser::reportError const std::string &  s  )  [virtual]
 

Parser error-reporting function can be overridden in subclass.

Definition at line 164 of file Parser.cpp.

References ANTLR_USE_NAMESPACE, endl(), getFilename(), and reportError().

void Parser::reportError const RecognitionException ex  )  [virtual]
 

Parser error-reporting function can be overridden in subclass.

Definition at line 158 of file Parser.cpp.

References ANTLR_USE_NAMESPACE, endl(), reportError(), and RecognitionException::toString().

Referenced by parseAbstractDeclarator(), parseBaseClause(), parseBaseSpecifier(), parseClassSpecifier(), parseCompoundStatement(), parseCtorInitializer(), parseDeclarator(), parseDoStatement(), parseEnumerator(), parseEnumSpecifier(), parseForStatement(), parseFunctionBody(), parseIfStatement(), parseInitializer(), parseInitializerClause(), parseLabeledStatement(), parseLinkageBody(), parseLinkageSpecification(), parseMemInitializer(), parseNamespace(), parseNamespaceAliasDefinition(), parseSwitchStatement(), parseTemplateDeclaration(), parseTryBlockStatement(), parseTypedef(), parseTypeIdList(), parseUsingDirective(), parseWhileStatement(), reportError(), skipCommaExpression(), and syntaxError().

void Parser::reportWarning const std::string &  s  )  [virtual]
 

Parser warning-reporting function can be overridden in subclass.

Definition at line 173 of file Parser.cpp.

References ANTLR_USE_NAMESPACE, endl(), getFilename(), and reportWarning().

Referenced by reportWarning().

virtual void Parser::rewind int  pos  )  [inline, virtual]
 

rewind to a previously marked position

Definition at line 155 of file Parser.hpp.

virtual void Parser::setASTFactory ASTFactory factory  )  [inline, virtual]
 

Specify the factory to be used during tree building.

(Compulsory) Setting the factory is nowadays compulsory.

Definition at line 90 of file Parser.hpp.

virtual void Parser::setASTNodeFactory ASTFactory factory  )  [inline, virtual]
 

DEPRECATED! Specify the factory to be used during tree building.

(Compulsory) Setting the factory is nowadays compulsory.

See also:
setASTFactory

Definition at line 83 of file Parser.hpp.

virtual void Parser::setFilename const std::string &  f  )  [inline, virtual]
 

Set the filename of the input file (used for error reporting).

Definition at line 114 of file Parser.hpp.

virtual void Parser::setInputState ParserSharedInputState  state  )  [inline, virtual]
 

Definition at line 119 of file Parser.hpp.

bool Parser::skip int  l,
int  r
[private]
 

Definition at line 282 of file parser.cpp.

References Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), and skip().

Referenced by parseAsmDefinition(), parseInitializerClause(), skip(), and skipExpression().

bool Parser::skipCommaExpression AST::Node node  )  [private]
 

Definition at line 304 of file parser.cpp.

References Lexer::index(), lex, Lexer::lookAhead(), Lexer::nextToken(), AST::Node, reportError(), skipCommaExpression(), skipExpression(), and UPDATE_POS.

Referenced by parseAbstractDeclarator(), parseCondition(), parseDoStatement(), parseForStatement(), parseInitializer(), parseMemInitializer(), parseStatement(), skipCommaExpression(), and skipExpressionStatement().

bool Parser::skipExpression AST::Node node  )  [private]
 

Definition at line 330 of file parser.cpp.

References Lexer::index(), Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), skip(), skipExpression(), Token_break, Token_case, Token_continue, Token_default, Token_do, Token_for, Token_goto, Token_identifier, Token_if, Token_return, Token_while, and UPDATE_POS.

Referenced by parseCondition(), skipCommaExpression(), and skipExpression().

bool Parser::skipExpressionStatement StatementAST::Node node  )  [private]
 

Definition at line 2381 of file parser.cpp.

References ADVANCE, Lexer::index(), lex, ExpressionStatementAST::Node, StatementAST::Node, skipCommaExpression(), skipExpressionStatement(), and UPDATE_POS.

Referenced by parseForInitStatement(), parseStatement(), and skipExpressionStatement().

bool Parser::skipUntil int  token  )  [private]
 

Definition at line 166 of file parser.cpp.

References Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), and skipUntil().

Referenced by parseClassSpecifier(), and skipUntil().

bool Parser::skipUntilDeclaration  )  [private]
 

Definition at line 179 of file parser.cpp.

References Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), Token_asm, Token_bool, Token_char, Token_const, Token_double, Token_export, Token_extern, Token_float, Token_identifier, Token_int, Token_long, Token_namespace, Token_operator, Token_private, Token_protected, Token_public, Token_scope, Token_short, Token_signals, Token_signed, Token_slots, Token_template, Token_typedef, Token_unsigned, Token_using, Token_void, Token_volatile, and Token_wchar_t.

Referenced by parseClassSpecifier(), and parseLinkageBody().

bool Parser::skipUntilStatement  )  [private]
 

Definition at line 228 of file parser.cpp.

References Token::isNull(), lex, Lexer::lookAhead(), Lexer::nextToken(), Token_bool, Token_break, Token_case, Token_catch, Token_char, Token_class, Token_const, Token_continue, Token_default, Token_do, Token_double, Token_enum, Token_float, Token_for, Token_goto, Token_identifier, Token_if, Token_int, Token_long, Token_return, Token_scope, Token_short, Token_signed, Token_struct, Token_switch, Token_template, Token_throw, Token_try, Token_union, Token_unsigned, Token_using, Token_void, Token_volatile, Token_wchar_t, and Token_while.

Referenced by parseCompoundStatement(), and parseFunctionBody().

void Parser::syntaxError  )  [private, virtual]
 

Todo:
remove

Definition at line 161 of file parser.cpp.

References reportError().

Referenced by parseDeclarationInternal(), parseInitDeclaratorList(), parseOperatorFunctionId(), parseSwitchStatement(), parseTemplateArgumentList(), parseTemplateParameterList(), parseTryBlockStatement(), and parseTypeParameter().

QString Parser::toString int  start,
int  end,
const QString sep = " "
const [private]
 

Definition at line 3108 of file parser.cpp.

References lex, Token::text(), Lexer::tokenAt(), and toString().

Referenced by parseDeclarationInternal(), and toString().

void Parser::traceIn const char *  rname  )  [virtual]
 

Reimplemented in LLkParser.

Definition at line 190 of file Parser.cpp.

References ANTLR_USE_NAMESPACE, endl(), inputState, LT(), traceDepth, and traceIn().

Referenced by traceIn(), and Parser::Tracer::Tracer().

void Parser::traceIndent  )  [virtual]
 

Set or change the input token buffer.

Definition at line 184 of file Parser.cpp.

References ANTLR_USE_NAMESPACE, and traceDepth.

Referenced by match(), and LLkParser::trace().

void Parser::traceOut const char *  rname  )  [virtual]
 

Reimplemented in LLkParser.

Definition at line 203 of file Parser.cpp.

References ANTLR_USE_NAMESPACE, endl(), inputState, LT(), traceDepth, and traceOut().

Referenced by traceOut(), and Parser::Tracer::~Tracer().


Member Data Documentation

public Parser::__pad0__ [private]
 

Definition at line 50 of file parser.h.

ASTFactory* Parser::astFactory [protected]
 

AST support code; parser and treeparser delegate to this object.

Definition at line 194 of file Parser.hpp.

ParserPrivateData* Parser::d [private]
 

Definition at line 207 of file parser.h.

Referenced by Parser().

ParserSharedInputState Parser::inputState [protected]
 

Definition at line 188 of file Parser.hpp.

Referenced by traceIn(), and traceOut().

Lexer* Parser::lex [private]
 

Definition at line 209 of file parser.h.

Referenced by parseAbstractDeclarator(), parseAccessSpecifier(), parseAdditiveExpression(), parseAndExpression(), parseAssignmentExpression(), parseBaseClause(), parseBaseSpecifier(), parseBlockDeclaration(), parseCastExpression(), parseClassSpecifier(), parseCommaExpression(), parseCompoundStatement(), parseCondition(), parseConditionalExpression(), parseConstantExpression(), parseCtorInitializer(), parseCvQualify(), parseDeclaration(), parseDeclarationInternal(), parseDeclarationStatement(), parseDeclarator(), parseDeleteExpression(), parseDoStatement(), parseElaboratedTypeSpecifier(), parseEnumerator(), parseEnumSpecifier(), parseEqualityExpression(), parseExceptionSpecification(), parseExclusiveOrExpression(), parseExpression(), parseForStatement(), parseFunctionBody(), parseFunctionSpecifier(), parseIdentifierColon(), parseIdentifierList(), parseIfStatement(), parseInclusiveOrExpression(), parseInitDeclarator(), parseInitDeclaratorList(), parseInitializer(), parseInitializerClause(), parseLabeledStatement(), parseLinkageBody(), parseLinkageSpecification(), parseLogicalAndExpression(), parseLogicalOrExpression(), parseMemberSpecification(), parseMemInitializerList(), parseMultiplicativeExpression(), parseName(), parseNamespace(), parseNamespaceAliasDefinition(), parseNewDeclarator(), parseNewExpression(), parseNewInitializer(), parseOperator(), parseOperatorFunctionId(), parseParameterDeclaration(), parseParameterDeclarationClause(), parseParameterDeclarationList(), parsePmExpression(), parsePostfixExpression(), parsePrimaryExpression(), parsePtrOperator(), parsePtrToMember(), parseRelationalExpression(), parseShiftExpression(), parseSimpleTypeSpecifier(), parseStatement(), parseStorageClassSpecifier(), parseStringLiteral(), parseSwitchStatement(), parseTemplateArgument(), parseTemplateArgumentList(), parseTemplateDeclaration(), parseTemplateParameter(), parseTemplateParameterList(), parseThrowExpression(), parseTryBlockStatement(), parseTypedef(), parseTypeId(), parseTypeIdList(), parseTypeParameter(), parseUnaryExpression(), parseUnqualifiedName(), parseUsing(), parseUsingDirective(), parseWhileStatement(), parseWinDeclSpec(), reportError(), skip(), skipCommaExpression(), skipExpression(), skipExpressionStatement(), skipUntil(), skipUntilDeclaration(), skipUntilStatement(), and toString().

Driver* Parser::m_driver [private]
 

Definition at line 208 of file parser.h.

Referenced by reportError().

int Parser::m_maxProblems [private]
 

Definition at line 211 of file parser.h.

Referenced by Parser(), and reportError().

int Parser::m_problems [private]
 

Definition at line 210 of file parser.h.

Referenced by reportError().

bool Parser::objcp [private]
 

Definition at line 212 of file parser.h.

Referenced by parseDeclaration(), and Parser().

RefAST Parser::returnAST [protected]
 

AST return value for a rule is squirreled away here.

Definition at line 191 of file Parser.hpp.

int Parser::traceDepth [protected]
 

Definition at line 197 of file Parser.hpp.

Referenced by traceIn(), traceIndent(), and traceOut().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Oct 6 17:39:27 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003