Puma::CSemantic Class Reference
#include <CSemantic.h>
Inherits Puma::Semantic.
Inherited by Puma::CCSemantic.
List of all members.
Public Member Functions |
| CSemantic (CSyntax &, CBuilder &) |
virtual void | init (CSemDatabase &, Unit &) |
| Initialize the semantic analysis.
|
void | configure (Config &) |
| Configure the semantic analysis.
|
virtual CTree * | id_expr () |
virtual CTree * | typedef_name () |
virtual CTree * | init_declarator (CTree *) |
virtual CTree * | abst_declarator () |
virtual CTree * | direct_abst_declarator () |
virtual CTree * | param_decl_clause () |
virtual CTree * | finish_fct_def () |
virtual CTree * | arg_decl_seq () |
virtual CTree * | decl_spec_seq1 () |
virtual CTree * | decl_spec_seq_err () |
virtual CTree * | class_spec_err (CTree *) |
virtual CTree * | declare_parameter () |
virtual CTree * | identifier_list () |
virtual CTree * | finish_param_check () |
virtual CTree * | begin_decl () |
virtual CTree * | array_delim () |
virtual CTree * | trans_unit () |
virtual CTree * | class_spec () |
virtual CTree * | cmpd_stmt () |
virtual CTree * | select_stmt () |
virtual CTree * | iter_stmt () |
virtual CTree * | introduce_label () |
virtual CTree * | introduce_object () |
virtual CTree * | introduce_named_type () |
virtual CTree * | introduce_enum () |
virtual CTree * | introduce_enumerator () |
virtual CTree * | introduce_function () |
virtual CTree * | introduce_parameter () |
virtual CTree * | introduce_class () |
virtual CTree * | introduce_member () |
virtual CTree * | introduce_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 CBuilder & | builder () const |
virtual CSyntax & | syntax () const |
virtual void | Delete () |
| Delete the top item on the semantic stack.
|
CObjectInfo * | lookup (const char *, SemObjType, bool=false) const |
CObjectInfo * | lookup (CT_SimpleName *, SemObjType, bool=false) const |
CObjectInfo * | lookup (const char *, CStructure *, SemObjType, bool) const |
CObjectInfo * | lookupBuiltin (const char *name) 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 |
CStructure * | findParent () const |
void | setSpecifiers (CObjectInfo *, CSemDeclSpecs *) const |
bool | isRedefiningTypedef (CObjectInfo *, int obj_type) const |
bool | isRedefinedFunction (CFunctionInfo *) const |
CAttributeInfo * | createAttribute (const char *, CStructure *, CTypeInfo *, bool=false) |
CTypedefInfo * | createTypedef (const char *, CStructure *, CTypeInfo *) |
void | createParameter (CFunctionInfo *, CTypeInfo *) |
CFunctionInfo * | createFunction (const char *, CStructure *, CTypeInfo *) |
CTypeInfo * | resolveExpr (CTree *expr, CTree *base) const |
Protected Attributes |
bool | in_arg_decl |
bool | _in_arg_decl_seq |
bool | is_type_name |
bool | support_implicit_int |
Member Enumeration Documentation
- Enumerator:
CLASS |
|
UNION |
|
ENUM |
|
TYPEDEF |
|
FCT |
|
ATTRIB |
|
ARG |
|
TAG |
|
NON_TAG |
|
ANY |
|
Constructor & Destructor Documentation
Member Function Documentation
virtual CTree* Puma::CSemantic::abst_declarator |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::arg_decl_seq |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::array_delim |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::begin_decl |
( |
|
) |
[virtual] |
void Puma::CSemantic::begin_param_check |
( |
|
) |
|
CBuilder & Puma::CSemantic::builder |
( |
|
) |
const [inline, protected, virtual] |
virtual CTree* Puma::CSemantic::class_spec |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::class_spec_err |
( |
CTree * |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::cmpd_stmt |
( |
|
) |
[virtual] |
void Puma::CSemantic::configure |
( |
Config & |
c |
) |
[virtual] |
Configure the semantic analysis.
- Parameters:
-
| c | The configuration settings. |
Reimplemented from Puma::Semantic.
bool Puma::CSemantic::decl_spec_seq |
( |
|
) |
|
virtual CTree* Puma::CSemantic::decl_spec_seq1 |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::decl_spec_seq_err |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::declare_parameter |
( |
|
) |
[virtual] |
void Puma::CSemantic::declareImplicitFcts |
( |
|
) |
[inline, protected] |
virtual void Puma::CSemantic::Delete |
( |
|
) |
[protected, virtual] |
Delete the top item on the semantic stack.
To be implemented by derived classes.
Reimplemented from Puma::Semantic.
Reimplemented in Puma::CCSemantic.
virtual CTree* Puma::CSemantic::direct_abst_declarator |
( |
|
) |
[virtual] |
bool Puma::CSemantic::empty_decl_spec_seq |
( |
|
) |
|
void Puma::CSemantic::enter_arg_decl_seq |
( |
|
) |
[inline] |
CStructure* Puma::CSemantic::findParent |
( |
|
) |
const [protected] |
virtual CTree* Puma::CSemantic::finish_fct_def |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::finish_param_check |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::id_expr |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::identifier_list |
( |
|
) |
[virtual] |
virtual bool Puma::CSemantic::implicit_int |
( |
|
) |
[virtual] |
bool Puma::CSemantic::in_arg_decl_seq |
( |
|
) |
const [inline] |
Initialize the semantic analysis.
- Parameters:
-
| db | The semantic object database. |
| file | The input file. |
Reimplemented from Puma::Semantic.
Reimplemented in Puma::CCSemantic.
virtual CTree* Puma::CSemantic::init_declarator |
( |
CTree * |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::introduce_class |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::introduce_enum |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::introduce_enumerator |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::introduce_function |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::introduce_label |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::introduce_member |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::introduce_named_type |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::introduce_object |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::introduce_parameter |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::introduce_tag |
( |
|
) |
[virtual] |
bool Puma::CSemantic::isRedefinedFunction |
( |
CFunctionInfo * |
|
) |
const [protected] |
bool Puma::CSemantic::isRedefiningTypedef |
( |
CObjectInfo * |
, |
|
|
int |
obj_type | |
|
) |
| | const [protected] |
virtual CTree* Puma::CSemantic::iter_stmt |
( |
|
) |
[virtual] |
void Puma::CSemantic::leave_arg_decl_seq |
( |
|
) |
[inline] |
CObjectInfo * Puma::CSemantic::lookup |
( |
const char * |
id, |
|
|
SemObjType |
type, |
|
|
bool |
nested = false | |
|
) |
| | const [inline, protected] |
CObjectInfo* Puma::CSemantic::lookupBuiltin |
( |
const char * |
name |
) |
const [protected] |
virtual CTree* Puma::CSemantic::param_decl_clause |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::select_stmt |
( |
|
) |
[virtual] |
CSyntax & Puma::CSemantic::syntax |
( |
|
) |
const [inline, protected, virtual] |
virtual CTree* Puma::CSemantic::trans_unit |
( |
|
) |
[virtual] |
virtual CTree* Puma::CSemantic::typedef_name |
( |
|
) |
[virtual] |
Member Data Documentation
Puma Reference Manual. Created on 24 Nov 2009.