Puma Reference Manual Puma::CSyntax Class Reference



Puma::CSyntax Class Reference

#include <CSyntax.h>

Inheritance diagram for Puma::CSyntax:
Inheritance graph

List of all members.

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 Member Functions

 CSyntax (CBuilder &, CSemantic &)
virtual void configure (Config &)
 Configure the syntactic analysis object.
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.
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 ()

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.

Protected Attributes

tokenset _prim_types
tokenset _cv_quals
tokenset _class_spec_1
Tokenlast_look_ahead_token
bool last_look_ahead_result

Member Enumeration Documentation

Enumerator:
GRAMMAR_C 
GRAMMAR_CPLUSPLUS 

Constructor & Destructor Documentation

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

Member Function Documentation

virtual bool Puma::CSyntax::abst_declarator ( ) [virtual]
virtual bool Puma::CSyntax::add_expr ( ) [virtual]
virtual bool Puma::CSyntax::and_expr ( ) [virtual]
virtual bool Puma::CSyntax::arg_decl_seq ( ) [virtual]
virtual bool Puma::CSyntax::array_delim ( ) [virtual]

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::asm_def ( ) [virtual]
virtual bool Puma::CSyntax::ass_expr ( ) [virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::cast_expr ( ) [virtual]
virtual bool Puma::CSyntax::cast_expr1 ( ) [virtual]
virtual bool Puma::CSyntax::cast_expr2 ( ) [virtual]
virtual bool Puma::CSyntax::class_head ( ) [virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::cmpd_literal ( ) [virtual]
virtual bool Puma::CSyntax::cmpd_stmt ( ) [virtual]
virtual bool Puma::CSyntax::cmpd_str ( ) [virtual]
virtual bool Puma::CSyntax::cond_expr ( ) [virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::decl_seq ( ) [virtual]
virtual bool Puma::CSyntax::decl_spec ( ) [virtual]
virtual bool Puma::CSyntax::decl_spec_seq ( ) [virtual]
virtual bool Puma::CSyntax::decl_spec_seq1 ( ) [virtual]

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::declarator ( ) [virtual]
virtual bool Puma::CSyntax::declarator_id ( ) [virtual]

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::designation ( ) [virtual]
virtual bool Puma::CSyntax::designator ( ) [virtual]
virtual bool Puma::CSyntax::direct_abst_declarator ( ) [virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::enum_key ( ) [virtual]
virtual bool Puma::CSyntax::enum_spec ( ) [virtual]
virtual bool Puma::CSyntax::enum_spec1 ( ) [virtual]
virtual bool Puma::CSyntax::enumerator ( ) [virtual]
virtual bool Puma::CSyntax::enumerator_def ( ) [virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::equ_expr ( ) [virtual]
virtual bool Puma::CSyntax::excl_or_expr ( ) [virtual]
virtual bool Puma::CSyntax::expr ( ) [virtual]
virtual bool Puma::CSyntax::expr_list ( ) [virtual]
virtual bool Puma::CSyntax::expr_stmt ( ) [virtual]
virtual bool Puma::CSyntax::fct_body ( ) [virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::for_init_stmt ( ) [virtual]
virtual Grammar Puma::CSyntax::grammar ( ) const [inline, virtual]

Reimplemented in Puma::CCSyntax.

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.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::identifier ( ) [virtual]
virtual bool Puma::CSyntax::identifier_list ( ) [virtual]
virtual bool Puma::CSyntax::incl_or_expr ( ) [virtual]
virtual bool Puma::CSyntax::init ( ) [virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::init_declarator1 ( ) [virtual]
virtual bool Puma::CSyntax::init_declarator_list ( ) [virtual]
virtual bool Puma::CSyntax::init_list ( ) [virtual]
virtual bool Puma::CSyntax::init_list_item ( ) [virtual]
virtual void Puma::CSyntax::init_prim_types ( ) [protected, virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

bool Puma::CSyntax::is_prim_type ( ) [inline, protected]
virtual bool Puma::CSyntax::iter_stmt ( ) [virtual]
virtual bool Puma::CSyntax::jump_stmt ( ) [virtual]
virtual bool Puma::CSyntax::label_stmt ( ) [virtual]
virtual bool Puma::CSyntax::literal ( ) [virtual]

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::log_and_expr ( ) [virtual]
virtual bool Puma::CSyntax::log_or_expr ( ) [virtual]
virtual bool Puma::CSyntax::memb_designator ( ) [virtual]
virtual bool Puma::CSyntax::member_decl ( ) [virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::offsetof_expr ( ) [virtual]
virtual bool Puma::CSyntax::param_decl ( ) [virtual]

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::param_decl1 ( ) [virtual]
virtual bool Puma::CSyntax::param_decl_clause ( ) [virtual]

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::param_decl_list ( ) [virtual]
virtual bool Puma::CSyntax::postfix_expr ( ) [virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::private_name ( ) [virtual]
virtual bool Puma::CSyntax::ptr_operator ( ) [virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::select_stmt ( ) [virtual]
virtual bool Puma::CSyntax::shift_expr ( ) [virtual]
virtual bool Puma::CSyntax::simple_decl ( ) [virtual]

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Reimplemented in Puma::CCSyntax.

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.

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

Reimplemented in Puma::CCSyntax.

virtual bool Puma::CSyntax::type_spec ( ) [virtual]
virtual bool Puma::CSyntax::type_spec_seq ( ) [virtual]
virtual bool Puma::CSyntax::type_spec_seq1 ( ) [virtual]
virtual bool Puma::CSyntax::typedef_name ( ) [virtual]

Reimplemented in Puma::InstantiationSyntax.

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

Reimplemented in Puma::CCSyntax.

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

Member Data Documentation