PUMA Library Reference Manual
Puma::CCBuilder Class Reference

#include <CCBuilder.h>

+ Inheritance diagram for Puma::CCBuilder:

Public Member Functions

 CCBuilder ()
 
virtual CTreenamespace_name ()
 
virtual CTreeprim_expr ()
 
virtual CTreeid_expr ()
 
virtual CTreeunqual_id ()
 
virtual CTreequal_id ()
 
virtual CTreenested_name_spec ()
 
virtual CTreenested_name_spec1 ()
 
virtual CTreeclass_or_ns_name ()
 
virtual CTreepostfix_expr (CTree *=(CTree *) 0)
 
virtual CTreepostfix_expr2 ()
 
virtual CTreeconstruct_expr ()
 
virtual CTreepseudo_dtor_name ()
 
virtual CTreetype_trait_expr ()
 
virtual CTreenew_expr ()
 
virtual CTreenew_placement ()
 
virtual CTreedirect_new_declarator ()
 
virtual CTreedirect_new_declarator1 ()
 
virtual CTreenew_init ()
 
virtual CTreedelete_expr ()
 
virtual CTreepm_expr ()
 
virtual CTreecondition ()
 
virtual CTreedecl_stmt ()
 
virtual CTreedecl ()
 
virtual CTreesimple_type_spec ()
 
virtual CTreeelaborated_type_spec ()
 
virtual CTreelinkage_spec ()
 
virtual CTreenamespace_def ()
 
virtual CTreenamed_ns_def ()
 
virtual CTreeorig_namespace_def ()
 
virtual CTreeorig_namespace_def1 ()
 
virtual CTreenamespace_body ()
 
virtual CTreens_alias_def ()
 
virtual CTreequal_ns_spec ()
 
virtual CTreeusing_decl ()
 
virtual CTreeusing_directive ()
 
virtual CTreedeclarator ()
 
virtual CTreedeclarator_id ()
 
virtual CTreeparam_init ()
 
virtual CTreeclass_head ()
 
virtual CTreeclass_head1 ()
 
virtual CTreeclass_spec ()
 
virtual CTreemember_decl ()
 
virtual CTreemember_decl1 ()
 
virtual CTreeaccess_decl ()
 
virtual CTreemember_declarator ()
 
virtual CTreepure_spec ()
 
virtual CTreeconst_init ()
 
virtual CTreebase_clause ()
 
virtual CTreebase_spec_list ()
 
virtual CTreebase_spec ()
 
virtual CTreeaccess_spec ()
 
virtual CTreeconv_fct_id ()
 
virtual CTreector_init ()
 
virtual CTreemem_init_list ()
 
virtual CTreemem_init ()
 
virtual CTreemem_init_id ()
 
virtual CTreeoper_fct_id ()
 
virtual CTreetemplate_decl ()
 
virtual CTreetemplate_param_list ()
 
virtual CTreetemplate_param ()
 
virtual CTreetype_param ()
 
virtual CTreenon_type_param (CTree *=(CTree *) 0)
 
virtual CTreetemplate_id ()
 
virtual CTreetemplate_arg_list ()
 
virtual CTreetemplate_arg ()
 
virtual CTreetemplate_type_arg ()
 
virtual CTreetemplate_non_type_arg ()
 
virtual CTreetemplate_template_arg ()
 
virtual CTreeexplicit_instantiation ()
 
virtual CTreeexplicit_specialization ()
 
virtual CTreetry_block ()
 
virtual CTreefct_try_block ()
 
virtual CTreehandler_seq ()
 
virtual CTreehandler ()
 
virtual CTreeexception_decl ()
 
virtual CTreethrow_expr ()
 
virtual CTreeexception_spec ()
 
virtual CTreetype_id_list ()
 
- Public Member Functions inherited from Puma::CBuilder
 CBuilder ()
 
virtual CTreesimple_name ()
 
virtual CTreeliteral ()
 
virtual CTreecmpd_str ()
 
virtual CTreestr_literal ()
 
virtual CTreetrans_unit ()
 
virtual CTreecmpd_literal ()
 
virtual CTreepostfix_expr ()
 
virtual CTreepostfix_expr1 ()
 
virtual CTreeexpr_list ()
 
virtual CTreeunary_expr ()
 
virtual CTreeunary_expr1 ()
 
virtual CTreecast_expr ()
 
virtual CTreecast_expr1 ()
 
virtual CTreecast_expr2 ()
 
virtual CTreeoffsetof_expr ()
 
virtual CTreememb_designator ()
 
virtual CTreemul_expr ()
 
virtual CTreeadd_expr ()
 
virtual CTreeshift_expr ()
 
virtual CTreerel_expr ()
 
virtual CTreeequ_expr ()
 
virtual CTreeand_expr ()
 
virtual CTreeexcl_or_expr ()
 
virtual CTreeincl_or_expr ()
 
virtual CTreelog_and_expr ()
 
virtual CTreelog_or_expr ()
 
virtual CTreecond_expr ()
 
virtual CTreeass_expr ()
 
virtual CTreeass_expr1 ()
 
virtual CTreeexpr ()
 
virtual CTreeconst_expr ()
 
virtual CTreestmt ()
 
virtual CTreelabel_stmt ()
 
virtual CTreeexpr_stmt ()
 
virtual CTreecmpd_stmt ()
 
virtual CTreestmt_seq ()
 
virtual CTreeselect_stmt ()
 
virtual CTreesub_stmt ()
 
virtual CTreecondition (CTree *=(CTree *) 0)
 
virtual CTreeiter_stmt ()
 
virtual CTreefor_init_stmt ()
 
virtual CTreejump_stmt ()
 
virtual CTreedecl_seq ()
 
virtual CTreeblock_decl ()
 
virtual CTreesimple_decl ()
 
virtual CTreedecl_spec ()
 
virtual CTreemisc_spec ()
 
virtual CTreedecl_spec_seq ()
 
virtual CTreedecl_spec_seq1 ()
 
virtual CTreestorage_class_spec ()
 
virtual CTreefct_spec ()
 
virtual CTreetype_spec ()
 
virtual CTreetype_name ()
 
virtual CTreeenum_key ()
 
virtual CTreeenum_spec ()
 
virtual CTreeenum_spec1 ()
 
virtual CTreeenumerator_list ()
 
virtual CTreeenumerator_def ()
 
virtual CTreeenumerator ()
 
virtual CTreeasm_def ()
 
virtual CTreeinit_declarator_list ()
 
virtual CTreeinit_declarator ()
 
virtual CTreeinit_declarator1 ()
 
virtual CTreedirect_declarator ()
 
virtual CTreedirect_declarator1 ()
 
virtual CTreeidentifier_list ()
 
virtual CTreearray_delim ()
 
virtual CTreeptr_operator ()
 
virtual CTreecv_qual_seq ()
 
virtual CTreecv_qual ()
 
virtual CTreetype_id ()
 
virtual CTreeabst_declarator ()
 
virtual CTreedirect_abst_declarator ()
 
virtual CTreedirect_abst_declarator1 ()
 
virtual CTreeparam_decl_clause ()
 
virtual CTreeparam_decl_list ()
 
virtual CTreeparam_decl ()
 
virtual CTreeparam_decl1 ()
 
virtual CTreefct_def ()
 
virtual CTreearg_decl_seq ()
 
virtual CTreefct_body ()
 
virtual CTreeinit ()
 
virtual CTreeinit_clause ()
 
virtual CTreeinit_list ()
 
virtual CTreeinit_list_item ()
 
virtual CTreedesignation ()
 
virtual CTreedesignator ()
 
virtual CTreeclass_key ()
 
virtual CTreemember_spec ()
 
virtual CTreemember_declarator_list ()
 
- Public Member Functions inherited from Puma::Builder
virtual void destroyNode (CTree *node)
 Destroy the given syntax tree node. More...
 
void errors (ErrorSink &e)
 Print the collected error messages on the given error output stream. More...
 
ErrorSinkerr () const
 Get the collected errors. More...
 
void save_state ()
 Save the current state. More...
 
void forget_state ()
 Discard the saved state. More...
 
void restore_state ()
 Restore the saved state. More...
 
CTreetoken (Token *t)
 Create a new CT_Token object for the given token. More...
 
CTreeerror ()
 Create a new CT_Error object. More...
 
int nodes () const
 Get the current number of nodes on the builder stack. More...
 
CTreeget_node (int n=0) const
 Get the n-th node from the builder stack. More...
 
void setTokenCounter (unsigned long v)
 Reset the token counter. More...
 
unsigned long getTokenCounter () const
 Get the current token count. More...
 
- Public Member Functions inherited from Puma::PtrStack< CTree >
 PtrStack (long size=8192, long incr=8192)
 Construct a new layered stack. More...
 
virtual ~PtrStack ()
 Destructor. More...
 
void Push (const CTree *item)
 Add a new item on the top of the current layer. More...
 
void Pop ()
 Remove the top item from the current layer. More...
 
CTreeTop () const
 Get the top item from the current layer. More...
 
long Length () const
 Get the number of items added to the current layer. More...
 
CTreeGet (long n) const
 Get the n-th item on the current layer. More...
 
void New ()
 Create a new layer. More...
 
void Forget ()
 Remove the top layer and add its items to the underlying layer. More...
 
void Reject ()
 Remove the top layer. More...
 
void Destroy ()
 Remove the top layer and delete its items. More...
 
long Stacks () const
 Get the number of layers. More...
 
void Reset ()
 Remove all layers. More...
 

Protected Member Functions

void cleanup (CTree *tree)
 
void Delete ()
 Destroy the top tree node of the builder stack. More...
 
- Protected Member Functions inherited from Puma::CBuilder
CTreelr_bin_expr ()
 
CTreeprim_ds ()
 
- Protected Member Functions inherited from Puma::Builder
 Builder ()
 Constructor. More...
 
CTreecontainer () const
 Put all nodes on the builder stack into a Container object. More...
 
CTreelist (CT_List *l) const
 Add all nodes on the builder stack to the given list node. More...
 
CTreecopy_list (CT_List *l, Container *c) const
 Add all nodes of the given container to the given list node. More...
 
- Protected Member Functions inherited from Puma::PtrStack< CTree >
virtual void Remove ()
 Remove the top item of the current layer. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Puma::Builder
static void destroy (CTree *tree, bool recursive=true)
 Destroy the given syntax tree recursively. More...
 
- Protected Attributes inherited from Puma::Builder
ErrorCollector ec
 The error collector object. More...
 
- Static Protected Attributes inherited from Puma::Builder
static unsigned long int token_counter
 Counter for the created CT_Token object. More...
 

Constructor & Destructor Documentation

◆ CCBuilder()

Puma::CCBuilder::CCBuilder ( )
inline

Member Function Documentation

◆ access_decl()

virtual CTree* Puma::CCBuilder::access_decl ( )
virtual

◆ access_spec()

virtual CTree* Puma::CCBuilder::access_spec ( )
virtual

◆ base_clause()

virtual CTree* Puma::CCBuilder::base_clause ( )
virtual

◆ base_spec()

virtual CTree* Puma::CCBuilder::base_spec ( )
virtual

◆ base_spec_list()

virtual CTree* Puma::CCBuilder::base_spec_list ( )
virtual

◆ class_head()

virtual CTree* Puma::CCBuilder::class_head ( )
virtual

Reimplemented from Puma::CBuilder.

◆ class_head1()

virtual CTree* Puma::CCBuilder::class_head1 ( )
virtual

◆ class_or_ns_name()

virtual CTree* Puma::CCBuilder::class_or_ns_name ( )
virtual

◆ class_spec()

virtual CTree* Puma::CCBuilder::class_spec ( )
virtual

Reimplemented from Puma::CBuilder.

◆ cleanup()

void Puma::CCBuilder::cleanup ( CTree tree)
protected

◆ condition()

virtual CTree* Puma::CCBuilder::condition ( )
virtual

◆ const_init()

virtual CTree* Puma::CCBuilder::const_init ( )
virtual

◆ construct_expr()

virtual CTree* Puma::CCBuilder::construct_expr ( )
virtual

◆ conv_fct_id()

virtual CTree* Puma::CCBuilder::conv_fct_id ( )
virtual

◆ ctor_init()

virtual CTree* Puma::CCBuilder::ctor_init ( )
virtual

◆ decl()

virtual CTree* Puma::CCBuilder::decl ( )
virtual

Reimplemented from Puma::CBuilder.

◆ decl_stmt()

virtual CTree* Puma::CCBuilder::decl_stmt ( )
virtual

◆ declarator()

virtual CTree* Puma::CCBuilder::declarator ( )
virtual

Reimplemented from Puma::CBuilder.

◆ declarator_id()

virtual CTree* Puma::CCBuilder::declarator_id ( )
virtual

Reimplemented from Puma::CBuilder.

◆ Delete()

void Puma::CCBuilder::Delete ( )
protectedvirtual

Destroy the top tree node of the builder stack.

Reimplemented from Puma::Builder.

◆ delete_expr()

virtual CTree* Puma::CCBuilder::delete_expr ( )
virtual

◆ direct_new_declarator()

virtual CTree* Puma::CCBuilder::direct_new_declarator ( )
virtual

◆ direct_new_declarator1()

virtual CTree* Puma::CCBuilder::direct_new_declarator1 ( )
virtual

◆ elaborated_type_spec()

virtual CTree* Puma::CCBuilder::elaborated_type_spec ( )
virtual

Reimplemented from Puma::CBuilder.

◆ exception_decl()

virtual CTree* Puma::CCBuilder::exception_decl ( )
virtual

◆ exception_spec()

virtual CTree* Puma::CCBuilder::exception_spec ( )
virtual

◆ explicit_instantiation()

virtual CTree* Puma::CCBuilder::explicit_instantiation ( )
virtual

◆ explicit_specialization()

virtual CTree* Puma::CCBuilder::explicit_specialization ( )
virtual

◆ fct_try_block()

virtual CTree* Puma::CCBuilder::fct_try_block ( )
virtual

◆ handler()

virtual CTree* Puma::CCBuilder::handler ( )
virtual

◆ handler_seq()

virtual CTree* Puma::CCBuilder::handler_seq ( )
virtual

◆ id_expr()

virtual CTree* Puma::CCBuilder::id_expr ( )
virtual

◆ linkage_spec()

virtual CTree* Puma::CCBuilder::linkage_spec ( )
virtual

◆ mem_init()

virtual CTree* Puma::CCBuilder::mem_init ( )
virtual

◆ mem_init_id()

virtual CTree* Puma::CCBuilder::mem_init_id ( )
virtual

◆ mem_init_list()

virtual CTree* Puma::CCBuilder::mem_init_list ( )
virtual

◆ member_decl()

virtual CTree* Puma::CCBuilder::member_decl ( )
virtual

Reimplemented from Puma::CBuilder.

◆ member_decl1()

virtual CTree* Puma::CCBuilder::member_decl1 ( )
virtual

◆ member_declarator()

virtual CTree* Puma::CCBuilder::member_declarator ( )
virtual

Reimplemented from Puma::CBuilder.

◆ named_ns_def()

virtual CTree* Puma::CCBuilder::named_ns_def ( )
virtual

◆ namespace_body()

virtual CTree* Puma::CCBuilder::namespace_body ( )
virtual

◆ namespace_def()

virtual CTree* Puma::CCBuilder::namespace_def ( )
virtual

◆ namespace_name()

virtual CTree* Puma::CCBuilder::namespace_name ( )
virtual

◆ nested_name_spec()

virtual CTree* Puma::CCBuilder::nested_name_spec ( )
virtual

◆ nested_name_spec1()

virtual CTree* Puma::CCBuilder::nested_name_spec1 ( )
virtual

◆ new_expr()

virtual CTree* Puma::CCBuilder::new_expr ( )
virtual

◆ new_init()

virtual CTree* Puma::CCBuilder::new_init ( )
virtual

◆ new_placement()

virtual CTree* Puma::CCBuilder::new_placement ( )
virtual

◆ non_type_param()

virtual CTree* Puma::CCBuilder::non_type_param ( CTree = (CTree *) 0)
virtual

◆ ns_alias_def()

virtual CTree* Puma::CCBuilder::ns_alias_def ( )
virtual

◆ oper_fct_id()

virtual CTree* Puma::CCBuilder::oper_fct_id ( )
virtual

◆ orig_namespace_def()

virtual CTree* Puma::CCBuilder::orig_namespace_def ( )
virtual

◆ orig_namespace_def1()

virtual CTree* Puma::CCBuilder::orig_namespace_def1 ( )
virtual

◆ param_init()

virtual CTree* Puma::CCBuilder::param_init ( )
virtual

◆ pm_expr()

virtual CTree* Puma::CCBuilder::pm_expr ( )
virtual

◆ postfix_expr()

virtual CTree* Puma::CCBuilder::postfix_expr ( CTree = (CTree *) 0)
virtual

◆ postfix_expr2()

virtual CTree* Puma::CCBuilder::postfix_expr2 ( )
virtual

◆ prim_expr()

virtual CTree* Puma::CCBuilder::prim_expr ( )
virtual

Reimplemented from Puma::CBuilder.

◆ pseudo_dtor_name()

virtual CTree* Puma::CCBuilder::pseudo_dtor_name ( )
virtual

◆ pure_spec()

virtual CTree* Puma::CCBuilder::pure_spec ( )
virtual

◆ qual_id()

virtual CTree* Puma::CCBuilder::qual_id ( )
virtual

◆ qual_ns_spec()

virtual CTree* Puma::CCBuilder::qual_ns_spec ( )
virtual

◆ simple_type_spec()

virtual CTree* Puma::CCBuilder::simple_type_spec ( )
virtual

Reimplemented from Puma::CBuilder.

◆ template_arg()

virtual CTree* Puma::CCBuilder::template_arg ( )
virtual

◆ template_arg_list()

virtual CTree* Puma::CCBuilder::template_arg_list ( )
virtual

◆ template_decl()

virtual CTree* Puma::CCBuilder::template_decl ( )
virtual

◆ template_id()

virtual CTree* Puma::CCBuilder::template_id ( )
virtual

◆ template_non_type_arg()

virtual CTree* Puma::CCBuilder::template_non_type_arg ( )
virtual

◆ template_param()

virtual CTree* Puma::CCBuilder::template_param ( )
virtual

◆ template_param_list()

virtual CTree* Puma::CCBuilder::template_param_list ( )
virtual

◆ template_template_arg()

virtual CTree* Puma::CCBuilder::template_template_arg ( )
virtual

◆ template_type_arg()

virtual CTree* Puma::CCBuilder::template_type_arg ( )
virtual

◆ throw_expr()

virtual CTree* Puma::CCBuilder::throw_expr ( )
virtual

◆ try_block()

virtual CTree* Puma::CCBuilder::try_block ( )
virtual

◆ type_id_list()

virtual CTree* Puma::CCBuilder::type_id_list ( )
virtual

◆ type_param()

virtual CTree* Puma::CCBuilder::type_param ( )
virtual

◆ type_trait_expr()

virtual CTree* Puma::CCBuilder::type_trait_expr ( )
virtual

◆ unqual_id()

virtual CTree* Puma::CCBuilder::unqual_id ( )
virtual

◆ using_decl()

virtual CTree* Puma::CCBuilder::using_decl ( )
virtual

◆ using_directive()

virtual CTree* Puma::CCBuilder::using_directive ( )
virtual