PUMA Library Reference Manual
Puma::CSyntax Class Reference

#include <CSyntax.h>

+ Inheritance diagram for Puma::CSyntax:

Classes

struct  AbstDeclarator
 
struct  AddExpr
 
struct  AndExpr
 
struct  ArrayDelim
 
struct  AsmDef
 
struct  AssExpr
 
struct  AssExpr1
 
struct  BlockDecl
 
struct  CastExpr
 
struct  CastExpr1
 
struct  CastExpr2
 
struct  ClassHead
 
struct  ClassKey
 
struct  CmpdLiteral
 
struct  CmpdStmt
 
struct  CmpdStr
 
struct  CondExpr
 
struct  Condition
 
struct  ConstExpr
 
struct  CvQual
 
struct  CvQualSeq
 
struct  Decl
 
struct  Declarator
 
struct  DeclaratorId
 
struct  DeclSeq
 
struct  DeclSpec
 
struct  DeclSpecSeq
 
struct  DeclSpecSeq1
 
struct  DirectAbstDeclarator
 
struct  DirectAbstDeclarator1
 
struct  DirectDeclarator
 
struct  DirectDeclarator1
 
struct  ElaboratedTypeSpec
 
struct  Enumerator
 
struct  EnumeratorDef
 
struct  EnumeratorList
 
struct  EnumKey
 
struct  EnumSpec
 
struct  EnumSpec1
 
struct  EquExpr
 
struct  ExclOrExpr
 
struct  Expr
 
struct  ExprList
 
struct  ExprStmt
 
struct  FctSpec
 
struct  ForInitStmt
 
struct  Identifier
 
struct  IdentifierList
 
struct  IdExpr
 
struct  InclOrExpr
 
struct  InitDeclarator
 
struct  InitDeclarator1
 
struct  InitDeclaratorList
 
struct  IterStmt
 
struct  JumpStmt
 
struct  LabelStmt
 
struct  Literal
 
struct  LogAndExpr
 
struct  LogOrExpr
 
struct  MembDesignator
 
struct  MiscSpec
 
struct  MulExpr
 
struct  OffsetofExpr
 
struct  ParamDecl1
 
struct  ParamDeclClause
 
struct  ParamDeclList
 
struct  PostfixExpr
 
struct  PostfixExpr1
 
struct  PrimExpr
 
struct  PrivateName
 
struct  PtrOperator
 
struct  RelExpr
 
struct  SelectStmt
 
struct  ShiftExpr
 
struct  SimpleDecl
 
struct  SimpleTypeSpec
 
struct  Stmt
 
struct  StmtSeq
 
struct  StorageClassSpec
 
struct  StrLiteral
 
struct  SubStmt
 
struct  TransUnit
 
struct  TypedefName
 
struct  TypeId
 
struct  TypeName
 
struct  TypeSpec
 
struct  TypeSpecSeq
 
struct  TypeSpecSeq1
 
struct  UnaryExpr
 
struct  UnaryExpr1
 

Public Types

enum  Grammar {
  GRAMMAR_C,
  GRAMMAR_CPLUSPLUS
}
 
- Public Types inherited from Puma::Syntax
typedef std::bitset< TOK_NOtokenset
 

Public Member Functions

 CSyntax (CBuilder &, CSemantic &)
 
virtual void configure (Config &)
 Configure the syntactic analysis object. More...
 
virtual Grammar grammar () const
 
virtual bool typedef_name ()
 
virtual bool private_name ()
 
virtual bool identifier ()
 
virtual bool literal ()
 
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 prim_expr ()
 
virtual bool id_expr ()
 
virtual bool cmpd_literal ()
 
virtual bool postfix_expr ()
 
virtual bool postfix_expr1 ()
 
virtual bool expr_list ()
 
virtual bool unary_expr ()
 
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 mul_expr ()
 
virtual bool add_expr ()
 
virtual bool shift_expr ()
 
virtual bool rel_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 cond_expr ()
 
virtual bool ass_expr ()
 
virtual bool ass_expr1 ()
 
virtual bool expr ()
 
virtual bool const_expr ()
 
virtual bool stmt ()
 
virtual bool label_stmt ()
 
virtual bool expr_stmt ()
 
virtual bool cmpd_stmt ()
 
virtual bool stmt_seq ()
 
virtual bool select_stmt ()
 
virtual bool sub_stmt ()
 
virtual bool condition ()
 
virtual bool iter_stmt ()
 
virtual bool for_init_stmt ()
 
virtual bool jump_stmt ()
 
virtual bool decl_seq ()
 
virtual bool decl ()
 
virtual bool decl_check ()
 
virtual bool block_decl ()
 
virtual bool simple_decl ()
 
virtual bool decl_spec ()
 
virtual bool decl_spec_seq ()
 
virtual bool decl_spec_seq1 ()
 
virtual bool misc_spec ()
 
virtual bool storage_class_spec ()
 
virtual bool fct_spec ()
 
virtual bool type_spec ()
 
virtual bool simple_type_spec ()
 
virtual bool type_name ()
 
virtual bool elaborated_type_spec ()
 
virtual bool enum_key ()
 
virtual bool enum_spec ()
 
virtual bool enum_spec1 ()
 
virtual bool enumerator_list ()
 
virtual bool enumerator_def ()
 
virtual bool enumerator ()
 
virtual bool asm_def ()
 
virtual bool init_declarator_list ()
 
virtual bool init_declarator ()
 
virtual bool init_declarator1 ()
 
virtual bool declarator ()
 
virtual bool direct_declarator ()
 
virtual bool direct_declarator1 ()
 
virtual bool identifier_list ()
 
virtual bool array_delim ()
 
virtual bool ptr_operator ()
 
virtual bool cv_qual_seq ()
 
virtual bool cv_qual ()
 
virtual bool declarator_id ()
 
virtual bool type_id ()
 
virtual bool type_spec_seq ()
 
virtual bool type_spec_seq1 ()
 
virtual bool abst_declarator ()
 
virtual bool direct_abst_declarator ()
 
virtual bool direct_abst_declarator1 ()
 
virtual bool param_decl_clause ()
 
virtual bool param_decl_list ()
 
CTreerule_param_decl ()
 
virtual bool param_decl ()
 
virtual bool param_decl1 ()
 
CTreerule_fct_def ()
 
virtual bool fct_def ()
 
CTreerule_arg_decl_seq ()
 
virtual bool arg_decl_seq ()
 
CTreerule_fct_body ()
 
virtual bool fct_body ()
 
CTreerule_init ()
 
virtual bool init ()
 
CTreerule_init_clause ()
 
virtual bool 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_spec ()
 
virtual bool class_head ()
 
virtual bool class_key ()
 
CTreerule_member_spec ()
 
virtual bool member_spec ()
 
CTreerule_member_decl ()
 
virtual bool member_decl ()
 
CTreerule_member_declarator_list ()
 
virtual bool member_declarator_list ()
 
CTreerule_member_declarator ()
 
virtual bool 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

virtual void init_prim_types ()
 
bool is_prim_type ()
 
virtual void init_cv_quals ()
 
bool is_cv_qual ()
 
virtual void init_class_spec ()
 
virtual bool is_fct_def ()
 
virtual bool is_ass_expr ()
 
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...
 

Protected Attributes

tokenset _prim_types
 
tokenset _cv_quals
 
tokenset _class_spec_1
 
Tokenlast_look_ahead_token
 
bool last_look_ahead_result
 

Additional Inherited Members

- 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...
 

Member Enumeration Documentation

◆ Grammar

Enumerator
GRAMMAR_C 
GRAMMAR_CPLUSPLUS 

Constructor & Destructor Documentation

◆ CSyntax()

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

Member Function Documentation

◆ abst_declarator()

virtual bool Puma::CSyntax::abst_declarator ( )
virtual

◆ add_expr()

virtual bool Puma::CSyntax::add_expr ( )
virtual

◆ and_expr()

virtual bool Puma::CSyntax::and_expr ( )
virtual

◆ arg_decl_seq()

virtual bool Puma::CSyntax::arg_decl_seq ( )
virtual

◆ array_delim()

virtual bool Puma::CSyntax::array_delim ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ asm_def()

virtual bool Puma::CSyntax::asm_def ( )
virtual

◆ ass_expr()

virtual bool Puma::CSyntax::ass_expr ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ ass_expr1()

virtual bool Puma::CSyntax::ass_expr1 ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ block_decl()

virtual bool Puma::CSyntax::block_decl ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ cast_expr()

virtual bool Puma::CSyntax::cast_expr ( )
virtual

◆ cast_expr1()

virtual bool Puma::CSyntax::cast_expr1 ( )
virtual

◆ cast_expr2()

virtual bool Puma::CSyntax::cast_expr2 ( )
virtual

◆ class_head()

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

Reimplemented in Puma::CCSyntax.

◆ class_key()

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

◆ class_spec()

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

Reimplemented in Puma::CCSyntax.

◆ cmpd_literal()

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

◆ cmpd_stmt()

virtual bool Puma::CSyntax::cmpd_stmt ( )
virtual

◆ cmpd_str()

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

◆ cond_expr()

virtual bool Puma::CSyntax::cond_expr ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ condition()

virtual bool Puma::CSyntax::condition ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ configure()

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

Configure the syntactic analysis object.

Parameters
cThe configuration object.

Reimplemented from Puma::Syntax.

Reimplemented in Puma::CCSyntax, and Puma::InstantiationSyntax.

◆ const_expr()

virtual bool Puma::CSyntax::const_expr ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ cv_qual()

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

◆ cv_qual_seq()

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

◆ decl()

virtual bool Puma::CSyntax::decl ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ decl_check()

virtual bool Puma::CSyntax::decl_check ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ decl_seq()

virtual bool Puma::CSyntax::decl_seq ( )
virtual

◆ decl_spec()

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

◆ decl_spec_seq()

virtual bool Puma::CSyntax::decl_spec_seq ( )
virtual

◆ decl_spec_seq1()

virtual bool Puma::CSyntax::decl_spec_seq1 ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ declarator()

virtual bool Puma::CSyntax::declarator ( )
virtual

◆ declarator_id()

virtual bool Puma::CSyntax::declarator_id ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ designation()

virtual bool Puma::CSyntax::designation ( )
virtual

◆ designator()

virtual bool Puma::CSyntax::designator ( )
virtual

◆ direct_abst_declarator()

virtual bool Puma::CSyntax::direct_abst_declarator ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ direct_abst_declarator1()

virtual bool Puma::CSyntax::direct_abst_declarator1 ( )
virtual

◆ direct_declarator()

virtual bool Puma::CSyntax::direct_declarator ( )
virtual

◆ direct_declarator1()

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

Reimplemented in Puma::CCSyntax.

◆ elaborated_type_spec()

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

Reimplemented in Puma::CCSyntax.

◆ enum_key()

virtual bool Puma::CSyntax::enum_key ( )
virtual

◆ enum_spec()

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

◆ enum_spec1()

virtual bool Puma::CSyntax::enum_spec1 ( )
virtual

◆ enumerator()

virtual bool Puma::CSyntax::enumerator ( )
virtual

◆ enumerator_def()

virtual bool Puma::CSyntax::enumerator_def ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ enumerator_list()

virtual bool Puma::CSyntax::enumerator_list ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ equ_expr()

virtual bool Puma::CSyntax::equ_expr ( )
virtual

◆ excl_or_expr()

virtual bool Puma::CSyntax::excl_or_expr ( )
virtual

◆ expr()

virtual bool Puma::CSyntax::expr ( )
virtual

◆ expr_list()

virtual bool Puma::CSyntax::expr_list ( )
virtual

◆ expr_stmt()

virtual bool Puma::CSyntax::expr_stmt ( )
virtual

◆ fct_body()

virtual bool Puma::CSyntax::fct_body ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ fct_def()

virtual bool Puma::CSyntax::fct_def ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ fct_spec()

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

Reimplemented in Puma::CCSyntax.

◆ for_init_stmt()

virtual bool Puma::CSyntax::for_init_stmt ( )
virtual

◆ grammar()

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

Reimplemented in Puma::CCSyntax.

◆ handle_directive()

void Puma::CSyntax::handle_directive ( )
inlineprotectedvirtual

Handle a compiler directive token.

The default handling is to skip the compiler directive.

Reimplemented from Puma::Syntax.

◆ id_expr()

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

Reimplemented in Puma::CCSyntax.

◆ identifier()

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

◆ identifier_list()

virtual bool Puma::CSyntax::identifier_list ( )
virtual

◆ incl_or_expr()

virtual bool Puma::CSyntax::incl_or_expr ( )
virtual

◆ init()

virtual bool Puma::CSyntax::init ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ init_class_spec()

virtual void Puma::CSyntax::init_class_spec ( )
protectedvirtual

◆ init_clause()

virtual bool Puma::CSyntax::init_clause ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ init_cv_quals()

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

Reimplemented in Puma::CCSyntax.

◆ init_declarator()

virtual bool Puma::CSyntax::init_declarator ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ init_declarator1()

virtual bool Puma::CSyntax::init_declarator1 ( )
virtual

◆ init_declarator_list()

virtual bool Puma::CSyntax::init_declarator_list ( )
virtual

◆ init_list()

virtual bool Puma::CSyntax::init_list ( )
virtual

◆ init_list_item()

virtual bool Puma::CSyntax::init_list_item ( )
virtual

◆ init_prim_types()

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

Reimplemented in Puma::CCSyntax.

◆ is_ass_expr()

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

Reimplemented in Puma::CCSyntax.

◆ is_cv_qual()

bool Puma::CSyntax::is_cv_qual ( )
inlineprotected

◆ is_fct_def()

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

Reimplemented in Puma::CCSyntax.

◆ is_prim_type()

bool Puma::CSyntax::is_prim_type ( )
inlineprotected

◆ iter_stmt()

virtual bool Puma::CSyntax::iter_stmt ( )
virtual

◆ jump_stmt()

virtual bool Puma::CSyntax::jump_stmt ( )
virtual

◆ label_stmt()

virtual bool Puma::CSyntax::label_stmt ( )
virtual

◆ literal()

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

Reimplemented in Puma::CCSyntax.

◆ log_and_expr()

virtual bool Puma::CSyntax::log_and_expr ( )
virtual

◆ log_or_expr()

virtual bool Puma::CSyntax::log_or_expr ( )
virtual

◆ memb_designator()

virtual bool Puma::CSyntax::memb_designator ( )
virtual

◆ member_decl()

virtual bool Puma::CSyntax::member_decl ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ member_declarator()

virtual bool Puma::CSyntax::member_declarator ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ member_declarator_list()

virtual bool Puma::CSyntax::member_declarator_list ( )
virtual

◆ member_spec()

virtual bool Puma::CSyntax::member_spec ( )
virtual

◆ misc_spec()

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

Reimplemented in Puma::CCSyntax.

◆ mul_expr()

virtual bool Puma::CSyntax::mul_expr ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ offsetof_expr()

virtual bool Puma::CSyntax::offsetof_expr ( )
virtual

◆ param_decl()

virtual bool Puma::CSyntax::param_decl ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ param_decl1()

virtual bool Puma::CSyntax::param_decl1 ( )
virtual

◆ param_decl_clause()

virtual bool Puma::CSyntax::param_decl_clause ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ param_decl_list()

virtual bool Puma::CSyntax::param_decl_list ( )
virtual

◆ postfix_expr()

virtual bool Puma::CSyntax::postfix_expr ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ postfix_expr1()

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

Reimplemented in Puma::CCSyntax.

◆ prim_expr()

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

Reimplemented in Puma::CCSyntax.

◆ private_name()

virtual bool Puma::CSyntax::private_name ( )
virtual

◆ ptr_operator()

virtual bool Puma::CSyntax::ptr_operator ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ rel_expr()

virtual bool Puma::CSyntax::rel_expr ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ rule_arg_decl_seq()

CTree* Puma::CSyntax::rule_arg_decl_seq ( )

◆ rule_class_spec()

CTree* Puma::CSyntax::rule_class_spec ( )

◆ rule_designation()

CTree* Puma::CSyntax::rule_designation ( )

◆ rule_designator()

CTree* Puma::CSyntax::rule_designator ( )

◆ rule_fct_body()

CTree* Puma::CSyntax::rule_fct_body ( )

◆ rule_fct_def()

CTree* Puma::CSyntax::rule_fct_def ( )

◆ rule_init()

CTree* Puma::CSyntax::rule_init ( )

◆ rule_init_clause()

CTree* Puma::CSyntax::rule_init_clause ( )

◆ rule_init_list()

CTree* Puma::CSyntax::rule_init_list ( )

◆ rule_init_list_item()

CTree* Puma::CSyntax::rule_init_list_item ( )

◆ rule_member_decl()

CTree* Puma::CSyntax::rule_member_decl ( )

◆ rule_member_declarator()

CTree* Puma::CSyntax::rule_member_declarator ( )

◆ rule_member_declarator_list()

CTree* Puma::CSyntax::rule_member_declarator_list ( )

◆ rule_member_spec()

CTree* Puma::CSyntax::rule_member_spec ( )

◆ rule_param_decl()

CTree* Puma::CSyntax::rule_param_decl ( )

◆ select_stmt()

virtual bool Puma::CSyntax::select_stmt ( )
virtual

◆ shift_expr()

virtual bool Puma::CSyntax::shift_expr ( )
virtual

◆ simple_decl()

virtual bool Puma::CSyntax::simple_decl ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ simple_type_spec()

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

Reimplemented in Puma::CCSyntax.

◆ stmt()

virtual bool Puma::CSyntax::stmt ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ stmt_seq()

virtual bool Puma::CSyntax::stmt_seq ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ storage_class_spec()

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

Reimplemented in Puma::CCSyntax.

◆ str_literal()

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

◆ sub_stmt()

virtual bool Puma::CSyntax::sub_stmt ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ trans_unit()

virtual bool 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.

◆ type_id()

virtual bool Puma::CSyntax::type_id ( )
virtual

◆ type_name()

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

Reimplemented in Puma::CCSyntax.

◆ type_spec()

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

◆ type_spec_seq()

virtual bool Puma::CSyntax::type_spec_seq ( )
virtual

◆ type_spec_seq1()

virtual bool Puma::CSyntax::type_spec_seq1 ( )
virtual

◆ typedef_name()

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

Reimplemented in Puma::InstantiationSyntax.

◆ unary_expr()

virtual bool Puma::CSyntax::unary_expr ( )
virtual

Reimplemented in Puma::CCSyntax.

◆ unary_expr1()

virtual bool Puma::CSyntax::unary_expr1 ( )
virtual

Member Data Documentation

◆ _class_spec_1

tokenset Puma::CSyntax::_class_spec_1
protected

◆ _cv_quals

tokenset Puma::CSyntax::_cv_quals
protected

◆ _prim_types

tokenset Puma::CSyntax::_prim_types
protected

◆ last_look_ahead_result

bool Puma::CSyntax::last_look_ahead_result
protected

◆ last_look_ahead_token

Token* Puma::CSyntax::last_look_ahead_token
protected