Puma Reference Manual Puma: Puma::CSyntax Class Reference



Puma::CSyntax Class Reference

#include <CSyntax.h>

Inheritance diagram for Puma::CSyntax:

Inheritance graph

List of all members.

Public Types

typedef bitset< TOK_NO > tokenset

Public Member Functions

 CSyntax (CBuilder &, CSemantic &)
virtual void configure (Config &)
 Configure the syntactic analysis object.
CTreerule_typedef_name ()
virtual bool typedef_name ()
virtual CTreeprivate_name ()
CTreerule_identifier ()
virtual bool identifier ()
CTreerule_literal ()
virtual bool literal ()
CTreerule_cmpd_str ()
virtual bool cmpd_str ()
CTreerule_str_literal ()
virtual bool str_literal ()
virtual CTreetrans_unit ()
 Top parse rule to be reimplemented for a specific grammar.
CTreerule_prim_expr ()
virtual bool prim_expr ()
CTreerule_id_expr ()
virtual bool id_expr ()
CTreerule_cmpd_literal ()
virtual bool cmpd_literal ()
virtual CTreepostfix_expr ()
CTreerule_postfix_expr1 ()
virtual bool postfix_expr1 ()
virtual CTreeexpr_list ()
virtual CTreeunary_expr ()
virtual CTreeunary_expr1 ()
virtual CTreecast_expr ()
virtual CTreecast_expr1 ()
virtual CTreecast_expr2 ()
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 ()
virtual CTreeiter_stmt ()
virtual CTreefor_init_stmt ()
virtual CTreejump_stmt ()
virtual CTreedecl_seq ()
virtual CTreedecl ()
virtual CTreeblock_decl ()
virtual CTreesimple_decl ()
CTreerule_decl_spec ()
virtual bool decl_spec ()
virtual CTreedecl_spec_seq ()
virtual CTreedecl_spec_seq1 ()
CTreerule_misc_spec ()
virtual bool misc_spec ()
CTreerule_storage_class_spec ()
virtual bool storage_class_spec ()
CTreerule_fct_spec ()
virtual bool fct_spec ()
CTreerule_type_spec ()
virtual bool type_spec ()
CTreerule_simple_type_spec ()
virtual bool simple_type_spec ()
CTreerule_type_name ()
virtual bool type_name ()
CTreerule_elaborated_type_spec ()
virtual bool elaborated_type_spec ()
CTreerule_enum_spec ()
virtual bool enum_spec ()
virtual CTreeenumerator_list ()
virtual CTreeenumerator_def ()
virtual CTreeenumerator ()
virtual CTreeasm_def ()
virtual CTreeinit_declarator_list ()
virtual CTreeinit_declarator_ext ()
virtual CTreeinit_declarator ()
virtual CTreedeclarator ()
virtual CTreedirect_declarator ()
CTreerule_direct_declarator1 ()
virtual bool direct_declarator1 ()
virtual CTreeidentifier_list ()
virtual CTreearray_delim ()
virtual CTreeptr_operator ()
CTreerule_cv_qual_seq ()
virtual bool cv_qual_seq ()
CTreerule_cv_qual ()
virtual bool cv_qual ()
virtual CTreedeclarator_id ()
virtual CTreetype_id ()
virtual CTreetype_spec_seq ()
virtual CTreetype_spec_seq1 ()
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 CTreeparam_decl2 ()
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 ()
CTreerule_class_spec ()
virtual bool class_spec ()
CTreerule_class_head ()
virtual bool class_head ()
CTreerule_class_key ()
virtual bool class_key ()
virtual CTreemember_spec ()
virtual CTreemember_decl ()
virtual CTreemember_declarator_list ()
virtual CTreemember_declarator ()

Protected Member Functions

bool predict_1 (const tokenset &ts)
virtual void init_prim_types ()
virtual void init_typedef_name ()
virtual void init_type_name ()
virtual void init_class_spec ()
virtual void init_class_head ()
virtual void init_class_key ()
virtual void init_cv_qual ()
virtual void init_cv_qual_seq ()
virtual void init_enum_spec ()
virtual void init_elaborated_type_spec ()
virtual void init_simple_type_spec ()
virtual void init_type_spec ()
virtual void init_decl_spec ()
virtual void init_misc_spec ()
virtual void init_storage_class_spec ()
virtual void init_fct_spec ()
virtual void init_postfix_expr1 ()
virtual void init_prim_expr ()
virtual void init_id_expr ()
virtual void init_cmpd_literal ()
virtual void init_identifier ()
virtual void init_literal ()
virtual void init_cmpd_str ()
virtual void init_str_literal ()
virtual void init_direct_declarator1 ()
virtual bool is_fct_def ()
virtual bool is_ass_expr ()
virtual void handle_directive ()
 Handle a compiler directive token.

Protected Attributes

tokenset _prim_types
tokenset _typedef_name_1
tokenset _type_name_1
tokenset _class_spec_1
tokenset _class_head_1
tokenset _class_key_1
tokenset _cv_qual_1
tokenset _cv_qual_seq_1
tokenset _enum_spec_1
tokenset _elaborated_type_spec_1
tokenset _simple_type_spec_1
tokenset _type_spec_1
tokenset _decl_spec_1
tokenset _misc_spec_1
tokenset _storage_class_spec_1
tokenset _fct_spec_1
tokenset _prim_expr_1
tokenset _id_expr_1
tokenset _cmpd_literal_1
tokenset _postfix_expr1_1
tokenset _identifier_1
tokenset _literal_1
tokenset _cmpd_str_1
tokenset _str_literal_1
tokenset _direct_declarator1_1


Member Typedef Documentation

typedef bitset<TOK_NO> Puma::CSyntax::tokenset


Constructor & Destructor Documentation

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


Member Function Documentation

virtual void Puma::CSyntax::configure ( Config c  )  [virtual]

Configure the syntactic analysis object.

Parameters:
c The configuration object.

Reimplemented from Puma::Syntax.

Reimplemented in Puma::CCSyntax.

bool Puma::CSyntax::predict_1 ( const tokenset ts  )  [inline, protected]

virtual void Puma::CSyntax::init_prim_types (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_typedef_name (  )  [protected, virtual]

virtual void Puma::CSyntax::init_type_name (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_class_spec (  )  [protected, virtual]

virtual void Puma::CSyntax::init_class_head (  )  [protected, virtual]

virtual void Puma::CSyntax::init_class_key (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_cv_qual (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_cv_qual_seq (  )  [protected, virtual]

virtual void Puma::CSyntax::init_enum_spec (  )  [protected, virtual]

virtual void Puma::CSyntax::init_elaborated_type_spec (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_simple_type_spec (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_type_spec (  )  [protected, virtual]

virtual void Puma::CSyntax::init_decl_spec (  )  [protected, virtual]

virtual void Puma::CSyntax::init_misc_spec (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_storage_class_spec (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_fct_spec (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_postfix_expr1 (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_prim_expr (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_id_expr (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_cmpd_literal (  )  [protected, virtual]

virtual void Puma::CSyntax::init_identifier (  )  [protected, virtual]

virtual void Puma::CSyntax::init_literal (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual void Puma::CSyntax::init_cmpd_str (  )  [protected, virtual]

virtual void Puma::CSyntax::init_str_literal (  )  [protected, virtual]

virtual void Puma::CSyntax::init_direct_declarator1 (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

CTree* Puma::CSyntax::rule_typedef_name (  ) 

virtual bool Puma::CSyntax::typedef_name (  )  [virtual]

virtual CTree* Puma::CSyntax::private_name (  )  [virtual]

CTree* Puma::CSyntax::rule_identifier (  ) 

virtual bool Puma::CSyntax::identifier (  )  [virtual]

CTree* Puma::CSyntax::rule_literal (  ) 

virtual bool Puma::CSyntax::literal (  )  [virtual]

CTree* Puma::CSyntax::rule_cmpd_str (  ) 

virtual bool Puma::CSyntax::cmpd_str (  )  [virtual]

CTree* Puma::CSyntax::rule_str_literal (  ) 

virtual bool Puma::CSyntax::str_literal (  )  [virtual]

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

Top parse rule to be reimplemented for a specific grammar.

Returns:
The root node of the syntax tree, or NULL.

Reimplemented from Puma::Syntax.

CTree* Puma::CSyntax::rule_prim_expr (  ) 

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::prim_expr (  )  [virtual]

Reimplemented in Puma::CCSyntax.

CTree* Puma::CSyntax::rule_id_expr (  ) 

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::id_expr (  )  [virtual]

Reimplemented in Puma::CCSyntax.

CTree* Puma::CSyntax::rule_cmpd_literal (  ) 

virtual bool Puma::CSyntax::cmpd_literal (  )  [virtual]

virtual CTree* Puma::CSyntax::postfix_expr (  )  [virtual]

Reimplemented in Puma::CCSyntax.

CTree* Puma::CSyntax::rule_postfix_expr1 (  ) 

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::postfix_expr1 (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::expr_list (  )  [virtual]

virtual CTree* Puma::CSyntax::unary_expr (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::unary_expr1 (  )  [virtual]

virtual CTree* Puma::CSyntax::cast_expr (  )  [virtual]

virtual CTree* Puma::CSyntax::cast_expr1 (  )  [virtual]

virtual CTree* Puma::CSyntax::cast_expr2 (  )  [virtual]

virtual CTree* Puma::CSyntax::mul_expr (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::add_expr (  )  [virtual]

virtual CTree* Puma::CSyntax::shift_expr (  )  [virtual]

virtual CTree* Puma::CSyntax::rel_expr (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::equ_expr (  )  [virtual]

virtual CTree* Puma::CSyntax::and_expr (  )  [virtual]

virtual CTree* Puma::CSyntax::excl_or_expr (  )  [virtual]

virtual CTree* Puma::CSyntax::incl_or_expr (  )  [virtual]

virtual CTree* Puma::CSyntax::log_and_expr (  )  [virtual]

virtual CTree* Puma::CSyntax::log_or_expr (  )  [virtual]

virtual CTree* Puma::CSyntax::cond_expr (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::ass_expr (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::ass_expr1 (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::expr (  )  [virtual]

virtual CTree* Puma::CSyntax::const_expr (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::stmt (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::label_stmt (  )  [virtual]

virtual CTree* Puma::CSyntax::expr_stmt (  )  [virtual]

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

virtual CTree* Puma::CSyntax::stmt_seq (  )  [virtual]

Reimplemented in Puma::CCSyntax.

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

virtual CTree* Puma::CSyntax::sub_stmt (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::condition (  )  [virtual]

Reimplemented in Puma::CCSyntax.

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

virtual CTree* Puma::CSyntax::for_init_stmt (  )  [virtual]

virtual CTree* Puma::CSyntax::jump_stmt (  )  [virtual]

virtual CTree* Puma::CSyntax::decl_seq (  )  [virtual]

virtual CTree* Puma::CSyntax::decl (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::block_decl (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::simple_decl (  )  [virtual]

Reimplemented in Puma::CCSyntax.

CTree* Puma::CSyntax::rule_decl_spec (  ) 

virtual bool Puma::CSyntax::decl_spec (  )  [virtual]

virtual CTree* Puma::CSyntax::decl_spec_seq (  )  [virtual]

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

CTree* Puma::CSyntax::rule_misc_spec (  ) 

virtual bool Puma::CSyntax::misc_spec (  )  [virtual]

CTree* Puma::CSyntax::rule_storage_class_spec (  ) 

virtual bool Puma::CSyntax::storage_class_spec (  )  [virtual]

CTree* Puma::CSyntax::rule_fct_spec (  ) 

virtual bool Puma::CSyntax::fct_spec (  )  [virtual]

CTree* Puma::CSyntax::rule_type_spec (  ) 

virtual bool Puma::CSyntax::type_spec (  )  [virtual]

CTree* Puma::CSyntax::rule_simple_type_spec (  ) 

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::simple_type_spec (  )  [virtual]

Reimplemented in Puma::CCSyntax.

CTree* Puma::CSyntax::rule_type_name (  ) 

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::type_name (  )  [virtual]

Reimplemented in Puma::CCSyntax.

CTree* Puma::CSyntax::rule_elaborated_type_spec (  ) 

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::elaborated_type_spec (  )  [virtual]

Reimplemented in Puma::CCSyntax.

CTree* Puma::CSyntax::rule_enum_spec (  ) 

virtual bool Puma::CSyntax::enum_spec (  )  [virtual]

virtual CTree* Puma::CSyntax::enumerator_list (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::enumerator_def (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::enumerator (  )  [virtual]

virtual CTree* Puma::CSyntax::asm_def (  )  [virtual]

virtual CTree* Puma::CSyntax::init_declarator_list (  )  [virtual]

virtual CTree* Puma::CSyntax::init_declarator_ext (  )  [virtual]

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

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::declarator (  )  [virtual]

virtual CTree* Puma::CSyntax::direct_declarator (  )  [virtual]

CTree* Puma::CSyntax::rule_direct_declarator1 (  ) 

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::direct_declarator1 (  )  [virtual]

Reimplemented in Puma::CCSyntax.

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

virtual CTree* Puma::CSyntax::array_delim (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::ptr_operator (  )  [virtual]

Reimplemented in Puma::CCSyntax.

CTree* Puma::CSyntax::rule_cv_qual_seq (  ) 

virtual bool Puma::CSyntax::cv_qual_seq (  )  [virtual]

CTree* Puma::CSyntax::rule_cv_qual (  ) 

virtual bool Puma::CSyntax::cv_qual (  )  [virtual]

virtual CTree* Puma::CSyntax::declarator_id (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::type_id (  )  [virtual]

virtual CTree* Puma::CSyntax::type_spec_seq (  )  [virtual]

virtual CTree* Puma::CSyntax::type_spec_seq1 (  )  [virtual]

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

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

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::direct_abst_declarator1 (  )  [virtual]

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

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::param_decl_list (  )  [virtual]

virtual CTree* Puma::CSyntax::param_decl (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::param_decl1 (  )  [virtual]

virtual CTree* Puma::CSyntax::param_decl2 (  )  [virtual]

virtual CTree* Puma::CSyntax::fct_def (  )  [virtual]

Reimplemented in Puma::CCSyntax.

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

virtual CTree* Puma::CSyntax::fct_body (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::init (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::init_clause (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::init_list (  )  [virtual]

virtual CTree* Puma::CSyntax::init_list_item (  )  [virtual]

virtual CTree* Puma::CSyntax::designation (  )  [virtual]

virtual CTree* Puma::CSyntax::designator (  )  [virtual]

CTree* Puma::CSyntax::rule_class_spec (  ) 

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::class_spec (  )  [virtual]

Reimplemented in Puma::CCSyntax.

CTree* Puma::CSyntax::rule_class_head (  ) 

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::class_head (  )  [virtual]

Reimplemented in Puma::CCSyntax.

CTree* Puma::CSyntax::rule_class_key (  ) 

virtual bool Puma::CSyntax::class_key (  )  [virtual]

virtual CTree* Puma::CSyntax::member_spec (  )  [virtual]

virtual CTree* Puma::CSyntax::member_decl (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual CTree* Puma::CSyntax::member_declarator_list (  )  [virtual]

virtual CTree* Puma::CSyntax::member_declarator (  )  [virtual]

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::is_fct_def (  )  [protected, virtual]

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::is_ass_expr (  )  [protected, virtual]

void Puma::CSyntax::handle_directive (  )  [inline, protected, virtual]

Handle a compiler directive token.

The default handling is to skip the compiler directive.

Reimplemented from Puma::Syntax.


Member Data Documentation




Puma Reference Manual. Created on 11 Jul 2008.