PUMA Library Reference Manual
Puma::CCSyntax Class Reference

#include <CCSyntax.h>

+ Inheritance diagram for Puma::CCSyntax:

Classes

struct  ArrayDelim
 
struct  AssExpr
 
struct  AssExpr1
 
struct  BlockDecl
 
struct  ClassHead
 
struct  ClassHead1
 
struct  ClassName
 
struct  ClassOrNsName
 
struct  ClassTemplateName
 
struct  ColonColon
 
struct  CondExpr
 
struct  Condition
 
struct  Condition1
 
struct  Condition2
 
struct  ConstExpr
 
struct  ConstructExpr
 
struct  ConvFctId
 
struct  ConvTypeId
 
struct  Decl
 
struct  DeclaratorId
 
struct  DeclSpecSeq1
 
struct  DeclStmt
 
struct  DeleteExpr
 
struct  DirectAbstDeclarator
 
struct  DirectDeclarator1
 
struct  DirectNewDeclarator
 
struct  DirectNewDeclarator1
 
struct  ElaboratedTypeSpec
 
struct  EnumeratorDef
 
struct  EnumeratorList
 
struct  EnumName
 
struct  ExtensionNsDef
 
struct  ExtensionNsDef1
 
struct  FctSpec
 
struct  IdExpr
 
struct  InitDeclarator
 
struct  LinkageSpec
 
struct  Literal
 
struct  MiscSpec
 
struct  MulExpr
 
struct  NamedNsDef
 
struct  NamespaceAlias
 
struct  NamespaceBody
 
struct  NamespaceDef
 
struct  NamespaceName
 
struct  NestedNameSpec
 
struct  NestedNameSpec1
 
struct  NewDeclarator
 
struct  NewExpr
 
struct  NewInit
 
struct  NewPlacement
 
struct  NewTypeId
 
struct  NsAliasDef
 
struct  OriginalNsDef
 
struct  OriginalNsDef1
 
struct  OriginalNsName
 
struct  ParamDeclClause
 
struct  PmExpr
 
struct  PostfixExpr
 
struct  PostfixExpr1
 
struct  PostfixExpr2
 
struct  PrimExpr
 
struct  PseudoDtorName
 
struct  PtrOperator
 
struct  QualId
 
struct  QualNsSpec
 
struct  RelExpr
 
struct  SearchScope
 
struct  SimpleDecl
 
struct  SimpleTypeSpec
 
struct  Stmt
 
struct  StmtSeq
 
struct  StorageClassSpec
 
struct  SubStmt
 
struct  TemplateName
 
struct  TypeName
 
struct  TypeTraitExpr
 
struct  UnaryExpr
 
struct  UnnamedNsDef
 
struct  UnnamedNsDef1
 
struct  UnqualId
 
struct  UsingDecl
 
struct  UsingDirective
 

Public Member Functions

 CCSyntax (CCBuilder &, CCSemantic &)
 
virtual Grammar grammar () const
 
virtual void configure (Config &)
 Configure the syntactic analysis object. More...
 
void config_skip_fct_body (bool s)
 
virtual bool class_name ()
 
virtual bool enum_name ()
 
virtual bool template_name ()
 
virtual bool class_template_name ()
 
virtual bool namespace_name ()
 
virtual bool original_ns_name ()
 
virtual bool namespace_alias ()
 
virtual bool literal ()
 
virtual bool prim_expr ()
 
virtual bool id_expr ()
 
virtual bool qual_id ()
 
virtual bool unqual_id ()
 
virtual bool colon_colon ()
 
virtual bool nested_name_spec ()
 
virtual bool nested_name_spec1 ()
 
virtual bool class_or_ns_name ()
 
virtual bool postfix_expr ()
 
virtual bool postfix_expr1 ()
 
virtual bool postfix_expr2 ()
 
virtual bool construct_expr ()
 
virtual bool pseudo_dtor_name ()
 
virtual bool unary_expr ()
 
virtual bool type_trait_expr ()
 
virtual bool new_expr ()
 
virtual bool new_placement ()
 
virtual bool new_type_id ()
 
virtual bool new_declarator ()
 
virtual bool direct_new_declarator ()
 
virtual bool direct_new_declarator1 ()
 
virtual bool new_init ()
 
virtual bool delete_expr ()
 
virtual bool pm_expr ()
 
virtual bool mul_expr ()
 
virtual bool rel_expr ()
 
virtual bool cond_expr ()
 
virtual bool ass_expr ()
 
virtual bool ass_expr1 ()
 
virtual bool const_expr ()
 
virtual bool stmt ()
 
virtual bool stmt_seq ()
 
virtual bool sub_stmt ()
 
virtual bool condition ()
 
virtual bool condition1 ()
 
virtual bool condition2 ()
 
virtual bool decl_stmt ()
 
virtual bool decl ()
 
virtual bool decl_check ()
 
virtual bool block_decl ()
 
virtual bool simple_decl ()
 
virtual bool decl_spec_seq1 ()
 
virtual bool misc_spec ()
 
virtual bool storage_class_spec ()
 
virtual bool fct_spec ()
 
virtual bool simple_type_spec ()
 
virtual bool type_name ()
 
virtual bool elaborated_type_spec ()
 
virtual bool enumerator_list ()
 
virtual bool enumerator_def ()
 
virtual bool linkage_spec ()
 
virtual bool namespace_def ()
 
virtual bool named_ns_def ()
 
virtual bool original_ns_def ()
 
virtual bool original_ns_def1 ()
 
virtual bool extension_ns_def ()
 
virtual bool extension_ns_def1 ()
 
virtual bool unnamed_ns_def ()
 
virtual bool unnamed_ns_def1 ()
 
virtual bool namespace_body ()
 
virtual bool ns_alias_def ()
 
virtual bool qual_ns_spec ()
 
virtual bool using_decl ()
 
virtual bool using_directive ()
 
virtual bool init_declarator ()
 
virtual bool direct_declarator1 ()
 
virtual bool array_delim ()
 
virtual bool ptr_operator ()
 
virtual bool declarator_id ()
 
virtual bool direct_abst_declarator ()
 
virtual bool param_decl_clause ()
 
CTreerule_param_decl ()
 
virtual bool param_decl ()
 
CTreerule_param_init ()
 
virtual bool param_init ()
 
CTreerule_fct_def ()
 
virtual bool fct_def ()
 
CTreerule_skipped_fct_body ()
 
virtual bool skipped_fct_body ()
 
CTreerule_fct_body ()
 
virtual bool fct_body ()
 
CTreerule_init ()
 
virtual bool init ()
 
CTreerule_init_clause ()
 
virtual bool init_clause ()
 
CTreerule_class_spec ()
 
virtual bool class_spec ()
 
virtual bool class_head ()
 
virtual bool class_head1 ()
 
CTreerule_member_decl ()
 
virtual bool member_decl ()
 
CTreerule_member_decl1 ()
 
virtual bool member_decl1 ()
 
CTreerule_access_decl ()
 
virtual bool access_decl ()
 
CTreerule_member_declarator ()
 
virtual bool member_declarator ()
 
CTreerule_pure_spec ()
 
virtual bool pure_spec ()
 
CTreerule_const_init ()
 
virtual bool const_init ()
 
CTreerule_base_clause ()
 
virtual bool base_clause ()
 
CTreerule_base_spec_list ()
 
virtual bool base_spec_list ()
 
CTreerule_base_spec ()
 
virtual bool base_spec ()
 
CTreerule_access_spec ()
 
virtual bool access_spec ()
 
virtual bool conv_fct_id ()
 
virtual bool conv_type_id ()
 
CTreerule_conv_declarator ()
 
virtual bool conv_declarator ()
 
CTreerule_ctor_init ()
 
virtual bool ctor_init ()
 
CTreerule_mem_init_list ()
 
virtual bool mem_init_list ()
 
CTreerule_mem_init ()
 
virtual bool mem_init ()
 
CTreerule_mem_init_id ()
 
virtual bool mem_init_id ()
 
CTreerule_oper_fct_id ()
 
virtual bool oper_fct_id ()
 
CTreerule_template_key ()
 
virtual bool template_key ()
 
CTreerule_template_decl ()
 
virtual bool template_decl ()
 
CTreerule_member_template_decl ()
 
virtual bool member_template_decl ()
 
CTreerule_template_param_list ()
 
virtual bool template_param_list ()
 
CTreerule_template_param ()
 
virtual bool template_param ()
 
CTreerule_type_param ()
 
virtual bool type_param ()
 
CTreerule_non_type_param ()
 
virtual bool non_type_param ()
 
CTreerule_template_id ()
 
virtual bool template_id ()
 
CTreerule_class_template_id ()
 
virtual bool class_template_id ()
 
CTreerule_template_arg_list ()
 
virtual bool template_arg_list ()
 
CTreerule_template_arg ()
 
virtual bool template_arg ()
 
CTreerule_template_type_arg ()
 
virtual bool template_type_arg ()
 
CTreerule_template_non_type_arg ()
 
virtual bool template_non_type_arg ()
 
CTreerule_template_template_arg ()
 
virtual bool template_template_arg ()
 
CTreerule_explicit_instantiation ()
 
virtual bool explicit_instantiation ()
 
CTreerule_explicit_specialization ()
 
virtual bool explicit_specialization ()
 
CTreerule_try_block ()
 
virtual bool try_block ()
 
CTreerule_fct_try_block ()
 
virtual bool fct_try_block ()
 
CTreerule_handler_seq ()
 
virtual bool handler_seq ()
 
CTreerule_handler ()
 
virtual bool handler ()
 
CTreerule_exception_decl ()
 
virtual bool exception_decl ()
 
CTreerule_throw_expr ()
 
virtual bool throw_expr ()
 
CTreerule_exception_spec ()
 
virtual bool exception_spec ()
 
CTreerule_type_id_list ()
 
virtual bool type_id_list ()
 
- Public Member Functions inherited from Puma::CSyntax
 CSyntax (CBuilder &, CSemantic &)
 
virtual bool typedef_name ()
 
virtual bool private_name ()
 
virtual bool identifier ()
 
virtual bool cmpd_str ()
 
virtual bool str_literal ()
 
virtual bool trans_unit ()
 Top parse rule to be reimplemented for a specific grammar. More...
 
virtual bool cmpd_literal ()
 
virtual bool expr_list ()
 
virtual bool unary_expr1 ()
 
virtual bool cast_expr ()
 
virtual bool cast_expr1 ()
 
virtual bool cast_expr2 ()
 
virtual bool offsetof_expr ()
 
virtual bool memb_designator ()
 
virtual bool add_expr ()
 
virtual bool shift_expr ()
 
virtual bool equ_expr ()
 
virtual bool and_expr ()
 
virtual bool excl_or_expr ()
 
virtual bool incl_or_expr ()
 
virtual bool log_and_expr ()
 
virtual bool log_or_expr ()
 
virtual bool expr ()
 
virtual bool label_stmt ()
 
virtual bool expr_stmt ()
 
virtual bool cmpd_stmt ()
 
virtual bool select_stmt ()
 
virtual bool iter_stmt ()
 
virtual bool for_init_stmt ()
 
virtual bool jump_stmt ()
 
virtual bool decl_seq ()
 
virtual bool decl_spec ()
 
virtual bool decl_spec_seq ()
 
virtual bool type_spec ()
 
virtual bool enum_key ()
 
virtual bool enum_spec ()
 
virtual bool enum_spec1 ()
 
virtual bool enumerator ()
 
virtual bool asm_def ()
 
virtual bool init_declarator_list ()
 
virtual bool init_declarator1 ()
 
virtual bool declarator ()
 
virtual bool direct_declarator ()
 
virtual bool identifier_list ()
 
virtual bool cv_qual_seq ()
 
virtual bool cv_qual ()
 
virtual bool type_id ()
 
virtual bool type_spec_seq ()
 
virtual bool type_spec_seq1 ()
 
virtual bool abst_declarator ()
 
virtual bool direct_abst_declarator1 ()
 
virtual bool param_decl_list ()
 
CTreerule_param_decl ()
 
virtual bool param_decl1 ()
 
CTreerule_fct_def ()
 
CTreerule_arg_decl_seq ()
 
virtual bool arg_decl_seq ()
 
CTreerule_fct_body ()
 
CTreerule_init ()
 
CTreerule_init_clause ()
 
CTreerule_init_list ()
 
virtual bool init_list ()
 
CTreerule_init_list_item ()
 
virtual bool init_list_item ()
 
CTreerule_designation ()
 
virtual bool designation ()
 
CTreerule_designator ()
 
virtual bool designator ()
 
CTreerule_class_spec ()
 
virtual bool class_key ()
 
CTreerule_member_spec ()
 
virtual bool member_spec ()
 
CTreerule_member_decl ()
 
CTreerule_member_declarator_list ()
 
virtual bool member_declarator_list ()
 
CTreerule_member_declarator ()
 
- Public Member Functions inherited from Puma::Syntax
pointcut parse_fct ()
 Interface for aspects that affect the syntax and parsing process. More...
 
pointcut check_fct ()
 
pointcut in_syntax ()
 
pointcut rule_exec ()
 
pointcut rule_call ()
 
pointcut rule_check ()
 
CTreerun (TokenProvider &tp)
 Start the parse process. More...
 
template<class T >
CTreerun (TokenProvider &tp, bool(T::*rule)())
 Start the parse process at a specific grammar rule. More...
 
TokenProviderprovider () const
 Get the token provider from which the parsed tokens are read. More...
 
Tokenproblem () const
 Get the last token that could not be parsed. More...
 
bool error () const
 Check if errors occured during the parse process. More...
 
bool look_ahead (int token_type, unsigned n=1)
 Look-ahead n core language tokens and check if the n-th token has the given type. More...
 
bool look_ahead (int *token_types, unsigned n=1)
 Look-ahead n core language tokens and check if the n-th token has one of the given types. More...
 
int look_ahead (unsigned n=1)
 Look-ahead one core language token. More...
 
bool consume ()
 Consume all tokens until the next core language token. More...
 
bool predict_1 (const tokenset &ts)
 
template<class T >
bool parse (CTree *(T::*rule)())
 Parse the given grammar rule. More...
 
template<class T >
bool seq (CTree *(T::*rule)())
 Parse a sequence of the given grammar rule. More...
 
template<class T >
bool seq (bool(T::*rule)())
 Parse a sequence of the given grammar rule. More...
 
template<class T >
bool list (CTree *(T::*rule)(), int separator, bool trailing_separator=false)
 Parse a sequence of rule-separator pairs. More...
 
template<class T >
bool list (CTree *(T::*rule)(), int *separators, bool trailing_separator=false)
 Parse a sequence of rule-separator pairs. More...
 
template<class T >
bool list (bool(T::*rule)(), int separator, bool trailing_separator=false)
 Parse a sequence of rule-separator pairs. More...
 
template<class T >
bool list (bool(T::*rule)(), int *separators, bool trailing_separator=false)
 Parse a sequence of rule-separator pairs. More...
 
template<class T >
bool catch_error (bool(T::*rule)(), const char *msg, int *finish_tokens, int *skip_tokens)
 Parse a grammar rule automatically catching parse errors. More...
 
bool parse (int token_type)
 Parse a token with the given type. More...
 
bool parse (int *token_types)
 Parse a token with one of the given types. More...
 
bool parse_token (int token_type)
 Parse a token with the given type. More...
 
bool opt (bool dummy) const
 Optional rule parsing. More...
 
Builderbuilder () const
 Get the syntax tree builder. More...
 
Semanticsemantic () const
 Get the semantic analysis object. More...
 
State save_state ()
 Save the current parser state. More...
 
void forget_state ()
 Forget the saved parser state. More...
 
void restore_state ()
 Restore the saved parser state. More...
 
void restore_state (State state)
 Restore the saved parser state to the given state. More...
 
void set_state (State state)
 Overwrite the parser state with the given state. More...
 
bool accept (CTree *tree, State state)
 Accept the given syntax tree node. More...
 
CTreeaccept (CTree *tree)
 Accept the given syntax tree node. More...
 
Tokenlocate_token ()
 Skip all non-core language tokens until the next core-language token is read. More...
 
void skip ()
 Skip the current token. More...
 
void skip_block (int start, int end, bool inclusive=true)
 Skip all tokens between start and end, including start and end token. More...
 
void skip_curly_block ()
 Skip all tokens between '{' and '}', including '{' and '}'. More...
 
void skip_round_block ()
 Skip all tokens between '(' and ')', including '(' and ')'. More...
 
bool parse_block (int start, int end)
 Parse all tokens between start and end, including start and end token. More...
 
bool parse_curly_block ()
 Parse all tokens between '{' and '}', including '{' and '}'. More...
 
bool parse_round_block ()
 Parse all tokens between '(' and ')', including '(' and ')'. More...
 
bool skip (int stop_token, bool inclusive=true)
 Skip all tokens until a token with the given type is read. More...
 
bool skip (int *stop_tokens, bool inclusive=true)
 Skip all tokens until a token with one of the given types is read. More...
 
bool is_in (int token_type, int *token_types) const
 Check if the given token type is in the set of given token types. More...
 

Protected Member Functions

CCBuilderbuilder () const
 
CCSemanticsemantic () const
 
virtual bool is_fct_def ()
 
virtual bool is_nested_name ()
 
virtual bool is_class_def ()
 
virtual bool is_tpl_id ()
 
virtual bool is_tpl_declarator_id ()
 
virtual bool is_ptr_to_fct ()
 
virtual bool is_nested (State)
 
virtual bool is_ass_expr ()
 
virtual void init_prim_types ()
 
virtual void init_cv_quals ()
 
virtual void init_explicit_instantiation ()
 
virtual void init_explicit_specialization ()
 
virtual void init_access_spec ()
 
virtual void init_oper_fct_id ()
 
virtual void init_template_key ()
 
virtual void init_template_id ()
 
virtual void init_class_template_id ()
 
void skip_param_init ()
 
void skip_ctor_init ()
 
void skip_fct_body ()
 
void skip_fct_try_block ()
 
void skip_const_expr ()
 
void skip_const_init ()
 
void get_search_scope (SearchScope &)
 
void set_search_scope (SearchScope &)
 
- Protected Member Functions inherited from Puma::CSyntax
bool is_prim_type ()
 
bool is_cv_qual ()
 
virtual void init_class_spec ()
 
virtual void handle_directive ()
 Handle a compiler directive token. More...
 
- Protected Member Functions inherited from Puma::Syntax
 Syntax (Builder &b, Semantic &s)
 Constructor. More...
 
virtual ~Syntax ()
 Destructor. More...
 

Friends

class CCSemantic
 

Additional Inherited Members

- Public Types inherited from Puma::CSyntax
enum  Grammar {
  GRAMMAR_C,
  GRAMMAR_CPLUSPLUS
}
 
- Public Types inherited from Puma::Syntax
typedef std::bitset< TOK_NOtokenset
 
- Static Public Member Functions inherited from Puma::Syntax
template<typename SYNTAX , typename RULE >
static bool seq (SYNTAX &s)
 Parse a sequence of the given grammar rule by calling RULE::check() in a loop. More...
 
template<typename SYNTAX , typename RULE >
static bool list (SYNTAX &s, int sep, bool trailing_sep=false)
 Parse a sequence of rule-separator pairs by calling RULE::check() in a loop. More...
 
template<typename SYNTAX , typename RULE >
static bool list (SYNTAX &s, int *separators, bool trailing_sep=false)
 Parse a sequence of rule-separator pairs by calling RULE::check() in a loop. More...
 
template<class SYNTAX , class RULE >
static bool catch_error (SYNTAX &s, const char *msg, int *finish_tokens, int *skip_tokens)
 Parse a grammar rule automatically catching parse errors. More...
 
template<class RULE1 , class RULE2 , class SYNTAX >
static bool ambiguous (SYNTAX &s)
 First parse rule1 and if that rule fails discard all errors and parse the rule2. More...
 
- Public Attributes inherited from Puma::Syntax
TokenProvidertoken_provider
 Token provider for getting the tokens to parse. More...
 
- Protected Attributes inherited from Puma::CSyntax
tokenset _prim_types
 
tokenset _cv_quals
 
tokenset _class_spec_1
 
Tokenlast_look_ahead_token
 
bool last_look_ahead_result
 

Constructor & Destructor Documentation

◆ CCSyntax()

Puma::CCSyntax::CCSyntax ( CCBuilder ,
CCSemantic  
)

Member Function Documentation

◆ access_decl()

virtual bool Puma::CCSyntax::access_decl ( )
virtual

◆ access_spec()

virtual bool Puma::CCSyntax::access_spec ( )
virtual

◆ array_delim()

virtual bool Puma::CCSyntax::array_delim ( )
virtual

Reimplemented from Puma::CSyntax.

◆ ass_expr()

virtual bool Puma::CCSyntax::ass_expr ( )
virtual

Reimplemented from Puma::CSyntax.

◆ ass_expr1()

virtual bool Puma::CCSyntax::ass_expr1 ( )
virtual

Reimplemented from Puma::CSyntax.

◆ base_clause()

virtual bool Puma::CCSyntax::base_clause ( )
virtual

◆ base_spec()

virtual bool Puma::CCSyntax::base_spec ( )
virtual

◆ base_spec_list()

virtual bool Puma::CCSyntax::base_spec_list ( )
virtual

◆ block_decl()

virtual bool Puma::CCSyntax::block_decl ( )
virtual

Reimplemented from Puma::CSyntax.

◆ builder()

CCBuilder& Puma::CCSyntax::builder ( ) const
protected

◆ class_head()

virtual bool Puma::CCSyntax::class_head ( )
virtual

Reimplemented from Puma::CSyntax.

◆ class_head1()

virtual bool Puma::CCSyntax::class_head1 ( )
virtual

◆ class_name()

virtual bool Puma::CCSyntax::class_name ( )
virtual

Reimplemented in Puma::InstantiationSyntax.

◆ class_or_ns_name()

virtual bool Puma::CCSyntax::class_or_ns_name ( )
virtual

◆ class_spec()

virtual bool Puma::CCSyntax::class_spec ( )
virtual

Reimplemented from Puma::CSyntax.

◆ class_template_id()

virtual bool Puma::CCSyntax::class_template_id ( )
virtual

Reimplemented in Puma::InstantiationSyntax.

◆ class_template_name()

virtual bool Puma::CCSyntax::class_template_name ( )
virtual

Reimplemented in Puma::InstantiationSyntax.

◆ colon_colon()

virtual bool Puma::CCSyntax::colon_colon ( )
virtual

◆ cond_expr()

virtual bool Puma::CCSyntax::cond_expr ( )
virtual

Reimplemented from Puma::CSyntax.

◆ condition()

virtual bool Puma::CCSyntax::condition ( )
virtual

Reimplemented from Puma::CSyntax.

◆ condition1()

virtual bool Puma::CCSyntax::condition1 ( )
virtual

◆ condition2()

virtual bool Puma::CCSyntax::condition2 ( )
virtual

◆ config_skip_fct_body()

void Puma::CCSyntax::config_skip_fct_body ( bool  s)
inline

◆ configure()

virtual void Puma::CCSyntax::configure ( Config c)
virtual

Configure the syntactic analysis object.

Parameters
cThe configuration object.

Reimplemented from Puma::CSyntax.

Reimplemented in Puma::InstantiationSyntax.

◆ const_expr()

virtual bool Puma::CCSyntax::const_expr ( )
virtual

Reimplemented from Puma::CSyntax.

◆ const_init()

virtual bool Puma::CCSyntax::const_init ( )
virtual

◆ construct_expr()

virtual bool Puma::CCSyntax::construct_expr ( )
virtual

◆ conv_declarator()

virtual bool Puma::CCSyntax::conv_declarator ( )
virtual

◆ conv_fct_id()

virtual bool Puma::CCSyntax::conv_fct_id ( )
virtual

◆ conv_type_id()

virtual bool Puma::CCSyntax::conv_type_id ( )
virtual

◆ ctor_init()

virtual bool Puma::CCSyntax::ctor_init ( )
virtual

◆ decl()

virtual bool Puma::CCSyntax::decl ( )
virtual

Reimplemented from Puma::CSyntax.

◆ decl_check()

virtual bool Puma::CCSyntax::decl_check ( )
virtual

Reimplemented from Puma::CSyntax.

◆ decl_spec_seq1()

virtual bool Puma::CCSyntax::decl_spec_seq1 ( )
virtual

Reimplemented from Puma::CSyntax.

◆ decl_stmt()

virtual bool Puma::CCSyntax::decl_stmt ( )
virtual

◆ declarator_id()

virtual bool Puma::CCSyntax::declarator_id ( )
virtual

Reimplemented from Puma::CSyntax.

◆ delete_expr()

virtual bool Puma::CCSyntax::delete_expr ( )
virtual

◆ direct_abst_declarator()

virtual bool Puma::CCSyntax::direct_abst_declarator ( )
virtual

Reimplemented from Puma::CSyntax.

◆ direct_declarator1()

virtual bool Puma::CCSyntax::direct_declarator1 ( )
virtual

Reimplemented from Puma::CSyntax.

◆ direct_new_declarator()

virtual bool Puma::CCSyntax::direct_new_declarator ( )
virtual

◆ direct_new_declarator1()

virtual bool Puma::CCSyntax::direct_new_declarator1 ( )
virtual

◆ elaborated_type_spec()

virtual bool Puma::CCSyntax::elaborated_type_spec ( )
virtual

Reimplemented from Puma::CSyntax.

◆ enum_name()

virtual bool Puma::CCSyntax::enum_name ( )
virtual

Reimplemented in Puma::InstantiationSyntax.

◆ enumerator_def()

virtual bool Puma::CCSyntax::enumerator_def ( )
virtual

Reimplemented from Puma::CSyntax.

◆ enumerator_list()

virtual bool Puma::CCSyntax::enumerator_list ( )
virtual

Reimplemented from Puma::CSyntax.

◆ exception_decl()

virtual bool Puma::CCSyntax::exception_decl ( )
virtual

◆ exception_spec()

virtual bool Puma::CCSyntax::exception_spec ( )
virtual

◆ explicit_instantiation()

virtual bool Puma::CCSyntax::explicit_instantiation ( )
virtual

◆ explicit_specialization()

virtual bool Puma::CCSyntax::explicit_specialization ( )
virtual

◆ extension_ns_def()

virtual bool Puma::CCSyntax::extension_ns_def ( )
virtual

◆ extension_ns_def1()

virtual bool Puma::CCSyntax::extension_ns_def1 ( )
virtual

◆ fct_body()

virtual bool Puma::CCSyntax::fct_body ( )
virtual

Reimplemented from Puma::CSyntax.

◆ fct_def()

virtual bool Puma::CCSyntax::fct_def ( )
virtual

Reimplemented from Puma::CSyntax.

◆ fct_spec()

virtual bool Puma::CCSyntax::fct_spec ( )
virtual

Reimplemented from Puma::CSyntax.

◆ fct_try_block()

virtual bool Puma::CCSyntax::fct_try_block ( )
virtual

◆ get_search_scope()

void Puma::CCSyntax::get_search_scope ( SearchScope )
protected

◆ grammar()

virtual Grammar Puma::CCSyntax::grammar ( ) const
inlinevirtual

Reimplemented from Puma::CSyntax.

◆ handler()

virtual bool Puma::CCSyntax::handler ( )
virtual

◆ handler_seq()

virtual bool Puma::CCSyntax::handler_seq ( )
virtual

◆ id_expr()

virtual bool Puma::CCSyntax::id_expr ( )
virtual

Reimplemented from Puma::CSyntax.

◆ init()

virtual bool Puma::CCSyntax::init ( )
virtual

Reimplemented from Puma::CSyntax.

◆ init_access_spec()

virtual void Puma::CCSyntax::init_access_spec ( )
protectedvirtual

◆ init_class_template_id()

virtual void Puma::CCSyntax::init_class_template_id ( )
protectedvirtual

◆ init_clause()

virtual bool Puma::CCSyntax::init_clause ( )
virtual

Reimplemented from Puma::CSyntax.

◆ init_cv_quals()

virtual void Puma::CCSyntax::init_cv_quals ( )
protectedvirtual

Reimplemented from Puma::CSyntax.

◆ init_declarator()

virtual bool Puma::CCSyntax::init_declarator ( )
virtual

Reimplemented from Puma::CSyntax.

◆ init_explicit_instantiation()

virtual void Puma::CCSyntax::init_explicit_instantiation ( )
protectedvirtual

◆ init_explicit_specialization()

virtual void Puma::CCSyntax::init_explicit_specialization ( )
protectedvirtual

◆ init_oper_fct_id()

virtual void Puma::CCSyntax::init_oper_fct_id ( )
protectedvirtual

◆ init_prim_types()

virtual void Puma::CCSyntax::init_prim_types ( )
protectedvirtual

Reimplemented from Puma::CSyntax.

◆ init_template_id()

virtual void Puma::CCSyntax::init_template_id ( )
protectedvirtual

◆ init_template_key()

virtual void Puma::CCSyntax::init_template_key ( )
protectedvirtual

◆ is_ass_expr()

virtual bool Puma::CCSyntax::is_ass_expr ( )
protectedvirtual

Reimplemented from Puma::CSyntax.

◆ is_class_def()

virtual bool Puma::CCSyntax::is_class_def ( )
protectedvirtual

◆ is_fct_def()

virtual bool Puma::CCSyntax::is_fct_def ( )
protectedvirtual

Reimplemented from Puma::CSyntax.

◆ is_nested()

virtual bool Puma::CCSyntax::is_nested ( State  )
protectedvirtual

◆ is_nested_name()

virtual bool Puma::CCSyntax::is_nested_name ( )
protectedvirtual

◆ is_ptr_to_fct()

virtual bool Puma::CCSyntax::is_ptr_to_fct ( )
protectedvirtual

◆ is_tpl_declarator_id()

virtual bool Puma::CCSyntax::is_tpl_declarator_id ( )
protectedvirtual

◆ is_tpl_id()

virtual bool Puma::CCSyntax::is_tpl_id ( )
protectedvirtual

◆ linkage_spec()

virtual bool Puma::CCSyntax::linkage_spec ( )
virtual

◆ literal()

virtual bool Puma::CCSyntax::literal ( )
virtual

Reimplemented from Puma::CSyntax.

◆ mem_init()

virtual bool Puma::CCSyntax::mem_init ( )
virtual

◆ mem_init_id()

virtual bool Puma::CCSyntax::mem_init_id ( )
virtual

◆ mem_init_list()

virtual bool Puma::CCSyntax::mem_init_list ( )
virtual

◆ member_decl()

virtual bool Puma::CCSyntax::member_decl ( )
virtual

Reimplemented from Puma::CSyntax.

◆ member_decl1()

virtual bool Puma::CCSyntax::member_decl1 ( )
virtual

◆ member_declarator()

virtual bool Puma::CCSyntax::member_declarator ( )
virtual

Reimplemented from Puma::CSyntax.

◆ member_template_decl()

virtual bool Puma::CCSyntax::member_template_decl ( )
virtual

◆ misc_spec()

virtual bool Puma::CCSyntax::misc_spec ( )
virtual

Reimplemented from Puma::CSyntax.

◆ mul_expr()

virtual bool Puma::CCSyntax::mul_expr ( )
virtual

Reimplemented from Puma::CSyntax.

◆ named_ns_def()

virtual bool Puma::CCSyntax::named_ns_def ( )
virtual

◆ namespace_alias()

virtual bool Puma::CCSyntax::namespace_alias ( )
virtual

◆ namespace_body()

virtual bool Puma::CCSyntax::namespace_body ( )
virtual

◆ namespace_def()

virtual bool Puma::CCSyntax::namespace_def ( )
virtual

◆ namespace_name()

virtual bool Puma::CCSyntax::namespace_name ( )
virtual

Reimplemented in Puma::InstantiationSyntax.

◆ nested_name_spec()

virtual bool Puma::CCSyntax::nested_name_spec ( )
virtual

◆ nested_name_spec1()

virtual bool Puma::CCSyntax::nested_name_spec1 ( )
virtual

◆ new_declarator()

virtual bool Puma::CCSyntax::new_declarator ( )
virtual

◆ new_expr()

virtual bool Puma::CCSyntax::new_expr ( )
virtual

◆ new_init()

virtual bool Puma::CCSyntax::new_init ( )
virtual

◆ new_placement()

virtual bool Puma::CCSyntax::new_placement ( )
virtual

◆ new_type_id()

virtual bool Puma::CCSyntax::new_type_id ( )
virtual

◆ non_type_param()

virtual bool Puma::CCSyntax::non_type_param ( )
virtual

◆ ns_alias_def()

virtual bool Puma::CCSyntax::ns_alias_def ( )
virtual

◆ oper_fct_id()

virtual bool Puma::CCSyntax::oper_fct_id ( )
virtual

◆ original_ns_def()

virtual bool Puma::CCSyntax::original_ns_def ( )
virtual

◆ original_ns_def1()

virtual bool Puma::CCSyntax::original_ns_def1 ( )
virtual

◆ original_ns_name()

virtual bool Puma::CCSyntax::original_ns_name ( )
virtual

◆ param_decl()

virtual bool Puma::CCSyntax::param_decl ( )
virtual

Reimplemented from Puma::CSyntax.

◆ param_decl_clause()

virtual bool Puma::CCSyntax::param_decl_clause ( )
virtual

Reimplemented from Puma::CSyntax.

◆ param_init()

virtual bool Puma::CCSyntax::param_init ( )
virtual

◆ pm_expr()

virtual bool Puma::CCSyntax::pm_expr ( )
virtual

◆ postfix_expr()

virtual bool Puma::CCSyntax::postfix_expr ( )
virtual

Reimplemented from Puma::CSyntax.

◆ postfix_expr1()

virtual bool Puma::CCSyntax::postfix_expr1 ( )
virtual

Reimplemented from Puma::CSyntax.

◆ postfix_expr2()

virtual bool Puma::CCSyntax::postfix_expr2 ( )
virtual

◆ prim_expr()

virtual bool Puma::CCSyntax::prim_expr ( )
virtual

Reimplemented from Puma::CSyntax.

◆ pseudo_dtor_name()

virtual bool Puma::CCSyntax::pseudo_dtor_name ( )
virtual

◆ ptr_operator()

virtual bool Puma::CCSyntax::ptr_operator ( )
virtual

Reimplemented from Puma::CSyntax.

◆ pure_spec()

virtual bool Puma::CCSyntax::pure_spec ( )
virtual

◆ qual_id()

virtual bool Puma::CCSyntax::qual_id ( )
virtual

◆ qual_ns_spec()

virtual bool Puma::CCSyntax::qual_ns_spec ( )
virtual

◆ rel_expr()

virtual bool Puma::CCSyntax::rel_expr ( )
virtual

Reimplemented from Puma::CSyntax.

◆ rule_access_decl()

CTree* Puma::CCSyntax::rule_access_decl ( )

◆ rule_access_spec()

CTree* Puma::CCSyntax::rule_access_spec ( )

◆ rule_base_clause()

CTree* Puma::CCSyntax::rule_base_clause ( )

◆ rule_base_spec()

CTree* Puma::CCSyntax::rule_base_spec ( )

◆ rule_base_spec_list()

CTree* Puma::CCSyntax::rule_base_spec_list ( )

◆ rule_class_spec()

CTree* Puma::CCSyntax::rule_class_spec ( )

◆ rule_class_template_id()

CTree* Puma::CCSyntax::rule_class_template_id ( )

◆ rule_const_init()

CTree* Puma::CCSyntax::rule_const_init ( )

◆ rule_conv_declarator()

CTree* Puma::CCSyntax::rule_conv_declarator ( )

◆ rule_ctor_init()

CTree* Puma::CCSyntax::rule_ctor_init ( )

◆ rule_exception_decl()

CTree* Puma::CCSyntax::rule_exception_decl ( )

◆ rule_exception_spec()

CTree* Puma::CCSyntax::rule_exception_spec ( )

◆ rule_explicit_instantiation()

CTree* Puma::CCSyntax::rule_explicit_instantiation ( )

◆ rule_explicit_specialization()

CTree* Puma::CCSyntax::rule_explicit_specialization ( )

◆ rule_fct_body()

CTree* Puma::CCSyntax::rule_fct_body ( )

◆ rule_fct_def()

CTree* Puma::CCSyntax::rule_fct_def ( )

◆ rule_fct_try_block()

CTree* Puma::CCSyntax::rule_fct_try_block ( )

◆ rule_handler()

CTree* Puma::CCSyntax::rule_handler ( )

◆ rule_handler_seq()

CTree* Puma::CCSyntax::rule_handler_seq ( )

◆ rule_init()

CTree* Puma::CCSyntax::rule_init ( )

◆ rule_init_clause()

CTree* Puma::CCSyntax::rule_init_clause ( )

◆ rule_mem_init()

CTree* Puma::CCSyntax::rule_mem_init ( )

◆ rule_mem_init_id()

CTree* Puma::CCSyntax::rule_mem_init_id ( )

◆ rule_mem_init_list()

CTree* Puma::CCSyntax::rule_mem_init_list ( )

◆ rule_member_decl()

CTree* Puma::CCSyntax::rule_member_decl ( )

◆ rule_member_decl1()

CTree* Puma::CCSyntax::rule_member_decl1 ( )

◆ rule_member_declarator()

CTree* Puma::CCSyntax::rule_member_declarator ( )

◆ rule_member_template_decl()

CTree* Puma::CCSyntax::rule_member_template_decl ( )

◆ rule_non_type_param()

CTree* Puma::CCSyntax::rule_non_type_param ( )

◆ rule_oper_fct_id()

CTree* Puma::CCSyntax::rule_oper_fct_id ( )

◆ rule_param_decl()

CTree* Puma::CCSyntax::rule_param_decl ( )

◆ rule_param_init()

CTree* Puma::CCSyntax::rule_param_init ( )

◆ rule_pure_spec()

CTree* Puma::CCSyntax::rule_pure_spec ( )

◆ rule_skipped_fct_body()

CTree* Puma::CCSyntax::rule_skipped_fct_body ( )

◆ rule_template_arg()

CTree* Puma::CCSyntax::rule_template_arg ( )

◆ rule_template_arg_list()

CTree* Puma::CCSyntax::rule_template_arg_list ( )

◆ rule_template_decl()

CTree* Puma::CCSyntax::rule_template_decl ( )

◆ rule_template_id()

CTree* Puma::CCSyntax::rule_template_id ( )

◆ rule_template_key()

CTree* Puma::CCSyntax::rule_template_key ( )

◆ rule_template_non_type_arg()

CTree* Puma::CCSyntax::rule_template_non_type_arg ( )

◆ rule_template_param()

CTree* Puma::CCSyntax::rule_template_param ( )

◆ rule_template_param_list()

CTree* Puma::CCSyntax::rule_template_param_list ( )

◆ rule_template_template_arg()

CTree* Puma::CCSyntax::rule_template_template_arg ( )

◆ rule_template_type_arg()

CTree* Puma::CCSyntax::rule_template_type_arg ( )

◆ rule_throw_expr()

CTree* Puma::CCSyntax::rule_throw_expr ( )

◆ rule_try_block()

CTree* Puma::CCSyntax::rule_try_block ( )

◆ rule_type_id_list()

CTree* Puma::CCSyntax::rule_type_id_list ( )

◆ rule_type_param()

CTree* Puma::CCSyntax::rule_type_param ( )

◆ semantic()

CCSemantic& Puma::CCSyntax::semantic ( ) const
protected

◆ set_search_scope()

void Puma::CCSyntax::set_search_scope ( SearchScope )
protected

◆ simple_decl()

virtual bool Puma::CCSyntax::simple_decl ( )
virtual

Reimplemented from Puma::CSyntax.

◆ simple_type_spec()

virtual bool Puma::CCSyntax::simple_type_spec ( )
virtual

Reimplemented from Puma::CSyntax.

◆ skip_const_expr()

void Puma::CCSyntax::skip_const_expr ( )
protected

◆ skip_const_init()

void Puma::CCSyntax::skip_const_init ( )
protected

◆ skip_ctor_init()

void Puma::CCSyntax::skip_ctor_init ( )
protected

◆ skip_fct_body()

void Puma::CCSyntax::skip_fct_body ( )
protected

◆ skip_fct_try_block()

void Puma::CCSyntax::skip_fct_try_block ( )
protected

◆ skip_param_init()

void Puma::CCSyntax::skip_param_init ( )
protected

◆ skipped_fct_body()

virtual bool Puma::CCSyntax::skipped_fct_body ( )
virtual

◆ stmt()

virtual bool Puma::CCSyntax::stmt ( )
virtual

Reimplemented from Puma::CSyntax.

◆ stmt_seq()

virtual bool Puma::CCSyntax::stmt_seq ( )
virtual

Reimplemented from Puma::CSyntax.

◆ storage_class_spec()

virtual bool Puma::CCSyntax::storage_class_spec ( )
virtual

Reimplemented from Puma::CSyntax.

◆ sub_stmt()

virtual bool Puma::CCSyntax::sub_stmt ( )
virtual

Reimplemented from Puma::CSyntax.

◆ template_arg()

virtual bool Puma::CCSyntax::template_arg ( )
virtual

◆ template_arg_list()

virtual bool Puma::CCSyntax::template_arg_list ( )
virtual

◆ template_decl()

virtual bool Puma::CCSyntax::template_decl ( )
virtual

◆ template_id()

virtual bool Puma::CCSyntax::template_id ( )
virtual

Reimplemented in Puma::InstantiationSyntax.

◆ template_key()

virtual bool Puma::CCSyntax::template_key ( )
virtual

◆ template_name()

virtual bool Puma::CCSyntax::template_name ( )
virtual

Reimplemented in Puma::InstantiationSyntax.

◆ template_non_type_arg()

virtual bool Puma::CCSyntax::template_non_type_arg ( )
virtual

◆ template_param()

virtual bool Puma::CCSyntax::template_param ( )
virtual

◆ template_param_list()

virtual bool Puma::CCSyntax::template_param_list ( )
virtual

◆ template_template_arg()

virtual bool Puma::CCSyntax::template_template_arg ( )
virtual

◆ template_type_arg()

virtual bool Puma::CCSyntax::template_type_arg ( )
virtual

◆ throw_expr()

virtual bool Puma::CCSyntax::throw_expr ( )
virtual

◆ try_block()

virtual bool Puma::CCSyntax::try_block ( )
virtual

◆ type_id_list()

virtual bool Puma::CCSyntax::type_id_list ( )
virtual

◆ type_name()

virtual bool Puma::CCSyntax::type_name ( )
virtual

Reimplemented from Puma::CSyntax.

◆ type_param()

virtual bool Puma::CCSyntax::type_param ( )
virtual

◆ type_trait_expr()

virtual bool Puma::CCSyntax::type_trait_expr ( )
virtual

◆ unary_expr()

virtual bool Puma::CCSyntax::unary_expr ( )
virtual

Reimplemented from Puma::CSyntax.

◆ unnamed_ns_def()

virtual bool Puma::CCSyntax::unnamed_ns_def ( )
virtual

◆ unnamed_ns_def1()

virtual bool Puma::CCSyntax::unnamed_ns_def1 ( )
virtual

◆ unqual_id()

virtual bool Puma::CCSyntax::unqual_id ( )
virtual

◆ using_decl()

virtual bool Puma::CCSyntax::using_decl ( )
virtual

◆ using_directive()

virtual bool Puma::CCSyntax::using_directive ( )
virtual

Friends And Related Function Documentation

◆ CCSemantic

friend class CCSemantic
friend