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

Walker Class Reference

#include <walker.h>

Inheritance diagram for Walker:

Inheritance graph
[legend]
Collaboration diagram for Walker:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Walker (Parser *)
 Walker (Parser *, Environment *)
 Walker (Environment *)
 Walker (Walker *)
Ptree * Translate (Ptree *)
void Typeof (Ptree *, TypeInfo &)
virtual bool IsClassWalker ()
virtual Ptree * TranslatePtree (Ptree *)
virtual void TypeofPtree (Ptree *, TypeInfo &)
virtual Ptree * TranslateTypedef (Ptree *)
virtual Ptree * TranslateTemplateDecl (Ptree *)
virtual Ptree * TranslateTemplateInstantiation (Ptree *)
virtual Ptree * TranslateTemplateInstantiation (Ptree *, Ptree *, Ptree *, Class *)
virtual Class * MakeTemplateInstantiationMetaobject (Ptree *full_class_spec, Ptree *userkey, Ptree *class_spec)
virtual Ptree * TranslateExternTemplate (Ptree *)
virtual Ptree * TranslateTemplateClass (Ptree *, Ptree *)
virtual Class * MakeTemplateClassMetaobject (Ptree *, Ptree *, Ptree *)
virtual Ptree * TranslateTemplateFunction (Ptree *, Ptree *)
virtual Ptree * TranslateMetaclassDecl (Ptree *)
virtual Ptree * TranslateLinkageSpec (Ptree *)
virtual Ptree * TranslateNamespaceSpec (Ptree *)
virtual Ptree * TranslateUsing (Ptree *)
virtual Ptree * TranslateDeclaration (Ptree *)
virtual Ptree * TranslateStorageSpecifiers (Ptree *)
virtual Ptree * TranslateDeclarators (Ptree *)
virtual Ptree * TranslateDeclarator (bool, PtreeDeclarator *)
virtual Ptree * TranslateArgDeclList (bool, Ptree *, Ptree *)
virtual Ptree * TranslateInitializeArgs (PtreeDeclarator *, Ptree *)
virtual Ptree * TranslateAssignInitializer (PtreeDeclarator *, Ptree *)
virtual Ptree * TranslateFunctionImplementation (Ptree *)
virtual Ptree * RecordArgsAndTranslateFbody (Class *, Ptree *args, Ptree *body)
virtual Ptree * TranslateFunctionBody (Ptree *)
virtual Ptree * TranslateBrace (Ptree *)
virtual Ptree * TranslateBlock (Ptree *)
virtual Ptree * TranslateClassBody (Ptree *, Ptree *, Class *)
virtual Ptree * TranslateClassSpec (Ptree *)
virtual Class * MakeClassMetaobject (Ptree *, Ptree *, Ptree *)
virtual Ptree * TranslateClassSpec (Ptree *, Ptree *, Ptree *, Class *)
virtual Ptree * TranslateEnumSpec (Ptree *)
virtual Ptree * TranslateAccessSpec (Ptree *)
virtual Ptree * TranslateAccessDecl (Ptree *)
virtual Ptree * TranslateUserAccessSpec (Ptree *)
virtual Ptree * TranslateIf (Ptree *)
virtual Ptree * TranslateSwitch (Ptree *)
virtual Ptree * TranslateWhile (Ptree *)
virtual Ptree * TranslateDo (Ptree *)
virtual Ptree * TranslateFor (Ptree *)
virtual Ptree * TranslateTry (Ptree *)
virtual Ptree * TranslateBreak (Ptree *)
virtual Ptree * TranslateContinue (Ptree *)
virtual Ptree * TranslateReturn (Ptree *)
virtual Ptree * TranslateGoto (Ptree *)
virtual Ptree * TranslateCase (Ptree *)
virtual Ptree * TranslateDefault (Ptree *)
virtual Ptree * TranslateLabel (Ptree *)
virtual Ptree * TranslateExprStatement (Ptree *)
virtual Ptree * TranslateTypespecifier (Ptree *)
virtual Ptree * TranslateComma (Ptree *)
virtual Ptree * TranslateAssign (Ptree *)
virtual Ptree * TranslateCond (Ptree *)
virtual Ptree * TranslateInfix (Ptree *)
virtual Ptree * TranslatePm (Ptree *)
virtual Ptree * TranslateCast (Ptree *)
virtual Ptree * TranslateUnary (Ptree *)
virtual Ptree * TranslateThrow (Ptree *)
virtual Ptree * TranslateSizeof (Ptree *)
virtual Ptree * TranslateTypeid (Ptree *)
virtual Ptree * TranslateNew (Ptree *)
virtual Ptree * TranslateNew2 (Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *)
virtual Ptree * TranslateNew3 (Ptree *type)
virtual Ptree * TranslateDelete (Ptree *)
virtual Ptree * TranslateThis (Ptree *)
virtual Ptree * TranslateVariable (Ptree *)
virtual Ptree * TranslateFstyleCast (Ptree *)
virtual Ptree * TranslateArray (Ptree *)
virtual Ptree * TranslateFuncall (Ptree *)
virtual Ptree * TranslatePostfix (Ptree *)
virtual Ptree * TranslateUserStatement (Ptree *)
virtual Ptree * TranslateDotMember (Ptree *)
virtual Ptree * TranslateArrowMember (Ptree *)
virtual Ptree * TranslateParen (Ptree *)
virtual Ptree * TranslateStaticUserStatement (Ptree *)
virtual void TypeofComma (Ptree *, TypeInfo &)
virtual void TypeofAssign (Ptree *, TypeInfo &)
virtual void TypeofCond (Ptree *, TypeInfo &)
virtual void TypeofInfix (Ptree *, TypeInfo &)
virtual void TypeofPm (Ptree *, TypeInfo &)
virtual void TypeofCast (Ptree *, TypeInfo &)
virtual void TypeofUnary (Ptree *, TypeInfo &)
virtual void TypeofThrow (Ptree *, TypeInfo &)
virtual void TypeofSizeof (Ptree *, TypeInfo &)
virtual void TypeofTypeid (Ptree *, TypeInfo &)
virtual void TypeofNew (Ptree *, TypeInfo &)
virtual void TypeofDelete (Ptree *, TypeInfo &)
virtual void TypeofThis (Ptree *, TypeInfo &)
virtual void TypeofVariable (Ptree *, TypeInfo &)
virtual void TypeofFstyleCast (Ptree *, TypeInfo &)
virtual void TypeofArray (Ptree *, TypeInfo &)
virtual void TypeofFuncall (Ptree *, TypeInfo &)
virtual void TypeofPostfix (Ptree *, TypeInfo &)
virtual void TypeofUserStatement (Ptree *, TypeInfo &)
virtual void TypeofDotMember (Ptree *, TypeInfo &)
virtual void TypeofArrowMember (Ptree *, TypeInfo &)
virtual void TypeofParen (Ptree *, TypeInfo &)
virtual void TypeofStaticUserStatement (Ptree *, TypeInfo &)
void NewScope ()
Environment * NewScope (Environment *)
void NewScope (Class *)
Environment * ExitScope ()
void RecordBaseclassEnv (Ptree *)
NameScope ChangeScope (Environment *)
void RestoreScope (NameScope &)
Ptree * TranslateNewDeclarator (Ptree *decl)
Ptree * TranslateNewDeclarator2 (Ptree *decl)
Ptree * TranslateArguments (Ptree *)
void ErrorMessage (const char *, Ptree *, Ptree *)
void WarningMessage (const char *, Ptree *, Ptree *)
Parser * GetParser ()

Static Public Member Functions

bool GetArgDeclList (PtreeDeclarator *, Ptree *&)
Ptree * TranslateArgDeclList2 (bool, Environment *, bool, bool, int, Ptree *)
Ptree * FillArgumentName (Ptree *, Ptree *, int arg_name)
Ptree * GetClassOrEnumSpec (Ptree *)
Ptree * GetClassTemplateSpec (Ptree *)
Ptree * StripCvFromIntegralType (Ptree *)
void SetDeclaratorComments (Ptree *, Ptree *)
Ptree * NthDeclarator (Ptree *, int &)
Ptree * FindDeclarator (Ptree *, char *, int, char *, int &, Environment *)
bool MatchedDeclarator (Ptree *, char *, int, char *, Environment *)
bool WhichDeclarator (Ptree *, Ptree *, int &, Environment *)
void InaccurateErrorMessage (const char *, Ptree *, Ptree *)
void InaccurateWarningMessage (const char *, Ptree *, Ptree *)
void ChangeDefaultMetaclass (char *)
void ChangeDefaultTemplateMetaclass (char *)

Static Public Attributes

char * argument_name = "_arg_%d_"

Protected Member Functions

Ptree * TranslateDeclarators (Ptree *, bool)
Class * LookupMetaclass (Ptree *, Ptree *, Ptree *, bool)

Protected Attributes

Environment * env
Parser * parser

Private Member Functions

Class * LookupBaseMetaclass (Ptree *, Ptree *, bool)

Static Private Attributes

Parser * default_parser = nil
char * default_metaclass = nil
char * default_template_metaclass = nil

Constructor & Destructor Documentation

Walker::Walker (  Parser *   ) 
 

Walker::Walker (  Parser *  ,
Environment * 
) 
 

Walker::Walker (  Environment *   ) 
 

Walker::Walker (  Walker *   ) 
 


Member Function Documentation

Ptree * Walker::Translate (  Ptree *   ) 
 

void Walker::Typeof (  Ptree *  ,
TypeInfo & 
) 
 

bool Walker::IsClassWalker (   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslatePtree (  Ptree *   )  [virtual]
 

void Walker::TypeofPtree (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

Ptree * Walker::TranslateTypedef (  Ptree *   )  [virtual]
 

Reimplemented in ClassBodyWalker.

Ptree * Walker::TranslateTemplateDecl (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateTemplateInstantiation (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateTemplateInstantiation (  Ptree *  ,
Ptree *  ,
Ptree *  ,
Class * 
)  [virtual]
 

Reimplemented in ClassWalker.

Class * Walker::MakeTemplateInstantiationMetaobject (  Ptree *  full_class_spec,
Ptree *  userkey,
Ptree *  class_spec
)  [virtual]
 

Ptree * Walker::TranslateExternTemplate (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateTemplateClass (  Ptree *  ,
Ptree * 
)  [virtual]
 

Class * Walker::MakeTemplateClassMetaobject (  Ptree *  ,
Ptree *  ,
Ptree * 
)  [virtual]
 

Ptree * Walker::TranslateTemplateFunction (  Ptree *  ,
Ptree * 
)  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateMetaclassDecl (  Ptree *   )  [virtual]
 

Reimplemented in ClassBodyWalker, and ClassWalker.

Ptree * Walker::TranslateLinkageSpec (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateNamespaceSpec (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateUsing (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateDeclaration (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateStorageSpecifiers (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateDeclarators (  Ptree *   )  [virtual]
 

Reimplemented in ClassBodyWalker.

Ptree * Walker::TranslateDeclarator (  bool  ,
PtreeDeclarator * 
)  [virtual]
 

Reimplemented in ClassBodyWalker.

bool Walker::GetArgDeclList (  PtreeDeclarator *  ,
Ptree *& 
)  [static]
 

Ptree * Walker::TranslateArgDeclList (  bool  ,
Ptree *  ,
Ptree * 
)  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateArgDeclList2 (  bool  ,
Environment *  ,
bool  ,
bool  ,
int  ,
Ptree * 
)  [static]
 

Ptree * Walker::FillArgumentName (  Ptree *  ,
Ptree *  ,
int  arg_name
)  [static]
 

Ptree * Walker::TranslateInitializeArgs (  PtreeDeclarator *  ,
Ptree * 
)  [virtual]
 

Reimplemented in ClassBodyWalker, and ClassWalker.

Ptree * Walker::TranslateAssignInitializer (  PtreeDeclarator *  ,
Ptree * 
)  [virtual]
 

Reimplemented in ClassBodyWalker, and ClassWalker.

Ptree * Walker::TranslateFunctionImplementation (  Ptree *   )  [virtual]
 

Reimplemented in ClassBodyWalker, and ClassWalker.

Ptree * Walker::RecordArgsAndTranslateFbody (  Class *  ,
Ptree *  args,
Ptree *  body
)  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateFunctionBody (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateBrace (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateBlock (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateClassBody (  Ptree *  ,
Ptree *  ,
Class * 
)  [virtual]
 

Reimplemented in ClassBodyWalker.

Ptree * Walker::TranslateClassSpec (  Ptree *   )  [virtual]
 

Class * Walker::MakeClassMetaobject (  Ptree *  ,
Ptree *  ,
Ptree * 
)  [virtual]
 

Ptree * Walker::TranslateClassSpec (  Ptree *  ,
Ptree *  ,
Ptree *  ,
Class * 
)  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateEnumSpec (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateAccessSpec (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateAccessDecl (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateUserAccessSpec (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateIf (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateSwitch (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateWhile (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateDo (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateFor (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateTry (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateBreak (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateContinue (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateReturn (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateGoto (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateCase (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateDefault (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateLabel (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateExprStatement (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateTypespecifier (  Ptree *   )  [virtual]
 

Reimplemented in ClassBodyWalker.

Ptree * Walker::TranslateComma (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateAssign (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateCond (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateInfix (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslatePm (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateCast (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateUnary (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateThrow (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateSizeof (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateTypeid (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateNew (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateNew2 (  Ptree *  ,
Ptree *  ,
Ptree *  ,
Ptree *  ,
Ptree *  ,
Ptree *  ,
Ptree * 
)  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateNew3 (  Ptree *  type  )  [virtual]
 

Ptree * Walker::TranslateDelete (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateThis (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateVariable (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateFstyleCast (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateArray (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateFuncall (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslatePostfix (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateUserStatement (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateDotMember (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateArrowMember (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

Ptree * Walker::TranslateParen (  Ptree *   )  [virtual]
 

Ptree * Walker::TranslateStaticUserStatement (  Ptree *   )  [virtual]
 

Reimplemented in ClassWalker.

void Walker::TypeofComma (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofAssign (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofCond (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofInfix (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofPm (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofCast (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofUnary (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofThrow (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofSizeof (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofTypeid (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofNew (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofDelete (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofThis (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofVariable (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofFstyleCast (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofArray (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofFuncall (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofPostfix (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofUserStatement (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofDotMember (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofArrowMember (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofParen (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::TypeofStaticUserStatement (  Ptree *  ,
TypeInfo & 
)  [virtual]
 

void Walker::NewScope (   ) 
 

Environment * Walker::NewScope (  Environment *   ) 
 

void Walker::NewScope (  Class *   ) 
 

Environment * Walker::ExitScope (   ) 
 

void Walker::RecordBaseclassEnv (  Ptree *   ) 
 

Walker::NameScope Walker::ChangeScope (  Environment *   ) 
 

void Walker::RestoreScope (  NameScope &   ) 
 

Ptree * Walker::TranslateDeclarators (  Ptree *  ,
bool 
)  [protected]
 

Class * Walker::LookupMetaclass (  Ptree *  ,
Ptree *  ,
Ptree *  ,
bool 
)  [protected]
 

Class * Walker::LookupBaseMetaclass (  Ptree *  ,
Ptree *  ,
bool 
)  [private]
 

Ptree * Walker::TranslateNewDeclarator (  Ptree *  decl  ) 
 

Ptree * Walker::TranslateNewDeclarator2 (  Ptree *  decl  ) 
 

Ptree * Walker::TranslateArguments (  Ptree *   ) 
 

Ptree * Walker::GetClassOrEnumSpec (  Ptree *   )  [static]
 

Ptree * Walker::GetClassTemplateSpec (  Ptree *   )  [static]
 

Ptree * Walker::StripCvFromIntegralType (  Ptree *   )  [static]
 

void Walker::SetDeclaratorComments (  Ptree *  ,
Ptree * 
)  [static]
 

Ptree * Walker::NthDeclarator (  Ptree *  ,
int & 
)  [static]
 

Ptree * Walker::FindDeclarator (  Ptree *  ,
char *  ,
int  ,
char *  ,
int &  ,
Environment * 
)  [static]
 

bool Walker::MatchedDeclarator (  Ptree *  ,
char *  ,
int  ,
char *  ,
Environment * 
)  [static]
 

bool Walker::WhichDeclarator (  Ptree *  ,
Ptree *  ,
int &  ,
Environment * 
)  [static]
 

void Walker::ErrorMessage (  const char *  ,
Ptree *  ,
Ptree * 
) 
 

void Walker::WarningMessage (  const char *  ,
Ptree *  ,
Ptree * 
) 
 

void Walker::InaccurateErrorMessage (  const char *  ,
Ptree *  ,
Ptree * 
)  [static]
 

void Walker::InaccurateWarningMessage (  const char *  ,
Ptree *  ,
Ptree * 
)  [static]
 

void Walker::ChangeDefaultMetaclass (  char *   )  [static]
 

void Walker::ChangeDefaultTemplateMetaclass (  char *   )  [static]
 

Parser* Walker::GetParser (   )  [inline]
 


Member Data Documentation

Environment* Walker::env [protected]
 

Parser* Walker::parser [protected]
 

char * Walker::argument_name = "_arg_%d_" [static]
 

BEGIN_OPENCXX_NAMESPACE Parser * Walker::default_parser = nil [static, private]
 

char * Walker::default_metaclass = nil [static, private]
 

char * Walker::default_template_metaclass = nil [static, private]
 


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