cprover
Parser Class Reference
Collaboration diagram for Parser:
[legend]

Public Member Functions

 Parser (cpp_parsert &_cpp_parser)
 
bool operator() ()
 

Protected Types

enum  DeclKind { kDeclarator, kArgDeclarator, kCastDeclarator }
 
enum  TemplateDeclKind {
  tdk_unknown, tdk_decl, tdk_instantiation, tdk_specialization,
  num_tdks
}
 

Protected Member Functions

new_scopetadd_id (const irept &name, new_scopet::kindt)
 
new_scopetadd_id (const irep_idt &, new_scopet::kindt)
 
void make_sub_scope (const irept &name, new_scopet::kindt)
 
void make_sub_scope (const irep_idt &, new_scopet::kindt)
 
bool rProgram (cpp_itemt &item)
 
bool SyntaxError ()
 
bool rDefinition (cpp_itemt &)
 
bool rNullDeclaration (cpp_declarationt &)
 
bool rTypedef (cpp_declarationt &)
 
bool rTypedefUsing (cpp_declarationt &)
 
bool rTypedefStatement (codet &)
 
bool rTypeSpecifier (typet &, bool)
 
bool isTypeSpecifier ()
 
bool rLinkageSpec (cpp_linkage_spect &)
 
bool rNamespaceSpec (cpp_namespace_spect &)
 
bool rUsing (cpp_usingt &)
 
bool rStaticAssert (cpp_static_assertt &)
 
bool rLinkageBody (cpp_linkage_spect::itemst &)
 
bool rTemplateDecl (cpp_declarationt &)
 
bool rTemplateDecl2 (typet &, TemplateDeclKind &kind)
 
bool rTempArgList (irept &)
 
bool rTempArgDeclaration (cpp_declarationt &)
 
bool rExternTemplateDecl (irept &)
 
bool rDeclaration (cpp_declarationt &)
 
bool rIntegralDeclaration (cpp_declarationt &, cpp_storage_spect &, cpp_member_spect &, typet &, typet &)
 
bool rConstDeclaration (cpp_declarationt &, cpp_storage_spect &, cpp_member_spect &, typet &)
 
bool rOtherDeclaration (cpp_declarationt &, cpp_storage_spect &, cpp_member_spect &, typet &)
 
bool rCondition (exprt &)
 
bool rSimpleDeclaration (cpp_declarationt &)
 
bool isConstructorDecl ()
 
bool isPtrToMember (int)
 
bool optMemberSpec (cpp_member_spect &)
 
bool optStorageSpec (cpp_storage_spect &)
 
bool optCvQualify (typet &)
 
bool optAlignas (typet &)
 
bool rAttribute ()
 
bool optAttribute (cpp_declarationt &)
 
bool optIntegralTypeOrClassSpec (typet &)
 
bool rConstructorDecl (cpp_declaratort &, typet &, typet &trailing_return_type)
 
bool optThrowDecl (irept &)
 
bool rDeclarators (cpp_declarationt::declaratorst &, bool, bool=false)
 
bool rDeclaratorWithInit (cpp_declaratort &, bool, bool)
 
bool rDeclarator (cpp_declaratort &, DeclKind, bool, bool, bool=false)
 
bool rDeclaratorQualifier ()
 
bool optPtrOperator (typet &)
 
bool rMemberInitializers (irept &)
 
bool rMemberInit (exprt &)
 
bool rName (irept &)
 
bool rOperatorName (irept &)
 
bool rCastOperatorName (irept &)
 
bool rPtrToMember (irept &)
 
bool rTemplateArgs (irept &)
 
bool rArgDeclListOrInit (exprt &, bool &, bool)
 
bool rArgDeclList (irept &)
 
bool rArgDeclaration (cpp_declarationt &)
 
bool rFunctionArguments (exprt &)
 
bool rInitializeExpr (exprt &)
 
bool rEnumSpec (typet &)
 
bool rEnumBody (irept &)
 
bool rClassSpec (typet &)
 
bool rBaseSpecifiers (irept &)
 
bool rClassBody (exprt &)
 
bool rClassMember (cpp_itemt &)
 
bool rAccessDecl (irept &)
 
bool rCommaExpression (exprt &)
 
bool rExpression (exprt &, bool)
 
bool rConditionalExpr (exprt &, bool)
 
bool rLogicalOrExpr (exprt &, bool)
 
bool rLogicalAndExpr (exprt &, bool)
 
bool rInclusiveOrExpr (exprt &, bool)
 
bool rExclusiveOrExpr (exprt &, bool)
 
bool rAndExpr (exprt &, bool)
 
bool rEqualityExpr (exprt &, bool)
 
bool rRelationalExpr (exprt &, bool)
 
bool rShiftExpr (exprt &, bool)
 
bool rAdditiveExpr (exprt &)
 
bool rMultiplyExpr (exprt &)
 
bool rPmExpr (exprt &)
 
bool rCastExpr (exprt &)
 
bool rTypeName (typet &)
 
bool rTypeNameOrFunctionType (typet &)
 
bool rUnaryExpr (exprt &)
 
bool rThrowExpr (exprt &)
 
bool rNoexceptExpr (exprt &)
 
bool rSizeofExpr (exprt &)
 
bool rTypeidExpr (exprt &)
 
bool rAlignofExpr (exprt &)
 
bool isAllocateExpr (int)
 
bool rAllocateExpr (exprt &)
 
bool rAllocateType (exprt &, typet &, exprt &)
 
bool rNewDeclarator (typet &)
 
bool rAllocateInitializer (exprt &)
 
bool rPostfixExpr (exprt &)
 
bool rPrimaryExpr (exprt &)
 
bool rVarName (exprt &)
 
bool rVarNameCore (exprt &)
 
bool maybeTemplateArgs ()
 
bool rFunctionBody (cpp_declaratort &)
 
bool rCompoundStatement (codet &)
 
bool rStatement (codet &)
 
bool rIfStatement (codet &)
 
bool rSwitchStatement (codet &)
 
bool rWhileStatement (codet &)
 
bool rDoStatement (codet &)
 
bool rForStatement (codet &)
 
bool rTryStatement (codet &)
 
bool rExprStatement (codet &)
 
bool rDeclarationStatement (codet &)
 
bool rIntegralDeclStatement (codet &, cpp_storage_spect &, typet &, typet &)
 
bool rOtherDeclStatement (codet &, cpp_storage_spect &, typet &)
 
bool MaybeTypeNameOrClassTemplate (cpp_tokent &)
 
void SkipTo (int token)
 
bool moreVarName ()
 
bool rString (cpp_tokent &tk)
 
bool rGCCAsmStatement (codet &)
 
bool rMSC_tryStatement (codet &)
 
bool rMSC_leaveStatement (codet &)
 
bool rMSCAsmStatement (codet &)
 
bool rMSC_if_existsStatement (codet &)
 
bool rTypePredicate (exprt &)
 
bool rMSCuuidof (exprt &)
 
bool rMSC_if_existsExpr (exprt &)
 
void merge_types (const typet &src, typet &dest)
 
void set_location (irept &dest, const cpp_tokent &token)
 
void make_subtype (const typet &src, typet &dest)
 

Protected Attributes

cpp_token_buffertlex
 
cpp_parsertparser
 
new_scopet root_scope
 
new_scopetcurrent_scope
 
unsigned number_of_errors
 
irep_idt current_function
 
unsigned int max_errors
 

Detailed Description

Definition at line 199 of file parse.cpp.

Member Enumeration Documentation

§ DeclKind

enum Parser::DeclKind
protected
Enumerator
kDeclarator 
kArgDeclarator 
kCastDeclarator 

Definition at line 224 of file parse.cpp.

§ TemplateDeclKind

enum Parser::TemplateDeclKind
protected
Enumerator
tdk_unknown 
tdk_decl 
tdk_instantiation 
tdk_specialization 
num_tdks 

Definition at line 225 of file parse.cpp.

Constructor & Destructor Documentation

§ Parser()

Parser::Parser ( cpp_parsert _cpp_parser)
inlineexplicit

Definition at line 202 of file parse.cpp.

References new_scopet::NAMESPACE.

Member Function Documentation

§ add_id() [1/2]

new_scopet & Parser::add_id ( const irept name,
new_scopet::kindt  kind 
)
protected

Definition at line 419 of file parse.cpp.

References irept::get_sub().

§ add_id() [2/2]

new_scopet & Parser::add_id ( const irep_idt id,
new_scopet::kindt  kind 
)
protected

Definition at line 432 of file parse.cpp.

References new_scopet::id, new_scopet::id_map, new_scopet::kind, and new_scopet::parent.

§ isAllocateExpr()

bool Parser::isAllocateExpr ( int  t)
protected

Definition at line 5773 of file parse.cpp.

References TOK_DELETE, TOK_NEW, and TOK_SCOPE.

§ isConstructorDecl()

bool Parser::isConstructorDecl ( )
protected

Definition at line 1833 of file parse.cpp.

References TOK_CDECL, TOK_CLRCALL, TOK_FASTCALL, TOK_IDENTIFIER, and TOK_STDCALL.

§ isPtrToMember()

bool Parser::isPtrToMember ( int  i)
protected

Definition at line 1869 of file parse.cpp.

References TOK_IDENTIFIER, and TOK_SCOPE.

§ isTypeSpecifier()

§ make_sub_scope() [1/2]

void Parser::make_sub_scope ( const irept name,
new_scopet::kindt  kind 
)
protected

Definition at line 443 of file parse.cpp.

§ make_sub_scope() [2/2]

void Parser::make_sub_scope ( const irep_idt id,
new_scopet::kindt  kind 
)
protected

Definition at line 449 of file parse.cpp.

§ make_subtype()

void Parser::make_subtype ( const typet src,
typet dest 
)
inlineprotected

§ maybeTemplateArgs()

bool Parser::maybeTemplateArgs ( )
protected

Definition at line 6814 of file parse.cpp.

References TOK_SCOPE, and TOK_SHIFTRIGHT.

§ MaybeTypeNameOrClassTemplate()

bool Parser::MaybeTypeNameOrClassTemplate ( cpp_tokent )
protected

Definition at line 8115 of file parse.cpp.

§ merge_types()

void Parser::merge_types ( const typet src,
typet dest 
)
protected

§ moreVarName()

bool Parser::moreVarName ( )
protected

Definition at line 6797 of file parse.cpp.

References TOK_IDENTIFIER, TOK_OPERATOR, TOK_SCOPE, and TOK_TEMPLATE.

§ operator()()

bool Parser::operator() ( void  )

Definition at line 8134 of file parse.cpp.

References irept::clear().

§ optAlignas()

bool Parser::optAlignas ( typet cv)
protected

Definition at line 2066 of file parse.cpp.

References pos(), and TOK_ALIGNAS.

§ optAttribute()

bool Parser::optAttribute ( cpp_declarationt declaration)
protected

Definition at line 2128 of file parse.cpp.

References cpp_tokent::kind, and TOK_NORETURN.

§ optCvQualify()

bool Parser::optCvQualify ( typet cv)
protected

§ optIntegralTypeOrClassSpec()

§ optMemberSpec()

§ optPtrOperator()

bool Parser::optPtrOperator ( typet ptrs)
protected

Definition at line 2997 of file parse.cpp.

References irept::is_not_nil(), irept::make_nil(), irept::set(), irept::swap(), and TOK_ANDAND.

§ optStorageSpec()

§ optThrowDecl()

bool Parser::optThrowDecl ( irept throw_decl)
protected

Definition at line 2510 of file parse.cpp.

References get_nil_irep(), TOK_ELLIPSIS, TOK_NOEXCEPT, and TOK_THROW.

§ rAccessDecl()

bool Parser::rAccessDecl ( irept mem)
protected

Definition at line 4479 of file parse.cpp.

§ rAdditiveExpr()

bool Parser::rAdditiveExpr ( exprt exp)
protected

Definition at line 5000 of file parse.cpp.

References exprt::move_to_operands(), and irept::swap().

§ rAlignofExpr()

bool Parser::rAlignofExpr ( exprt exp)
protected

Definition at line 5708 of file parse.cpp.

References irept::add(), irept::swap(), and TOK_ALIGNOF.

§ rAllocateExpr()

bool Parser::rAllocateExpr ( exprt exp)
protected

§ rAllocateInitializer()

bool Parser::rAllocateInitializer ( exprt init)
protected

Definition at line 6005 of file parse.cpp.

References irept::clear(), exprt::move_to_operands(), and TOK_ELLIPSIS.

§ rAllocateType()

bool Parser::rAllocateType ( exprt arguments,
typet atype,
exprt initializer 
)
protected

Definition at line 5876 of file parse.cpp.

References irept::make_nil(), pos(), and irept::swap().

§ rAndExpr()

bool Parser::rAndExpr ( exprt exp,
bool  template_args 
)
protected

Definition at line 4829 of file parse.cpp.

References exprt::move_to_operands(), and irept::swap().

§ rArgDeclaration()

bool Parser::rArgDeclaration ( cpp_declarationt declaration)
protected

§ rArgDeclList()

bool Parser::rArgDeclList ( irept arglist)
protected

Definition at line 3809 of file parse.cpp.

References irept::clear(), irept::get_sub(), irept::swap(), and TOK_ELLIPSIS.

§ rArgDeclListOrInit()

bool Parser::rArgDeclListOrInit ( exprt arglist,
bool &  is_args,
bool  maybe_init 
)
protected

Definition at line 3772 of file parse.cpp.

References pos().

§ rAttribute()

bool Parser::rAttribute ( )
protected

Definition at line 2104 of file parse.cpp.

References cpp_tokent::kind, and TOK_IDENTIFIER.

§ rBaseSpecifiers()

bool Parser::rBaseSpecifiers ( irept bases)
protected

§ rCastExpr()

bool Parser::rCastExpr ( exprt exp)
protected

Definition at line 5144 of file parse.cpp.

References exprt::move_to_operands(), pos(), irept::swap(), TOK_INTEGER, and exprt::type().

§ rCastOperatorName()

bool Parser::rCastOperatorName ( irept name)
protected

Definition at line 3485 of file parse.cpp.

References irept::is_nil(), and irept::make_nil().

§ rClassBody()

bool Parser::rClassBody ( exprt body)
protected

Definition at line 4351 of file parse.cpp.

References exprt::move_to_operands(), irept::pretty(), and irept::swap().

§ rClassMember()

§ rClassSpec()

bool Parser::rClassSpec ( typet spec)
protected

§ rCommaExpression()

bool Parser::rCommaExpression ( exprt exp)
protected

Definition at line 4500 of file parse.cpp.

References exprt::move_to_operands(), and irept::swap().

§ rCompoundStatement()

bool Parser::rCompoundStatement ( codet statement)
protected

Definition at line 6963 of file parse.cpp.

References exprt::move_to_operands().

§ rCondition()

bool Parser::rCondition ( exprt statement)
protected

Definition at line 7913 of file parse.cpp.

References exprt::move_to_operands(), and pos().

§ rConditionalExpr()

bool Parser::rConditionalExpr ( exprt exp,
bool  template_args 
)
protected

Definition at line 4624 of file parse.cpp.

References exprt::move_to_operands(), and irept::swap().

§ rConstDeclaration()

bool Parser::rConstDeclaration ( cpp_declarationt declaration,
cpp_storage_spect storage_spec,
cpp_member_spect member_spec,
typet cv_q 
)
protected

Definition at line 1624 of file parse.cpp.

§ rConstructorDecl()

bool Parser::rConstructorDecl ( cpp_declaratort constructor,
typet type_name,
typet trailing_return_type 
)
protected

§ rDeclaration()

bool Parser::rDeclaration ( cpp_declarationt declaration)
protected

§ rDeclarationStatement()

bool Parser::rDeclarationStatement ( codet statement)
protected

§ rDeclarator()

bool Parser::rDeclarator ( cpp_declaratort declarator,
DeclKind  kind,
bool  recursive,
bool  should_be_declarator,
bool  is_statement = false 
)
protected

§ rDeclaratorQualifier()

bool Parser::rDeclaratorQualifier ( )
protected

Definition at line 2720 of file parse.cpp.

References TOK_CDECL, TOK_CLRCALL, TOK_FASTCALL, and TOK_STDCALL.

§ rDeclarators()

bool Parser::rDeclarators ( cpp_declarationt::declaratorst declarators,
bool  should_be_declarator,
bool  is_statement = false 
)
protected

Definition at line 2578 of file parse.cpp.

§ rDeclaratorWithInit()

bool Parser::rDeclaratorWithInit ( cpp_declaratort dw,
bool  should_be_declarator,
bool  is_statement 
)
protected

§ rDefinition()

§ rDoStatement()

bool Parser::rDoStatement ( codet statement)
protected

Definition at line 7402 of file parse.cpp.

References exprt::move_to_operands(), TOK_DO, and TOK_WHILE.

§ rEnumBody()

bool Parser::rEnumBody ( irept body)
protected

§ rEnumSpec()

bool Parser::rEnumSpec ( typet spec)
protected

§ rEqualityExpr()

bool Parser::rEqualityExpr ( exprt exp,
bool  template_args 
)
protected

Definition at line 4868 of file parse.cpp.

References cpp_tokent::kind, exprt::move_to_operands(), irept::swap(), TOK_EQ, and TOK_NE.

§ rExclusiveOrExpr()

bool Parser::rExclusiveOrExpr ( exprt exp,
bool  template_args 
)
protected

Definition at line 4790 of file parse.cpp.

References exprt::move_to_operands(), and irept::swap().

§ rExpression()

bool Parser::rExpression ( exprt exp,
bool  template_args 
)
protected

§ rExprStatement()

bool Parser::rExprStatement ( codet statement)
protected

§ rExternTemplateDecl()

bool Parser::rExternTemplateDecl ( irept decl)
protected

Definition at line 1316 of file parse.cpp.

References TOK_EXTERN, and TOK_TEMPLATE.

§ rForStatement()

bool Parser::rForStatement ( codet statement)
protected

§ rFunctionArguments()

bool Parser::rFunctionArguments ( exprt args)
protected

Definition at line 3994 of file parse.cpp.

References exprt::move_to_operands(), and TOK_ELLIPSIS.

§ rFunctionBody()

bool Parser::rFunctionBody ( cpp_declaratort declarator)
protected

§ rGCCAsmStatement()

bool Parser::rGCCAsmStatement ( codet statement)
protected

§ rIfStatement()

bool Parser::rIfStatement ( codet statement)
protected

§ rInclusiveOrExpr()

bool Parser::rInclusiveOrExpr ( exprt exp,
bool  template_args 
)
protected

Definition at line 4751 of file parse.cpp.

References exprt::move_to_operands(), and irept::swap().

§ rInitializeExpr()

bool Parser::rInitializeExpr ( exprt expr)
protected

§ rIntegralDeclaration()

bool Parser::rIntegralDeclaration ( cpp_declarationt declaration,
cpp_storage_spect storage_spec,
cpp_member_spect member_spec,
typet integral,
typet cv_q 
)
protected

§ rIntegralDeclStatement()

bool Parser::rIntegralDeclStatement ( codet statement,
cpp_storage_spect storage_spec,
typet integral,
typet cv_q 
)
protected

§ rLinkageBody()

bool Parser::rLinkageBody ( cpp_linkage_spect::itemst items)
protected

Definition at line 932 of file parse.cpp.

References cpp_tokent::clear().

§ rLinkageSpec()

bool Parser::rLinkageSpec ( cpp_linkage_spect linkage_spec)
protected

§ rLogicalAndExpr()

bool Parser::rLogicalAndExpr ( exprt exp,
bool  template_args 
)
protected

Definition at line 4712 of file parse.cpp.

References exprt::move_to_operands(), irept::swap(), and TOK_ANDAND.

§ rLogicalOrExpr()

bool Parser::rLogicalOrExpr ( exprt exp,
bool  template_args 
)
protected

Definition at line 4673 of file parse.cpp.

References exprt::move_to_operands(), irept::swap(), and TOK_OROR.

§ rMemberInit()

bool Parser::rMemberInit ( exprt init)
protected

Definition at line 3155 of file parse.cpp.

References irept::add(), cpp_tokent::kind, exprt::operands(), irept::swap(), and TOK_ELLIPSIS.

§ rMemberInitializers()

bool Parser::rMemberInitializers ( irept init)
protected

Definition at line 3122 of file parse.cpp.

References irept::move_to_sub().

§ rMSC_if_existsExpr()

bool Parser::rMSC_if_existsExpr ( exprt expr)
protected

§ rMSC_if_existsStatement()

bool Parser::rMSC_if_existsStatement ( codet code)
protected

§ rMSC_leaveStatement()

bool Parser::rMSC_leaveStatement ( codet statement)
protected

Definition at line 7647 of file parse.cpp.

References TOK_MSC_LEAVE.

§ rMSC_tryStatement()

bool Parser::rMSC_tryStatement ( codet statement)
protected

§ rMSCAsmStatement()

bool Parser::rMSCAsmStatement ( codet statement)
protected

§ rMSCuuidof()

bool Parser::rMSCuuidof ( exprt expr)
protected

Definition at line 6203 of file parse.cpp.

References irept::add(), exprt::move_to_operands(), pos(), irept::swap(), and TOK_MSC_UUIDOF.

§ rMultiplyExpr()

bool Parser::rMultiplyExpr ( exprt exp)
protected

Definition at line 5047 of file parse.cpp.

References exprt::move_to_operands(), and irept::swap().

§ rName()

bool Parser::rName ( irept name)
protected

§ rNamespaceSpec()

§ rNewDeclarator()

bool Parser::rNewDeclarator ( typet decl)
protected

Definition at line 5972 of file parse.cpp.

References array_typet::size(), typet::subtype(), and irept::swap().

§ rNoexceptExpr()

bool Parser::rNoexceptExpr ( exprt exp)
protected

Definition at line 5736 of file parse.cpp.

References exprt::move_to_operands(), and TOK_NOEXCEPT.

§ rNullDeclaration()

bool Parser::rNullDeclaration ( cpp_declarationt decl)
protected

Definition at line 583 of file parse.cpp.

§ rOperatorName()

§ rOtherDeclaration()

§ rOtherDeclStatement()

bool Parser::rOtherDeclStatement ( codet statement,
cpp_storage_spect storage_spec,
typet cv_q 
)
protected

§ rPmExpr()

bool Parser::rPmExpr ( exprt exp)
protected

Definition at line 5100 of file parse.cpp.

References exprt::move_to_operands(), irept::swap(), TOK_ARROWPM, and TOK_DOTPM.

§ rPostfixExpr()

§ rPrimaryExpr()

§ rProgram()

bool Parser::rProgram ( cpp_itemt item)
protected

Definition at line 517 of file parse.cpp.

§ rPtrToMember()

bool Parser::rPtrToMember ( irept ptr_to_mem)
protected

§ rRelationalExpr()

bool Parser::rRelationalExpr ( exprt exp,
bool  template_args 
)
protected

Definition at line 4908 of file parse.cpp.

References exprt::move_to_operands(), irept::swap(), TOK_GE, and TOK_LE.

§ rShiftExpr()

bool Parser::rShiftExpr ( exprt exp,
bool  template_args 
)
protected

§ rSimpleDeclaration()

bool Parser::rSimpleDeclaration ( cpp_declarationt declaration)
protected

§ rSizeofExpr()

bool Parser::rSizeofExpr ( exprt exp)
protected

§ rStatement()

§ rStaticAssert()

bool Parser::rStaticAssert ( cpp_static_assertt cpp_static_assert)
protected

§ rString()

bool Parser::rString ( cpp_tokent tk)
protected

Definition at line 455 of file parse.cpp.

References TOK_STRING.

§ rSwitchStatement()

bool Parser::rSwitchStatement ( codet statement)
protected

Definition at line 7336 of file parse.cpp.

References exprt::move_to_operands(), and TOK_SWITCH.

§ rTempArgDeclaration()

§ rTempArgList()

bool Parser::rTempArgList ( irept args)
protected

Definition at line 1094 of file parse.cpp.

References get_nil_irep(), and irept::get_sub().

§ rTemplateArgs()

bool Parser::rTemplateArgs ( irept template_args)
protected

§ rTemplateDecl()

bool Parser::rTemplateDecl ( cpp_declarationt decl)
protected

§ rTemplateDecl2()

bool Parser::rTemplateDecl2 ( typet decl,
TemplateDeclKind kind 
)
protected

Definition at line 1035 of file parse.cpp.

References irept::add(), irept::get_sub(), and TOK_TEMPLATE.

§ rThrowExpr()

bool Parser::rThrowExpr ( exprt exp)
protected

Definition at line 5531 of file parse.cpp.

References exprt::move_to_operands(), and TOK_THROW.

§ rTryStatement()

bool Parser::rTryStatement ( codet statement)
protected

§ rTypedef()

bool Parser::rTypedef ( cpp_declarationt declaration)
protected

§ rTypedefStatement()

bool Parser::rTypedefStatement ( codet statement)
protected

Definition at line 676 of file parse.cpp.

References exprt::op0(), and exprt::operands().

§ rTypedefUsing()

bool Parser::rTypedefUsing ( cpp_declarationt declaration)
protected

§ rTypeidExpr()

bool Parser::rTypeidExpr ( exprt exp)
protected

Definition at line 5570 of file parse.cpp.

References pos(), and TOK_TYPEID.

§ rTypeName()

bool Parser::rTypeName ( typet tname)
protected

Definition at line 5204 of file parse.cpp.

References irept::swap(), and exprt::type().

§ rTypeNameOrFunctionType()

bool Parser::rTypeNameOrFunctionType ( typet tname)
protected

§ rTypePredicate()

bool Parser::rTypePredicate ( exprt expr)
protected

§ rTypeSpecifier()

bool Parser::rTypeSpecifier ( typet tspec,
bool  check 
)
protected

Definition at line 687 of file parse.cpp.

References irept::is_nil(), and irept::make_nil().

§ rUnaryExpr()

bool Parser::rUnaryExpr ( exprt exp)
protected

§ rUsing()

bool Parser::rUsing ( cpp_usingt cpp_using)
protected

Definition at line 868 of file parse.cpp.

References cpp_usingt::name(), cpp_usingt::set_namespace(), TOK_NAMESPACE, and TOK_USING.

§ rVarName()

bool Parser::rVarName ( exprt name)
protected

Definition at line 6651 of file parse.cpp.

§ rVarNameCore()

bool Parser::rVarNameCore ( exprt name)
protected

§ rWhileStatement()

bool Parser::rWhileStatement ( codet statement)
protected

Definition at line 7369 of file parse.cpp.

References exprt::move_to_operands(), and TOK_WHILE.

§ set_location()

void Parser::set_location ( irept dest,
const cpp_tokent token 
)
inlineprotected

§ SkipTo()

void Parser::SkipTo ( int  token)
protected

Definition at line 8120 of file parse.cpp.

§ SyntaxError()

bool Parser::SyntaxError ( )
protected

Member Data Documentation

§ current_function

irep_idt Parser::current_function
protected

Definition at line 384 of file parse.cpp.

§ current_scope

new_scopet* Parser::current_scope
protected

Definition at line 218 of file parse.cpp.

§ lex

cpp_token_buffert& Parser::lex
protected

Definition at line 213 of file parse.cpp.

§ max_errors

unsigned int Parser::max_errors
protected

Definition at line 416 of file parse.cpp.

§ number_of_errors

unsigned Parser::number_of_errors
protected

Definition at line 383 of file parse.cpp.

§ parser

cpp_parsert& Parser::parser
protected

Definition at line 214 of file parse.cpp.

§ root_scope

new_scopet Parser::root_scope
protected

Definition at line 217 of file parse.cpp.


The documentation for this class was generated from the following file: