Puma Reference Manual | Puma::CSemantic Class Reference |
#include <CSemantic.h>
enum Puma::CSemantic::SemObjType [protected] |
Puma::CSemantic::CSemantic | ( | CSyntax & | s, |
CBuilder & | b | ||
) | [inline] |
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] |
Reimplemented in Puma::CCSemantic, and Puma::InstantiationSemantic.
virtual CTree* Puma::CSemantic::class_spec | ( | ) | [virtual] |
Reimplemented in Puma::CCSemantic.
virtual CTree* Puma::CSemantic::cmpd_stmt | ( | ) | [virtual] |
void Puma::CSemantic::configure | ( | Config & | c | ) | [virtual] |
Configure the semantic analysis.
c | The configuration settings. |
Reimplemented from Puma::Semantic.
CAttributeInfo* Puma::CSemantic::createAttribute | ( | const char * | , |
CStructure * | , | ||
CTypeInfo * | , | ||
bool | = false |
||
) | [protected] |
CFunctionInfo* Puma::CSemantic::createFunction | ( | const char * | , |
CStructure * | , | ||
CTypeInfo * | |||
) | [protected] |
void Puma::CSemantic::createParameter | ( | CFunctionInfo * | , |
CTypeInfo * | |||
) | [protected] |
CTypedefInfo* Puma::CSemantic::createTypedef | ( | const char * | , |
CStructure * | , | ||
CTypeInfo * | |||
) | [protected] |
bool Puma::CSemantic::decl_spec_seq | ( | ) |
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::declare_parameter | ( | ) | [virtual] |
void Puma::CSemantic::declareImplicitFcts | ( | ) | [inline, protected] |
Reimplemented in Puma::CCSemantic.
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.
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] |
virtual CTree* Puma::CSemantic::direct_abst_declarator | ( | ) | [virtual] |
bool Puma::CSemantic::empty_decl_spec_seq | ( | ) |
void Puma::CSemantic::enter_arg_decl_seq | ( | ) | [inline] |
void Puma::CSemantic::enter_scope | ( | CStructure * | scope | ) | [virtual] |
Enter the given scope.
Sets the parent of the entered scope to the current scope.
scope | The scope to enter. |
Reimplemented from Puma::Semantic.
Reimplemented in Puma::CCSemantic.
virtual CTree* Puma::CSemantic::enumerator_def | ( | ) | [virtual] |
Reimplemented in Puma::CCSemantic.
CStructure* Puma::CSemantic::findParent | ( | ) | const [protected] |
virtual CTree* Puma::CSemantic::finish_fct_def | ( | ) | [virtual] |
virtual bool Puma::CSemantic::finish_param_check | ( | bool | ) | [virtual] |
virtual CTree* Puma::CSemantic::id_expr | ( | ) | [virtual] |
virtual CTree* Puma::CSemantic::identifier_list | ( | ) | [virtual] |
virtual bool Puma::CSemantic::implicit_int | ( | ) | [virtual] |
Reimplemented in Puma::CCSemantic.
bool Puma::CSemantic::in_arg_decl_seq | ( | ) | const [inline] |
virtual void Puma::CSemantic::init | ( | CSemDatabase & | db, |
Unit & | file | ||
) | [virtual] |
Initialize the semantic analysis.
db | The semantic object database. |
file | The input file. |
Reimplemented from Puma::Semantic.
Reimplemented in Puma::CCSemantic.
virtual CTree* Puma::CSemantic::init_declarator | ( | ) | [virtual] |
Reimplemented in Puma::CCSemantic.
virtual CTree* Puma::CSemantic::introduce_class | ( | ) | [virtual] |
Reimplemented in Puma::CCSemantic, and Puma::InstantiationSemantic.
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, and Puma::InstantiationSemantic.
virtual void Puma::CSemantic::introduce_label | ( | CTree *& | ) | [virtual] |
virtual CTree* Puma::CSemantic::introduce_member | ( | ) | [virtual] |
Reimplemented in Puma::CCSemantic.
virtual CTree* Puma::CSemantic::introduce_named_type | ( | ) | [virtual] |
Reimplemented in Puma::CCSemantic.
virtual CTree* Puma::CSemantic::introduce_object | ( | CTree * | = 0 | ) | [virtual] |
Reimplemented in Puma::CCSemantic, and Puma::InstantiationSemantic.
virtual CTree* Puma::CSemantic::introduce_parameter | ( | ) | [virtual] |
Reimplemented in Puma::CCSemantic.
virtual CTree* Puma::CSemantic::introduce_tag | ( | ) | [virtual] |
Reimplemented in Puma::CCSemantic.
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] |
void Puma::CSemantic::leave_scopes | ( | ) | [virtual] |
Leave all scopes entered up to the current scope.
Make the parent scope of the current scope to the current scope.
Reimplemented from Puma::Semantic.
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] |
CObjectInfo* Puma::CSemantic::lookupBuiltin | ( | const char * | name | ) | const [protected] |
virtual CTree* Puma::CSemantic::param_decl_clause | ( | ) | [virtual] |
CProtection::Type Puma::CSemantic::protection | ( | ) | const [inline, virtual] |
Reimplemented in Puma::CCSemantic.
void Puma::CSemantic::reenter_class_scope | ( | ) |
void Puma::CSemantic::reenter_scope | ( | CStructure * | scope | ) | [virtual] |
Reenter the given scope.
Does not reset the parent of entered scope.
scope | The scope to reenter. |
Reimplemented from Puma::Semantic.
CTypeInfo* Puma::CSemantic::resolveExpr | ( | CTree * | expr, |
CTree * | base | ||
) | const [protected] |
Reimplemented in Puma::CCSemantic.
virtual CTree* Puma::CSemantic::select_stmt | ( | ) | [virtual] |
void Puma::CSemantic::setSpecifiers | ( | CObjectInfo * | , |
CSemDeclSpecs * | |||
) | const [protected] |
CSyntax & Puma::CSemantic::syntax | ( | ) | const [inline, protected, virtual] |
Reimplemented in Puma::CCSemantic, and Puma::InstantiationSemantic.
virtual CTree* Puma::CSemantic::trans_unit | ( | ) | [virtual] |
virtual CTree* Puma::CSemantic::typedef_name | ( | ) | [virtual] |
Reimplemented in Puma::CCSemantic.
bool Puma::CSemantic::typeMatch | ( | CTypeInfo * | , |
CTypeInfo * | |||
) | const [protected] |
bool Puma::CSemantic::_in_arg_decl_seq [protected] |
bool Puma::CSemantic::in_arg_decl [protected] |
bool Puma::CSemantic::is_type_name [protected] |
PtrStack<CStructure> Puma::CSemantic::non_record_scopes [protected] |
bool Puma::CSemantic::support_implicit_int [protected] |