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 18 Sep 2009.