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

Lexlex
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