Puma::CSemantic Class Reference

#include <CSemantic.h>

Inheritance diagram for Puma::CSemantic:

Inheritance graph

List of all members.

Public Member Functions

 CSemantic (CSyntax &, CBuilder &)
virtual void init (CClassDatabase &, Unit &)
void configure (Config &)
virtual CTreeid_expr ()
virtual CTreetypedef_name ()
virtual CTreeinit_declarator (CTree *)
virtual CTreeabst_declarator ()
virtual CTreedirect_abst_declarator ()
virtual CTreeparam_decl_clause ()
virtual CTreefinish_fct_def ()
virtual CTreearg_decl_seq ()
virtual CTreedecl_spec_seq1 ()
virtual CTreedecl_spec_seq_err ()
virtual CTreeclass_spec_err (CTree *)
virtual CTreedeclare_parameter ()
virtual CTreeidentifier_list ()
virtual CTreefinish_param_check ()
virtual CTreebegin_decl ()
virtual CTreetrans_unit ()
virtual CTreeclass_spec ()
virtual CTreecmpd_stmt ()
virtual CTreeselect_stmt ()
virtual CTreeiter_stmt ()
virtual CTreeintroduce_label ()
virtual CTreeintroduce_object ()
virtual CTreeintroduce_named_type ()
virtual CTreeintroduce_enum ()
virtual CTreeintroduce_enumerator ()
virtual CTreeintroduce_function ()
virtual CTreeintroduce_parameter ()
virtual CTreeintroduce_class ()
virtual CTreeintroduce_member ()
virtual CTreeintroduce_tag ()
void enter_arg_decl_seq ()
void leave_arg_decl_seq ()
void begin_param_check ()
bool in_arg_decl_seq () const
bool decl_spec_seq ()
bool empty_decl_spec_seq ()
virtual bool implicit_int ()
virtual CProtection::Type protection () const

Protected Types

enum  SemObjType {
  CLASS, UNION, ENUM, TYPEDEF,
  FCT, ATTRIB, ARG, TAG,
  NON_TAG, ANY
}

Protected Member Functions

void declareImplicitFcts ()
virtual CBuilderbuilder () const
virtual CSyntaxsyntax () const
virtual void Delete ()
CObjectInfolookup (const char *, SemObjType, bool=false) const
CObjectInfolookup (CT_SimpleName *, SemObjType, bool=false) const
CObjectInfolookup (const char *, CStructure *, SemObjType, bool) const
CLinkage::Type determine_linkage (CSemDeclSpecs *, SemObjType, CObjectInfo *=(CObjectInfo *) 0) const
CStorage::Type determine_storage_class (CSemDeclSpecs *, SemObjType, CLinkage::Type) const
bool typeMatch (CTypeInfo *, CTypeInfo *) const
CStructurefindParent () const
void setSpecifiers (CObjectInfo *, CSemDeclSpecs *) const
bool isRedefiningTypedef (CObjectInfo *, int obj_type) const
CAttributeInfocreateAttribute (const char *, CStructure *, CTypeInfo *, bool=false)
CTypedefInfocreateTypedef (const char *, CStructure *, CTypeInfo *)
void createParameter (CFunctionInfo *, CTypeInfo *)
CFunctionInfocreateFunction (const char *, CStructure *, CTypeInfo *)

Protected Attributes

bool in_arg_decl
bool _in_arg_decl_seq
bool is_type_name
bool support_implicit_int


Member Enumeration Documentation

enum Puma::CSemantic::SemObjType [protected]

Enumerator:
CLASS 
UNION 
ENUM 
TYPEDEF 
FCT 
ATTRIB 
ARG 
TAG 
NON_TAG 
ANY 


Constructor & Destructor Documentation

Puma::CSemantic::CSemantic ( CSyntax s,
CBuilder b 
) [inline]


Member Function Documentation

void Puma::CSemantic::declareImplicitFcts (  )  [inline, protected]

Reimplemented in Puma::CCSemantic.

virtual void Puma::CSemantic::init ( CClassDatabase ,
Unit  
) [virtual]

Reimplemented from Puma::Semantic.

Reimplemented in Puma::CCSemantic.

void Puma::CSemantic::configure ( Config  )  [virtual]

Reimplemented from Puma::Semantic.

CBuilder & Puma::CSemantic::builder (  )  const [inline, protected, virtual]

Reimplemented in Puma::CCSemantic.

CSyntax & Puma::CSemantic::syntax (  )  const [inline, protected, virtual]

Reimplemented in Puma::CCSemantic.

virtual void Puma::CSemantic::Delete (  )  [protected, virtual]

Reimplemented from Puma::Semantic.

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::id_expr (  )  [virtual]

virtual CTree* Puma::CSemantic::typedef_name (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::init_declarator ( CTree  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::abst_declarator (  )  [virtual]

virtual CTree* Puma::CSemantic::direct_abst_declarator (  )  [virtual]

virtual CTree* Puma::CSemantic::param_decl_clause (  )  [virtual]

virtual CTree* Puma::CSemantic::finish_fct_def (  )  [virtual]

virtual CTree* Puma::CSemantic::arg_decl_seq (  )  [virtual]

virtual CTree* Puma::CSemantic::decl_spec_seq1 (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::decl_spec_seq_err (  )  [virtual]

virtual CTree* Puma::CSemantic::class_spec_err ( CTree  )  [virtual]

virtual CTree* Puma::CSemantic::declare_parameter (  )  [virtual]

virtual CTree* Puma::CSemantic::identifier_list (  )  [virtual]

virtual CTree* Puma::CSemantic::finish_param_check (  )  [virtual]

virtual CTree* Puma::CSemantic::begin_decl (  )  [virtual]

virtual CTree* Puma::CSemantic::trans_unit (  )  [virtual]

virtual CTree* Puma::CSemantic::class_spec (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::cmpd_stmt (  )  [virtual]

virtual CTree* Puma::CSemantic::select_stmt (  )  [virtual]

virtual CTree* Puma::CSemantic::iter_stmt (  )  [virtual]

virtual CTree* Puma::CSemantic::introduce_label (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::introduce_object (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::introduce_named_type (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::introduce_enum (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::introduce_enumerator (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::introduce_function (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::introduce_parameter (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::introduce_class (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::introduce_member (  )  [virtual]

Reimplemented in Puma::CCSemantic.

virtual CTree* Puma::CSemantic::introduce_tag (  )  [virtual]

Reimplemented in Puma::CCSemantic.

void Puma::CSemantic::enter_arg_decl_seq (  )  [inline]

void Puma::CSemantic::leave_arg_decl_seq (  )  [inline]

void Puma::CSemantic::begin_param_check (  ) 

bool Puma::CSemantic::in_arg_decl_seq (  )  const [inline]

bool Puma::CSemantic::decl_spec_seq (  ) 

bool Puma::CSemantic::empty_decl_spec_seq (  ) 

virtual bool Puma::CSemantic::implicit_int (  )  [virtual]

Reimplemented in Puma::CCSemantic.

CProtection::Type Puma::CSemantic::protection (  )  const [inline, virtual]

Reimplemented in Puma::CCSemantic.

CObjectInfo * Puma::CSemantic::lookup ( const char *  id,
SemObjType  type,
bool  nested = false 
) const [inline, protected]

CObjectInfo * Puma::CSemantic::lookup ( CT_SimpleName id,
SemObjType  type,
bool  nested = false 
) const [inline, protected]

CObjectInfo* Puma::CSemantic::lookup ( const char *  ,
CStructure ,
SemObjType  ,
bool   
) const [protected]

CLinkage::Type Puma::CSemantic::determine_linkage ( CSemDeclSpecs ,
SemObjType  ,
CObjectInfo = (CObjectInfo *) 0 
) const [protected]

Reimplemented in Puma::CCSemantic.

CStorage::Type Puma::CSemantic::determine_storage_class ( CSemDeclSpecs ,
SemObjType  ,
CLinkage::Type   
) const [protected]

bool Puma::CSemantic::typeMatch ( CTypeInfo ,
CTypeInfo  
) const [protected]

CStructure* Puma::CSemantic::findParent (  )  const [protected]

void Puma::CSemantic::setSpecifiers ( CObjectInfo ,
CSemDeclSpecs  
) const [protected]

bool Puma::CSemantic::isRedefiningTypedef ( CObjectInfo ,
int  obj_type 
) const [protected]

CAttributeInfo* Puma::CSemantic::createAttribute ( const char *  ,
CStructure ,
CTypeInfo ,
bool  = false 
) [protected]

CTypedefInfo* Puma::CSemantic::createTypedef ( const char *  ,
CStructure ,
CTypeInfo  
) [protected]

void Puma::CSemantic::createParameter ( CFunctionInfo ,
CTypeInfo  
) [protected]

CFunctionInfo* Puma::CSemantic::createFunction ( const char *  ,
CStructure ,
CTypeInfo  
) [protected]


Member Data Documentation

bool Puma::CSemantic::in_arg_decl [protected]


Generated on Sat May 10 03:03:56 2008 for Puma by  doxygen 1.5.5