Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Parser Class Reference

#include <parse.h>

Inheritance diagram for Parser:

Inheritance graph
[legend]
Collaboration diagram for Parser:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Parser (Lex *)
bool ErrorMessage (const char *, Ptree *=nil, Ptree *=nil)
void WarningMessage (const char *, Ptree *=nil, Ptree *=nil)
int NumOfErrors ()
uint LineNumber (char *pos, char *&fname, int &fname_len)
bool rProgram (Ptree *&)

Protected Types

enum  DeclKind {
  kDeclarator,
  kArgDeclarator,
  kCastDeclarator
}
enum  TemplateDeclKind {
  tdk_unknown,
  tdk_decl,
  tdk_instantiation,
  tdk_specialization,
  num_tdks
}

Protected Member Functions

bool SyntaxError ()
void ShowMessageHead (char *)
bool rDefinition (Ptree *&)
bool rNullDeclaration (Ptree *&)
bool rTypedef (Ptree *&)
bool rTypeSpecifier (Ptree *&, bool, Encoding &)
bool isTypeSpecifier ()
bool rMetaclassDecl (Ptree *&)
bool rMetaArguments (Ptree *&)
bool rLinkageSpec (Ptree *&)
bool rNamespaceSpec (Ptree *&)
bool rUsing (Ptree *&)
bool rLinkageBody (Ptree *&)
bool rTemplateDecl (Ptree *&)
bool rTemplateDecl2 (Ptree *&, TemplateDeclKind &kind)
bool rTempArgList (Ptree *&)
bool rTempArgDeclaration (Ptree *&)
bool rExternTemplateDecl (Ptree *&)
bool rDeclaration (Ptree *&)
bool rIntegralDeclaration (Ptree *&, Encoding &, Ptree *, Ptree *, Ptree *)
bool rConstDeclaration (Ptree *&, Encoding &, Ptree *, Ptree *)
bool rOtherDeclaration (Ptree *&, Encoding &, Ptree *, Ptree *, Ptree *)
bool isConstructorDecl ()
bool isPtrToMember (int)
bool optMemberSpec (Ptree *&)
bool optStorageSpec (Ptree *&)
bool optCvQualify (Ptree *&)
bool optIntegralTypeOrClassSpec (Ptree *&, Encoding &)
bool rConstructorDecl (Ptree *&, Encoding &)
bool optThrowDecl (Ptree *&)
bool rDeclarators (Ptree *&, Encoding &, bool, bool=FALSE)
bool rDeclaratorWithInit (Ptree *&, Encoding &, bool, bool)
bool rDeclarator (Ptree *&, DeclKind, bool, Encoding &, Encoding &, bool, bool=FALSE)
bool rDeclarator2 (Ptree *&, DeclKind, bool, Encoding &, Encoding &, bool, bool, Ptree **)
bool optPtrOperator (Ptree *&, Encoding &)
bool rMemberInitializers (Ptree *&)
bool rMemberInit (Ptree *&)
bool rName (Ptree *&, Encoding &)
bool rOperatorName (Ptree *&, Encoding &)
bool rCastOperatorName (Ptree *&, Encoding &)
bool rPtrToMember (Ptree *&, Encoding &)
bool rTemplateArgs (Ptree *&, Encoding &)
bool rArgDeclListOrInit (Ptree *&, bool &, Encoding &, bool)
bool rArgDeclList (Ptree *&, Encoding &)
bool rArgDeclaration (Ptree *&, Encoding &)
bool rFunctionArguments (Ptree *&)
bool rInitializeExpr (Ptree *&)
bool rEnumSpec (Ptree *&, Encoding &)
bool rEnumBody (Ptree *&)
bool rClassSpec (Ptree *&, Encoding &)
bool rBaseSpecifiers (Ptree *&)
bool rClassBody (Ptree *&)
bool rClassMember (Ptree *&)
bool rAccessDecl (Ptree *&)
bool rUserAccessSpec (Ptree *&)
bool rCommaExpression (Ptree *&)
bool rExpression (Ptree *&)
bool rConditionalExpr (Ptree *&)
bool rLogicalOrExpr (Ptree *&, bool)
bool rLogicalAndExpr (Ptree *&, bool)
bool rInclusiveOrExpr (Ptree *&, bool)
bool rExclusiveOrExpr (Ptree *&, bool)
bool rAndExpr (Ptree *&, bool)
bool rEqualityExpr (Ptree *&, bool)
bool rRelationalExpr (Ptree *&, bool)
bool rShiftExpr (Ptree *&)
bool rAdditiveExpr (Ptree *&)
bool rMultiplyExpr (Ptree *&)
bool rPmExpr (Ptree *&)
bool rCastExpr (Ptree *&)
bool rTypeName (Ptree *&)
bool rTypeName (Ptree *&, Encoding &)
bool rUnaryExpr (Ptree *&)
bool rThrowExpr (Ptree *&)
bool rSizeofExpr (Ptree *&)
bool rTypeidExpr (Ptree *&)
bool isAllocateExpr (int)
bool rAllocateExpr (Ptree *&)
bool rUserdefKeyword (Ptree *&)
bool rAllocateType (Ptree *&)
bool rNewDeclarator (Ptree *&, Encoding &)
bool rAllocateInitializer (Ptree *&)
bool rPostfixExpr (Ptree *&)
bool rPrimaryExpr (Ptree *&)
bool rUserdefStatement (Ptree *&)
bool rVarName (Ptree *&)
bool rVarNameCore (Ptree *&, Encoding &)
bool isTemplateArgs ()
bool rFunctionBody (Ptree *&)
bool rCompoundStatement (Ptree *&)
bool rStatement (Ptree *&)
bool rIfStatement (Ptree *&)
bool rSwitchStatement (Ptree *&)
bool rWhileStatement (Ptree *&)
bool rDoStatement (Ptree *&)
bool rForStatement (Ptree *&)
bool rTryStatement (Ptree *&)
bool rExprStatement (Ptree *&)
bool rDeclarationStatement (Ptree *&)
bool rIntegralDeclStatement (Ptree *&, Encoding &, Ptree *, Ptree *, Ptree *)
bool rOtherDeclStatement (Ptree *&, Encoding &, Ptree *, Ptree *)
bool MaybeTypeNameOrClassTemplate (Token &)
void SkipTo (int token)

Private Member Functions

bool moreVarName ()

Private Attributes

Lex * lex
int nerrors
bool suppressNextErrorMessage

Member Enumeration Documentation

enum Parser::DeclKind [protected]
 

Enumeration values:
kDeclarator 
kArgDeclarator 
kCastDeclarator 

enum Parser::TemplateDeclKind [protected]
 

Enumeration values:
tdk_unknown 
tdk_decl 
tdk_instantiation 
tdk_specialization 
num_tdks 


Constructor & Destructor Documentation

Parser::Parser (  Lex *   ) 
 


Member Function Documentation

bool Parser::ErrorMessage (  const char *  ,
Ptree *  = nil,
Ptree *  = nil
) 
 

void Parser::WarningMessage (  const char *  ,
Ptree *  = nil,
Ptree *  = nil
) 
 

int Parser::NumOfErrors (   )  [inline]
 

uint Parser::LineNumber (  char *  pos,
char *&  fname,
int &  fname_len
) 
 

bool Parser::rProgram (  Ptree *&   ) 
 

bool Parser::SyntaxError (   )  [protected]
 

void Parser::ShowMessageHead (  char *   )  [protected]
 

bool Parser::rDefinition (  Ptree *&   )  [protected]
 

bool Parser::rNullDeclaration (  Ptree *&   )  [protected]
 

bool Parser::rTypedef (  Ptree *&   )  [protected]
 

bool Parser::rTypeSpecifier (  Ptree *&  ,
bool  ,
Encoding & 
)  [protected]
 

bool Parser::isTypeSpecifier (   )  [protected]
 

bool Parser::rMetaclassDecl (  Ptree *&   )  [protected]
 

bool Parser::rMetaArguments (  Ptree *&   )  [protected]
 

bool Parser::rLinkageSpec (  Ptree *&   )  [protected]
 

bool Parser::rNamespaceSpec (  Ptree *&   )  [protected]
 

bool Parser::rUsing (  Ptree *&   )  [protected]
 

bool Parser::rLinkageBody (  Ptree *&   )  [protected]
 

bool Parser::rTemplateDecl (  Ptree *&   )  [protected]
 

bool Parser::rTemplateDecl2 (  Ptree *&  ,
TemplateDeclKind &  kind
)  [protected]
 

bool Parser::rTempArgList (  Ptree *&   )  [protected]
 

bool Parser::rTempArgDeclaration (  Ptree *&   )  [protected]
 

bool Parser::rExternTemplateDecl (  Ptree *&   )  [protected]
 

bool Parser::rDeclaration (  Ptree *&   )  [protected]
 

bool Parser::rIntegralDeclaration (  Ptree *&  ,
Encoding &  ,
Ptree *  ,
Ptree *  ,
Ptree * 
)  [protected]
 

bool Parser::rConstDeclaration (  Ptree *&  ,
Encoding &  ,
Ptree *  ,
Ptree * 
)  [protected]
 

bool Parser::rOtherDeclaration (  Ptree *&  ,
Encoding &  ,
Ptree *  ,
Ptree *  ,
Ptree * 
)  [protected]
 

bool Parser::isConstructorDecl (   )  [protected]
 

bool Parser::isPtrToMember (  int   )  [protected]
 

bool Parser::optMemberSpec (  Ptree *&   )  [protected]
 

bool Parser::optStorageSpec (  Ptree *&   )  [protected]
 

bool Parser::optCvQualify (  Ptree *&   )  [protected]
 

bool Parser::optIntegralTypeOrClassSpec (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rConstructorDecl (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::optThrowDecl (  Ptree *&   )  [protected]
 

bool Parser::rDeclarators (  Ptree *&  ,
Encoding &  ,
bool  ,
bool  = FALSE
)  [protected]
 

bool Parser::rDeclaratorWithInit (  Ptree *&  ,
Encoding &  ,
bool  ,
bool 
)  [protected]
 

bool Parser::rDeclarator (  Ptree *&  ,
DeclKind  ,
bool  ,
Encoding &  ,
Encoding &  ,
bool  ,
bool  = FALSE
)  [protected]
 

bool Parser::rDeclarator2 (  Ptree *&  ,
DeclKind  ,
bool  ,
Encoding &  ,
Encoding &  ,
bool  ,
bool  ,
Ptree ** 
)  [protected]
 

bool Parser::optPtrOperator (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rMemberInitializers (  Ptree *&   )  [protected]
 

bool Parser::rMemberInit (  Ptree *&   )  [protected]
 

bool Parser::rName (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rOperatorName (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rCastOperatorName (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rPtrToMember (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rTemplateArgs (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rArgDeclListOrInit (  Ptree *&  ,
bool &  ,
Encoding &  ,
bool 
)  [protected]
 

bool Parser::rArgDeclList (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rArgDeclaration (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rFunctionArguments (  Ptree *&   )  [protected]
 

bool Parser::rInitializeExpr (  Ptree *&   )  [protected]
 

bool Parser::rEnumSpec (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rEnumBody (  Ptree *&   )  [protected]
 

bool Parser::rClassSpec (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rBaseSpecifiers (  Ptree *&   )  [protected]
 

bool Parser::rClassBody (  Ptree *&   )  [protected]
 

bool Parser::rClassMember (  Ptree *&   )  [protected]
 

bool Parser::rAccessDecl (  Ptree *&   )  [protected]
 

bool Parser::rUserAccessSpec (  Ptree *&   )  [protected]
 

bool Parser::rCommaExpression (  Ptree *&   )  [protected]
 

bool Parser::rExpression (  Ptree *&   )  [protected]
 

bool Parser::rConditionalExpr (  Ptree *&   )  [protected]
 

bool Parser::rLogicalOrExpr (  Ptree *&  ,
bool 
)  [protected]
 

bool Parser::rLogicalAndExpr (  Ptree *&  ,
bool 
)  [protected]
 

bool Parser::rInclusiveOrExpr (  Ptree *&  ,
bool 
)  [protected]
 

bool Parser::rExclusiveOrExpr (  Ptree *&  ,
bool 
)  [protected]
 

bool Parser::rAndExpr (  Ptree *&  ,
bool 
)  [protected]
 

bool Parser::rEqualityExpr (  Ptree *&  ,
bool 
)  [protected]
 

bool Parser::rRelationalExpr (  Ptree *&  ,
bool 
)  [protected]
 

bool Parser::rShiftExpr (  Ptree *&   )  [protected]
 

bool Parser::rAdditiveExpr (  Ptree *&   )  [protected]
 

bool Parser::rMultiplyExpr (  Ptree *&   )  [protected]
 

bool Parser::rPmExpr (  Ptree *&   )  [protected]
 

bool Parser::rCastExpr (  Ptree *&   )  [protected]
 

bool Parser::rTypeName (  Ptree *&   )  [protected]
 

bool Parser::rTypeName (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rUnaryExpr (  Ptree *&   )  [protected]
 

bool Parser::rThrowExpr (  Ptree *&   )  [protected]
 

bool Parser::rSizeofExpr (  Ptree *&   )  [protected]
 

bool Parser::rTypeidExpr (  Ptree *&   )  [protected]
 

bool Parser::isAllocateExpr (  int   )  [protected]
 

bool Parser::rAllocateExpr (  Ptree *&   )  [protected]
 

bool Parser::rUserdefKeyword (  Ptree *&   )  [protected]
 

bool Parser::rAllocateType (  Ptree *&   )  [protected]
 

bool Parser::rNewDeclarator (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::rAllocateInitializer (  Ptree *&   )  [protected]
 

bool Parser::rPostfixExpr (  Ptree *&   )  [protected]
 

bool Parser::rPrimaryExpr (  Ptree *&   )  [protected]
 

bool Parser::rUserdefStatement (  Ptree *&   )  [protected]
 

bool Parser::rVarName (  Ptree *&   )  [protected]
 

bool Parser::rVarNameCore (  Ptree *&  ,
Encoding & 
)  [protected]
 

bool Parser::isTemplateArgs (   )  [protected]
 

bool Parser::rFunctionBody (  Ptree *&   )  [protected]
 

bool Parser::rCompoundStatement (  Ptree *&   )  [protected]
 

bool Parser::rStatement (  Ptree *&   )  [protected]
 

bool Parser::rIfStatement (  Ptree *&   )  [protected]
 

bool Parser::rSwitchStatement (  Ptree *&   )  [protected]
 

bool Parser::rWhileStatement (  Ptree *&   )  [protected]
 

bool Parser::rDoStatement (  Ptree *&   )  [protected]
 

bool Parser::rForStatement (  Ptree *&   )  [protected]
 

bool Parser::rTryStatement (  Ptree *&   )  [protected]
 

bool Parser::rExprStatement (  Ptree *&   )  [protected]
 

bool Parser::rDeclarationStatement (  Ptree *&   )  [protected]
 

bool Parser::rIntegralDeclStatement (  Ptree *&  ,
Encoding &  ,
Ptree *  ,
Ptree *  ,
Ptree * 
)  [protected]
 

bool Parser::rOtherDeclStatement (  Ptree *&  ,
Encoding &  ,
Ptree *  ,
Ptree * 
)  [protected]
 

bool Parser::MaybeTypeNameOrClassTemplate (  Token &   )  [protected]
 

void Parser::SkipTo (  int  token  )  [protected]
 

bool Parser::moreVarName (   )  [private]
 


Member Data Documentation

Lex* Parser::lex [private]
 

int Parser::nerrors [private]
 

bool Parser::suppressNextErrorMessage [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Aug 11 22:36:11 2004 for IOPC by Doxygen 1.3.6