cprover
|
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 Attributes | |
cpp_token_buffert & | lex |
cpp_parsert & | parser |
new_scopet | root_scope |
new_scopet * | current_scope |
std::size_t | number_of_errors |
irep_idt | current_function |
unsigned int | max_errors |
|
protected |
|
protected |
|
inlineexplicit |
Definition at line 203 of file parse.cpp.
References current_scope, new_scopet::kind, new_scopet::NAMESPACE, and root_scope.
|
protected |
Definition at line 417 of file parse.cpp.
References current_scope, new_scopet::get_anon_id(), and irept::get_sub().
Referenced by make_sub_scope(), and rTempArgDeclaration().
|
protected |
Definition at line 430 of file parse.cpp.
References current_scope, new_scopet::id, new_scopet::id_map, new_scopet::kind, and new_scopet::parent.
|
protected |
Definition at line 6038 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), TOK_DELETE, TOK_NEW, and TOK_SCOPE.
Referenced by rUnaryExpr().
|
protected |
Definition at line 1856 of file parse.cpp.
References isPtrToMember(), lex, cpp_token_buffert::LookAhead(), TOK_CDECL, TOK_CLRCALL, TOK_FASTCALL, TOK_IDENTIFIER, and TOK_STDCALL.
Referenced by rOtherDeclaration().
|
protected |
Definition at line 1892 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), TOK_IDENTIFIER, and TOK_SCOPE.
Referenced by isConstructorDecl(), and optPtrOperator().
|
protected |
Definition at line 752 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), TOK_BOOL, TOK_CHAR, TOK_CHAR16_T, TOK_CHAR32_T, TOK_CLASS, TOK_COMPLEX, TOK_CONST, TOK_CONSTEXPR, TOK_CPROVER_BOOL, TOK_DECLTYPE, TOK_DOUBLE, TOK_ENUM, TOK_FLOAT, TOK_GCC_FLOAT128, TOK_GCC_FLOAT80, TOK_GCC_INT128, TOK_IDENTIFIER, TOK_INT, TOK_INT16, TOK_INT32, TOK_INT64, TOK_INT8, TOK_INTERFACE, TOK_LONG, TOK_PTR32, TOK_PTR64, TOK_RESTRICT, TOK_SCOPE, TOK_SHORT, TOK_SIGNED, TOK_STRUCT, TOK_TYPENAME, TOK_TYPEOF, TOK_UNDERLYING_TYPE, TOK_UNION, TOK_UNSIGNED, TOK_VOID, TOK_VOLATILE, and TOK_WCHAR_T.
Referenced by rAllocateType().
|
protected |
Definition at line 441 of file parse.cpp.
References add_id(), and current_scope.
Referenced by rClassSpec(), and rTemplateDecl().
|
protected |
Definition at line 447 of file parse.cpp.
References add_id(), and current_scope.
Definition at line 396 of file parse.cpp.
References dstringt::empty(), irept::id(), irept::is_not_nil(), typet::subtype(), and typet::subtypes().
Referenced by rCastOperatorName(), rDeclarator(), and rTypeName().
|
protected |
Definition at line 7076 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), TOK_SCOPE, and TOK_SHIFTRIGHT.
Referenced by rVarNameCore().
|
protected |
Definition at line 8377 of file parse.cpp.
Referenced by rTypeSpecifier().
Definition at line 461 of file parse.cpp.
References typet::add_source_location(), irept::id(), irept::is_nil(), typet::move_to_subtypes(), POSTCONDITION, typet::source_location(), and typet::subtypes().
Referenced by optAlignas(), optAttribute(), optCvQualify(), optIntegralTypeOrClassSpec(), optPtrOperator(), rAttribute(), rCastOperatorName(), rDeclaratorWithInit(), rIntegralDeclaration(), rIntegralDeclStatement(), rOtherDeclaration(), rOtherDeclStatement(), rSimpleDeclaration(), rTypedefUsing(), rTypeName(), and rTypeSpecifier().
|
protected |
Definition at line 7059 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), TOK_IDENTIFIER, TOK_OPERATOR, TOK_SCOPE, and TOK_TEMPLATE.
Referenced by rVarNameCore().
bool Parser::operator() | ( | void | ) |
Definition at line 8396 of file parse.cpp.
References irept::clear(), cpp_parse_treet::items, max_errors, number_of_errors, cpp_parsert::parse_tree, parser, new_scopet::print(), root_scope, and rProgram().
|
protected |
Definition at line 2106 of file parse.cpp.
References irept::add(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), merge_types(), pos(), rCommaExpression(), cpp_token_buffert::Restore(), rTypeName(), cpp_token_buffert::Save(), set_location(), irept::swap(), and TOK_ALIGNAS.
Referenced by rClassSpec().
|
protected |
Definition at line 2362 of file parse.cpp.
References cpp_token_buffert::get_token(), cpp_tokent::kind, lex, cpp_token_buffert::LookAhead(), merge_types(), set_location(), and TOK_NORETURN.
Referenced by rDeclaration().
|
protected |
Definition at line 2020 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), merge_types(), rAttribute(), rString(), set_location(), TOK_CONST, TOK_CONSTEXPR, TOK_GCC_ASM, TOK_GCC_ATTRIBUTE, TOK_PTR32, TOK_PTR64, TOK_RESTRICT, TOK_VOLATILE, and UNREACHABLE.
Referenced by optPtrOperator(), rCastOperatorName(), rConstructorDecl(), rDeclaration(), rDeclarationStatement(), rDeclarator(), rIntegralDeclaration(), rIntegralDeclStatement(), rOtherDeclaration(), rOtherDeclStatement(), rSimpleDeclaration(), rTypeNameOrFunctionType(), and rTypeSpecifier().
|
protected |
Definition at line 2407 of file parse.cpp.
References irept::add(), dstringt::empty(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), merge_types(), pos(), rClassSpec(), rCommaExpression(), rEnumSpec(), cpp_token_buffert::Restore(), rTypeName(), cpp_token_buffert::Save(), set_location(), irept::swap(), TOK_AUTO, TOK_BOOL, TOK_CHAR, TOK_CHAR16_T, TOK_CHAR32_T, TOK_CLASS, TOK_COMPLEX, TOK_CPROVER_BOOL, TOK_DECLTYPE, TOK_DOUBLE, TOK_ENUM, TOK_FLOAT, TOK_GCC_FLOAT128, TOK_GCC_FLOAT80, TOK_GCC_INT128, TOK_INT, TOK_INT16, TOK_INT32, TOK_INT64, TOK_INT8, TOK_INTERFACE, TOK_LONG, TOK_SHORT, TOK_SIGNED, TOK_STRUCT, TOK_TYPENAME, TOK_TYPEOF, TOK_UNDERLYING_TYPE, TOK_UNION, TOK_UNSIGNED, TOK_VOID, and TOK_WCHAR_T.
Referenced by rCastOperatorName(), rDeclaration(), rDeclarationStatement(), rPrimaryExpr(), rSimpleDeclaration(), and rTypeSpecifier().
|
protected |
Definition at line 1949 of file parse.cpp.
References irept::clear(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), cpp_member_spect::set_explicit(), cpp_member_spect::set_friend(), cpp_member_spect::set_inline(), cpp_member_spect::set_virtual(), TOK_EXPLICIT, TOK_FRIEND, TOK_INLINE, TOK_MSC_FORCEINLINE, TOK_VIRTUAL, and UNREACHABLE.
Referenced by rDeclaration(), and rOtherDeclaration().
|
protected |
Definition at line 3247 of file parse.cpp.
References cpp_token_buffert::get_token(), irept::is_not_nil(), isPtrToMember(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), merge_types(), optCvQualify(), rPtrToMember(), irept::set(), set_location(), irept::swap(), and TOK_ANDAND.
Referenced by rCastOperatorName(), rDeclarator(), rNewDeclarator(), and rTypeNameOrFunctionType().
|
protected |
Definition at line 1984 of file parse.cpp.
References ansi_c_parser, ansi_c_parsert::cpp11, cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), cpp_storage_spect::set_asm(), cpp_storage_spect::set_auto(), cpp_storage_spect::set_extern(), set_location(), cpp_storage_spect::set_mutable(), cpp_storage_spect::set_register(), cpp_storage_spect::set_static(), cpp_storage_spect::set_thread_local(), TOK_AUTO, TOK_EXTERN, TOK_GCC_ASM, TOK_MUTABLE, TOK_REGISTER, TOK_STATIC, TOK_THREAD_LOCAL, and UNREACHABLE.
Referenced by rDeclaration(), rDeclarationStatement(), and rOtherDeclaration().
|
protected |
Definition at line 2760 of file parse.cpp.
References get_nil_irep(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), rName(), rNoexceptExpr(), TOK_ELLIPSIS, TOK_NOEXCEPT, and TOK_THROW.
Referenced by rConstructorDecl(), and rDeclarator().
|
protected |
Definition at line 4734 of file parse.cpp.
References cpp_declarationt::declarators(), cpp_token_buffert::get_token(), lex, cpp_declaratort::name(), and rName().
Referenced by rClassMember().
|
protected |
Definition at line 5259 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rMultiplyExpr(), set_location(), and irept::swap().
Referenced by rShiftExpr().
|
protected |
Definition at line 5973 of file parse.cpp.
References irept::add(), cpp_token_buffert::get_token(), lex, rTypeName(), set_location(), irept::swap(), and TOK_ALIGNOF.
Referenced by rUnaryExpr().
|
protected |
Definition at line 6051 of file parse.cpp.
References irept::add(), get_nil_irep(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), exprt::operands(), rAllocateType(), rCastExpr(), irept::set(), set_location(), irept::swap(), TOK_DELETE, TOK_NEW, TOK_SCOPE, and exprt::type().
Referenced by rUnaryExpr().
|
protected |
Definition at line 6268 of file parse.cpp.
References irept::clear(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rInitializeExpr(), and TOK_ELLIPSIS.
Referenced by rAllocateType().
Definition at line 6141 of file parse.cpp.
References cpp_token_buffert::get_token(), isTypeSpecifier(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), pos(), rAllocateInitializer(), cpp_token_buffert::Restore(), rFunctionArguments(), rInitializeExpr(), rNewDeclarator(), rTypeName(), rTypeSpecifier(), cpp_token_buffert::Save(), and irept::swap().
Referenced by rAllocateExpr().
|
protected |
Definition at line 5088 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rEqualityExpr(), set_location(), and irept::swap().
Referenced by rExclusiveOrExpr().
|
protected |
Definition at line 4108 of file parse.cpp.
References cpp_declarationt::declarators(), cpp_token_buffert::get_token(), kArgDeclarator, lex, cpp_token_buffert::LookAhead(), irept::make_nil(), rDeclarator(), rInitializeExpr(), rTypeSpecifier(), TOK_REGISTER, and exprt::type().
Referenced by rArgDeclList(), rTryStatement(), and rTypeNameOrFunctionType().
|
protected |
Definition at line 4055 of file parse.cpp.
References irept::clear(), irept::get_sub(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), rArgDeclaration(), irept::swap(), and TOK_ELLIPSIS.
Referenced by rArgDeclListOrInit(), and rConstructorDecl().
|
protected |
Definition at line 4016 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), pos(), rArgDeclList(), cpp_token_buffert::Restore(), rFunctionArguments(), and cpp_token_buffert::Save().
Referenced by rDeclarator().
|
protected |
Definition at line 2162 of file parse.cpp.
References irept::add(), typet::add_source_location(), cpp_tokent::data, irept::get(), cpp_token_buffert::get_token(), cpp_tokent::kind, lex, cpp_token_buffert::LookAhead(), merge_types(), irept::move_to_sub(), rCommaExpression(), rName(), rString(), irept::set(), set_location(), exprt::source_location(), TOK_GCC_ATTRIBUTE_ALIAS, TOK_GCC_ATTRIBUTE_ALIGNED, TOK_GCC_ATTRIBUTE_CONSTRUCTOR, TOK_GCC_ATTRIBUTE_DESTRUCTOR, TOK_GCC_ATTRIBUTE_GNU_INLINE, TOK_GCC_ATTRIBUTE_MODE, TOK_GCC_ATTRIBUTE_NORETURN, TOK_GCC_ATTRIBUTE_PACKED, TOK_GCC_ATTRIBUTE_SECTION, TOK_GCC_ATTRIBUTE_TRANSPARENT_UNION, TOK_GCC_ATTRIBUTE_VECTOR_SIZE, and TOK_GCC_ATTRIBUTE_WEAK.
Referenced by optCvQualify(), rClassSpec(), and rNamespaceSpec().
|
protected |
Definition at line 4535 of file parse.cpp.
References irept::add(), irept::get_sub(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), rName(), irept::set(), TOK_ELLIPSIS, TOK_PRIVATE, TOK_PROTECTED, TOK_PUBLIC, TOK_VIRTUAL, and UNREACHABLE.
Referenced by rClassSpec().
|
protected |
Definition at line 5403 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), pos(), cpp_token_buffert::Restore(), rTypeName(), rUnaryExpr(), cpp_token_buffert::Save(), set_location(), irept::swap(), TOK_INTEGER, and exprt::type().
Referenced by rAllocateExpr(), rPmExpr(), and rUnaryExpr().
|
protected |
Definition at line 3729 of file parse.cpp.
References irept::is_nil(), irept::make_nil(), make_subtype(), merge_types(), optCvQualify(), optIntegralTypeOrClassSpec(), optPtrOperator(), and rName().
Referenced by rOperatorName(), and rTypeNameOrFunctionType().
|
protected |
Definition at line 4606 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), irept::pretty(), rClassMember(), set_location(), SkipTo(), irept::swap(), and SyntaxError().
Referenced by rClassSpec().
|
protected |
Definition at line 4666 of file parse.cpp.
References cpp_token_buffert::get_token(), irept::id(), lex, cpp_token_buffert::LookAhead(), cpp_itemt::make_declaration(), cpp_itemt::make_static_assert(), cpp_itemt::make_using(), pos(), rAccessDecl(), rDeclaration(), cpp_token_buffert::Restore(), rNullDeclaration(), rStaticAssert(), rTemplateDecl(), rTypedef(), rTypedefUsing(), rUsing(), cpp_token_buffert::Save(), set_location(), TOK_IDENTIFIER, TOK_PRIVATE, TOK_PROTECTED, TOK_PUBLIC, TOK_STATIC_ASSERT, TOK_TEMPLATE, TOK_TYPEDEF, TOK_USING, and UNREACHABLE.
Referenced by rClassBody().
|
protected |
Definition at line 4419 of file parse.cpp.
References irept::add(), current_scope, irept::find(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), make_sub_scope(), optAlignas(), rAttribute(), rBaseSpecifiers(), rClassBody(), rName(), irept::set(), set_location(), irept::swap(), new_scopet::TAG, TOK_CLASS, TOK_GCC_ATTRIBUTE, TOK_INTERFACE, TOK_STRUCT, TOK_UNION, and UNREACHABLE.
Referenced by optIntegralTypeOrClassSpec().
|
protected |
Definition at line 4759 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rExpression(), set_location(), and irept::swap().
Referenced by optAlignas(), optIntegralTypeOrClassSpec(), rAttribute(), rCondition(), rConditionalExpr(), rDeclarator(), rDoStatement(), rExprStatement(), rForStatement(), rGCCAsmStatement(), rMSC_tryStatement(), rNewDeclarator(), rPostfixExpr(), rPrimaryExpr(), and rStatement().
|
protected |
Definition at line 7225 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rStatement(), set_location(), SkipTo(), and SyntaxError().
Referenced by rFunctionBody(), rMSC_tryStatement(), rPrimaryExpr(), rStatement(), and rTryStatement().
|
protected |
Definition at line 8175 of file parse.cpp.
References lex, exprt::move_to_operands(), pos(), rCommaExpression(), cpp_token_buffert::Restore(), rSimpleDeclaration(), and cpp_token_buffert::Save().
Referenced by rIfStatement(), rSwitchStatement(), and rWhileStatement().
|
protected |
Definition at line 4883 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rCommaExpression(), rExpression(), rLogicalOrExpr(), set_location(), and irept::swap().
Referenced by rExpression(), rTempArgDeclaration(), and rTemplateArgs().
|
protected |
Definition at line 1653 of file parse.cpp.
References cpp_declarationt::declarators(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), and rDeclarators().
Referenced by rDeclaration(), and rDeclarationStatement().
|
protected |
Definition at line 2630 of file parse.cpp.
References irept::add(), ansi_c_parser, ansi_c_parsert::cpp11, cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), cpp_declaratort::member_initializers(), cpp_declaratort::name(), optCvQualify(), optThrowDecl(), rArgDeclList(), rMemberInitializers(), rTypeSpecifier(), set_location(), typet::subtype(), irept::swap(), SyntaxError(), cpp_declaratort::throw_decl(), TOK_ARROW, TOK_DEFAULT, TOK_DELETE, TOK_INTEGER, exprt::type(), and cpp_declaratort::value().
Referenced by rOtherDeclaration().
|
protected |
Definition at line 1383 of file parse.cpp.
References cpp_member_spect::is_empty(), irept::is_not_nil(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), optAttribute(), optCvQualify(), optIntegralTypeOrClassSpec(), optMemberSpec(), optStorageSpec(), rConstDeclaration(), rIntegralDeclaration(), rOtherDeclaration(), TOK_IDENTIFIER, and exprt::type().
Referenced by rClassMember(), rDefinition(), rExternTemplateDecl(), and rTemplateDecl().
|
protected |
Definition at line 8214 of file parse.cpp.
References irept::is_not_nil(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), exprt::op0(), exprt::operands(), optCvQualify(), optIntegralTypeOrClassSpec(), optStorageSpec(), rConstDeclaration(), rIntegralDeclStatement(), rOtherDeclStatement(), and TOK_IDENTIFIER.
Referenced by rExprStatement().
|
protected |
Definition at line 2999 of file parse.cpp.
References irept::add(), irept::clear(), get_nil_irep(), cpp_token_buffert::get_token(), cpp_declaratort::init_args(), irept::is_nil(), irept::is_not_nil(), kCastDeclarator, kDeclarator, lex, cpp_token_buffert::LookAhead(), irept::make_nil(), make_subtype(), cpp_declaratort::method_qualifier(), cpp_declaratort::name(), optCvQualify(), optPtrOperator(), optThrowDecl(), rArgDeclListOrInit(), rCommaExpression(), rDeclaratorQualifier(), rMemberInitializers(), rName(), rTypeSpecifier(), typet::subtype(), irept::swap(), TOK_ARROW, TOK_IDENTIFIER, TOK_SCOPE, and exprt::type().
Referenced by rArgDeclaration(), rDeclaratorWithInit(), rSimpleDeclaration(), rTempArgDeclaration(), and rTypeName().
|
protected |
Definition at line 2966 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), TOK_CDECL, TOK_CLRCALL, TOK_FASTCALL, and TOK_STDCALL.
Referenced by rDeclarator().
|
protected |
Definition at line 2828 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), and rDeclaratorWithInit().
Referenced by rConstDeclaration(), rIntegralDeclaration(), rIntegralDeclStatement(), rOtherDeclaration(), rOtherDeclStatement(), and rTypedef().
|
protected |
Definition at line 2857 of file parse.cpp.
References ansi_c_parser, ansi_c_parsert::cpp11, cpp_token_buffert::get_token(), irept::id(), kDeclarator, lex, cpp_token_buffert::LookAhead(), irept::make_nil(), merge_types(), rDeclarator(), rExpression(), rInitializeExpr(), irept::set(), set_location(), typet::subtype(), irept::swap(), SyntaxError(), TOK_DEFAULT, TOK_DELETE, exprt::type(), and cpp_declaratort::value().
Referenced by rDeclarators().
|
protected |
Definition at line 552 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), cpp_itemt::make_declaration(), cpp_itemt::make_linkage_spec(), cpp_itemt::make_namespace_spec(), cpp_itemt::make_static_assert(), cpp_itemt::make_using(), rDeclaration(), rExternTemplateDecl(), rLinkageSpec(), rNamespaceSpec(), rNullDeclaration(), rStaticAssert(), rTemplateDecl(), rTypedef(), rTypedefUsing(), rUsing(), TOK_EXTERN, TOK_IDENTIFIER, TOK_INLINE, TOK_NAMESPACE, TOK_STATIC_ASSERT, TOK_STRING, TOK_TEMPLATE, TOK_TYPEDEF, and TOK_USING.
Referenced by rLinkageBody(), rLinkageSpec(), rNamespaceSpec(), and rProgram().
|
protected |
Definition at line 7664 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, exprt::move_to_operands(), rCommaExpression(), rStatement(), set_location(), TOK_DO, and TOK_WHILE.
Referenced by rStatement().
|
protected |
Definition at line 4363 of file parse.cpp.
References irept::add(), irept::clear(), cpp_tokent::data, irept::get(), irept::get_sub(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), rExpression(), irept::set(), set_location(), SkipTo(), irept::swap(), SyntaxError(), and TOK_IDENTIFIER.
Referenced by rEnumSpec().
|
protected |
Definition at line 4280 of file parse.cpp.
References irept::add(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), rEnumBody(), rName(), rTypeName(), irept::set(), set_location(), typet::subtype(), irept::swap(), TOK_CLASS, and TOK_ENUM.
Referenced by optIntegralTypeOrClassSpec().
|
protected |
Definition at line 5127 of file parse.cpp.
References cpp_token_buffert::get_token(), cpp_tokent::kind, lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rRelationalExpr(), set_location(), irept::swap(), TOK_EQ, and TOK_NE.
Referenced by rAndExpr().
|
protected |
Definition at line 5049 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rAndExpr(), set_location(), and irept::swap().
Referenced by rInclusiveOrExpr().
|
protected |
Definition at line 4802 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rConditionalExpr(), irept::set(), set_location(), irept::swap(), TOK_ANDASSIGN, TOK_DIVASSIGN, TOK_MINUSASSIGN, TOK_MODASSIGN, TOK_MULTASSIGN, TOK_ORASSIGN, TOK_PLUSASSIGN, TOK_SHLASSIGN, TOK_SHRASSIGN, and TOK_XORASSIGN.
Referenced by rCommaExpression(), rConditionalExpr(), rDeclaratorWithInit(), rEnumBody(), rFunctionArguments(), rInitializeExpr(), rIntegralDeclaration(), rNoexceptExpr(), rSimpleDeclaration(), rStatement(), rStaticAssert(), rThrowExpr(), and rTypeidExpr().
|
protected |
Definition at line 8102 of file parse.cpp.
References exprt::add_source_location(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), pos(), irept::pretty(), rCommaExpression(), rDeclarationStatement(), cpp_token_buffert::Restore(), cpp_token_buffert::Save(), set_location(), and exprt::source_location().
Referenced by rForStatement(), and rStatement().
|
protected |
Definition at line 1335 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, rDeclaration(), TOK_EXTERN, and TOK_TEMPLATE.
Referenced by rDefinition().
|
protected |
Definition at line 7704 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), exprt::move_to_operands(), rCommaExpression(), exprt::reserve_operands(), rExprStatement(), rStatement(), set_location(), and TOK_FOR.
Referenced by rStatement().
|
protected |
Definition at line 4240 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rExpression(), and TOK_ELLIPSIS.
Referenced by rAllocateType(), rArgDeclListOrInit(), rMemberInit(), rPostfixExpr(), and rPrimaryExpr().
|
protected |
Definition at line 7177 of file parse.cpp.
References dstringt::clear(), current_function, cpp_namet::get_base_name(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), cpp_declaratort::name(), rCompoundStatement(), set_location(), TOK_ASM_STRING, and cpp_declaratort::value().
Referenced by rIntegralDeclaration(), and rOtherDeclaration().
|
protected |
Definition at line 7925 of file parse.cpp.
References cpp_tokent::data, cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::op0(), exprt::operands(), rCommaExpression(), rString(), irept::set(), set_location(), TOK_GCC_ASM, TOK_STRING, and TOK_VOLATILE.
Referenced by rStatement().
|
protected |
Definition at line 7550 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), exprt::op0(), exprt::op1(), exprt::op2(), exprt::operands(), rCondition(), rStatement(), set_location(), irept::swap(), TOK_ELSE, and TOK_IF.
Referenced by rStatement().
|
protected |
Definition at line 5010 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rExclusiveOrExpr(), set_location(), and irept::swap().
Referenced by rLogicalAndExpr().
|
protected |
Definition at line 4151 of file parse.cpp.
References cpp_token_buffert::get_token(), irept::id(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rExpression(), rVarName(), set_location(), SkipTo(), SyntaxError(), TOK_MSC_IF_EXISTS, and TOK_MSC_IF_NOT_EXISTS.
Referenced by rAllocateInitializer(), rAllocateType(), rArgDeclaration(), rDeclaratorWithInit(), rMemberInit(), and rPrimaryExpr().
|
protected |
Definition at line 1529 of file parse.cpp.
References cpp_declarationt::declarators(), cpp_token_buffert::get_token(), irept::id(), lex, cpp_token_buffert::LookAhead(), cpp_declarationt::member_spec(), merge_types(), optCvQualify(), irept::pretty(), rDeclarators(), rExpression(), rFunctionBody(), cpp_declarationt::storage_spec(), irept::swap(), and exprt::type().
Referenced by rDeclaration().
|
protected |
Definition at line 8282 of file parse.cpp.
References cpp_declarationt::declarators(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), merge_types(), exprt::move_to_operands(), optCvQualify(), rDeclarators(), set_location(), cpp_declarationt::storage_spec(), irept::swap(), and exprt::type().
Referenced by rDeclarationStatement().
|
protected |
Definition at line 951 of file parse.cpp.
References cpp_tokent::clear(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), rDefinition(), SkipTo(), and SyntaxError().
Referenced by rLinkageSpec(), and rNamespaceSpec().
|
protected |
Definition at line 784 of file parse.cpp.
References cpp_tokent::data, cpp_token_buffert::get_token(), cpp_linkage_spect::items(), lex, cpp_linkage_spect::linkage(), cpp_token_buffert::LookAhead(), rDefinition(), rLinkageBody(), rString(), set_location(), irept::swap(), and TOK_EXTERN.
Referenced by rDefinition().
|
protected |
Definition at line 4971 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rInclusiveOrExpr(), set_location(), irept::swap(), and TOK_ANDAND.
Referenced by rLogicalOrExpr().
|
protected |
Definition at line 4932 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rLogicalAndExpr(), set_location(), irept::swap(), and TOK_OROR.
Referenced by rConditionalExpr().
|
protected |
Definition at line 3399 of file parse.cpp.
References irept::add(), cpp_token_buffert::get_token(), cpp_tokent::kind, lex, cpp_token_buffert::LookAhead(), exprt::operands(), rFunctionArguments(), rInitializeExpr(), rName(), set_location(), irept::swap(), and TOK_ELLIPSIS.
Referenced by rMemberInitializers().
|
protected |
Definition at line 3366 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), irept::move_to_sub(), rMemberInit(), and set_location().
Referenced by rConstructorDecl(), and rDeclarator().
|
protected |
Definition at line 6513 of file parse.cpp.
References cpp_token_buffert::get_token(), cpp_tokent::kind, lex, exprt::move_to_operands(), rUnaryExpr(), rVarName(), set_location(), TOK_MSC_IF_EXISTS, and TOK_MSC_IF_NOT_EXISTS.
Referenced by rPrimaryExpr().
|
protected |
Definition at line 6558 of file parse.cpp.
References cpp_token_buffert::get_token(), cpp_tokent::kind, lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rStatement(), rVarName(), set_location(), TOK_MSC_IF_EXISTS, and TOK_MSC_IF_NOT_EXISTS.
Referenced by rStatement().
|
protected |
Definition at line 7909 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, set_location(), and TOK_MSC_LEAVE.
Referenced by rStatement().
|
protected |
Definition at line 7854 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rCommaExpression(), rCompoundStatement(), set_location(), codet::set_statement(), TOK_MSC_EXCEPT, TOK_MSC_FINALLY, and TOK_MSC_TRY.
Referenced by rStatement().
|
protected |
Definition at line 8026 of file parse.cpp.
References cpp_tokent::data, cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), irept::set(), set_location(), TOK_ASM_STRING, and TOK_MSC_ASM.
Referenced by rStatement().
|
protected |
Definition at line 6464 of file parse.cpp.
References irept::add(), cpp_token_buffert::get_token(), lex, exprt::move_to_operands(), pos(), cpp_token_buffert::Restore(), rTypeName(), rUnaryExpr(), cpp_token_buffert::Save(), set_location(), irept::swap(), and TOK_MSC_UUIDOF.
Referenced by rPrimaryExpr().
|
protected |
Definition at line 5306 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rPmExpr(), set_location(), and irept::swap().
Referenced by rAdditiveExpr().
|
protected |
Definition at line 3481 of file parse.cpp.
References irept::add(), cpp_tokent::data, irept::get(), irept::get_sub(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), rOperatorName(), rTemplateArgs(), irept::set(), set_location(), irept::swap(), TOK_IDENTIFIER, TOK_OPERATOR, TOK_SCOPE, TOK_TEMPLATE, and TOK_TYPENAME.
Referenced by optThrowDecl(), rAccessDecl(), rAttribute(), rBaseSpecifiers(), rCastOperatorName(), rClassSpec(), rDeclarator(), rEnumSpec(), rMemberInit(), rNamespaceSpec(), rOtherDeclaration(), rOtherDeclStatement(), rSimpleDeclaration(), rTypeSpecifier(), and rUsing().
|
protected |
Definition at line 824 of file parse.cpp.
References cpp_namespace_spect::alias(), cpp_tokent::data, irept::get(), cpp_token_buffert::get_token(), cpp_namespace_spect::items(), lex, cpp_token_buffert::LookAhead(), rAttribute(), rDefinition(), rLinkageBody(), rName(), cpp_namespace_spect::set_is_inline(), set_location(), cpp_namespace_spect::set_namespace(), TOK_GCC_ATTRIBUTE, TOK_IDENTIFIER, TOK_INLINE, and TOK_NAMESPACE.
Referenced by rDefinition().
|
protected |
Definition at line 6237 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), optPtrOperator(), rCommaExpression(), set_location(), and irept::swap().
Referenced by rAllocateType().
|
protected |
Definition at line 6001 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rExpression(), set_location(), and TOK_NOEXCEPT.
Referenced by optThrowDecl(), and rUnaryExpr().
|
protected |
Definition at line 588 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, and set_location().
Referenced by rClassMember(), and rDefinition().
|
protected |
Definition at line 3625 of file parse.cpp.
References dstringt::empty(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), rCastOperatorName(), set_location(), TOK_ANDAND, TOK_ANDASSIGN, TOK_ARROW, TOK_ARROWPM, TOK_DECR, TOK_DELETE, TOK_DIVASSIGN, TOK_DOTPM, TOK_EQ, TOK_GE, TOK_INCR, TOK_LE, TOK_MINUSASSIGN, TOK_MODASSIGN, TOK_MULTASSIGN, TOK_NE, TOK_NEW, TOK_ORASSIGN, TOK_OROR, TOK_PLUSASSIGN, TOK_SHIFTLEFT, TOK_SHIFTRIGHT, TOK_SHLASSIGN, TOK_SHRASSIGN, and TOK_XORASSIGN.
Referenced by rName(), and rVarNameCore().
|
protected |
Definition at line 1672 of file parse.cpp.
References cpp_declarationt::declarators(), forall_irep, irept::get_sub(), cpp_token_buffert::get_token(), cpp_storage_spect::is_auto(), is_constructor(), cpp_member_spect::is_empty(), cpp_storage_spect::is_empty(), irept::is_nil(), isConstructorDecl(), lex, cpp_token_buffert::LookAhead(), cpp_declarationt::member_spec(), merge_types(), optCvQualify(), optMemberSpec(), optStorageSpec(), rConstructorDecl(), rDeclarators(), rFunctionBody(), rName(), cpp_declarationt::storage_spec(), irept::swap(), and exprt::type().
Referenced by rDeclaration().
|
protected |
Definition at line 8327 of file parse.cpp.
References cpp_declarationt::declarators(), cpp_token_buffert::get_token(), lex, merge_types(), exprt::move_to_operands(), optCvQualify(), rDeclarators(), rName(), set_location(), cpp_declarationt::storage_spec(), irept::swap(), and exprt::type().
Referenced by rDeclarationStatement().
|
protected |
Definition at line 5359 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rCastExpr(), set_location(), irept::swap(), TOK_ARROWPM, and TOK_DOTPM.
Referenced by rMultiplyExpr().
|
protected |
Definition at line 6325 of file parse.cpp.
References irept::add(), side_effect_expr_function_callt::arguments(), Forall_operands, side_effect_expr_function_callt::function(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), exprt::operands(), rCommaExpression(), rFunctionArguments(), rPrimaryExpr(), rVarName(), set_location(), irept::swap(), TOK_ARROW, TOK_DECR, and TOK_INCR.
Referenced by rUnaryExpr().
|
protected |
Definition at line 6679 of file parse.cpp.
References cpp_token_buffert::current_token(), cpp_tokent::data, cpp_token_buffert::get_token(), irept::is_not_nil(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), exprt::operands(), optIntegralTypeOrClassSpec(), pointer_type(), rCommaExpression(), rCompoundStatement(), rFunctionArguments(), rInitializeExpr(), rMSC_if_existsExpr(), rMSCuuidof(), rString(), rTypeidExpr(), rTypePredicate(), rVarName(), irept::set(), set_location(), irept::swap(), cpp_tokent::text, TOK_BINARY_TYPE_PREDICATE, TOK_CHARACTER, TOK_FALSE, TOK_FLOATING, TOK_INTEGER, TOK_MSC_IF_EXISTS, TOK_MSC_IF_NOT_EXISTS, TOK_MSC_UUIDOF, TOK_NULLPTR, TOK_SCOPE, TOK_STRING, TOK_THIS, TOK_TRUE, TOK_TYPEID, TOK_UNARY_TYPE_PREDICATE, and exprt::type().
Referenced by rPostfixExpr().
|
protected |
Definition at line 522 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), rDefinition(), SkipTo(), and SyntaxError().
Referenced by operator()().
|
protected |
Definition at line 3769 of file parse.cpp.
References irept::add(), cpp_tokent::data, irept::get(), irept::get_sub(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), rTemplateArgs(), set_location(), irept::swap(), TOK_IDENTIFIER, TOK_SCOPE, and TOK_TEMPLATE.
Referenced by optPtrOperator().
|
protected |
Definition at line 5167 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rShiftExpr(), set_location(), irept::swap(), TOK_GE, and TOK_LE.
Referenced by rEqualityExpr().
|
protected |
Definition at line 5219 of file parse.cpp.
References cpp_token_buffert::get_token(), cpp_tokent::kind, lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rAdditiveExpr(), set_location(), irept::swap(), TOK_SHIFTLEFT, and TOK_SHIFTRIGHT.
Referenced by rRelationalExpr().
|
protected |
Definition at line 1471 of file parse.cpp.
References cpp_declarationt::declarators(), cpp_token_buffert::get_token(), irept::is_nil(), irept::is_not_nil(), kDeclarator, lex, cpp_token_buffert::LookAhead(), irept::make_nil(), merge_types(), optCvQualify(), optIntegralTypeOrClassSpec(), rDeclarator(), rExpression(), rName(), irept::swap(), exprt::type(), and cpp_declaratort::value().
Referenced by rCondition().
|
protected |
Definition at line 5901 of file parse.cpp.
References irept::add(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), pos(), cpp_token_buffert::Restore(), rTypeName(), rUnaryExpr(), cpp_token_buffert::Save(), set_location(), irept::swap(), TOK_ELLIPSIS, and TOK_SIZEOF.
Referenced by rUnaryExpr().
|
protected |
Definition at line 7288 of file parse.cpp.
References exprt::add_source_location(), cpp_tokent::data, irept::get(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), exprt::op0(), exprt::op1(), exprt::op2(), exprt::operands(), rCommaExpression(), rCompoundStatement(), rDoStatement(), rExpression(), rExprStatement(), rForStatement(), rGCCAsmStatement(), rIfStatement(), rMSC_if_existsStatement(), rMSC_leaveStatement(), rMSC_tryStatement(), rMSCAsmStatement(), rStaticAssert(), rSwitchStatement(), rTryStatement(), rTypedefStatement(), rTypedefUsing(), rUsing(), rWhileStatement(), irept::set(), set_location(), codet::set_statement(), exprt::source_location(), irept::swap(), TOK_BREAK, TOK_CASE, TOK_CONTINUE, TOK_DEFAULT, TOK_DO, TOK_ELLIPSIS, TOK_FOR, TOK_GCC_ASM, TOK_GOTO, TOK_IDENTIFIER, TOK_IF, TOK_MSC_ASM, TOK_MSC_IF_EXISTS, TOK_MSC_IF_NOT_EXISTS, TOK_MSC_LEAVE, TOK_MSC_TRY, TOK_RETURN, TOK_STATIC_ASSERT, TOK_SWITCH, TOK_TRY, TOK_TYPEDEF, TOK_USING, and TOK_WHILE.
Referenced by rCompoundStatement(), rDoStatement(), rForStatement(), rIfStatement(), rMSC_if_existsStatement(), rSwitchStatement(), and rWhileStatement().
|
protected |
Definition at line 915 of file parse.cpp.
References cpp_static_assertt::cond(), cpp_static_assertt::description(), cpp_token_buffert::get_token(), lex, rExpression(), set_location(), and TOK_STATIC_ASSERT.
Referenced by rClassMember(), rDefinition(), and rStatement().
|
protected |
Definition at line 453 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, and TOK_STRING.
Referenced by optCvQualify(), rAttribute(), rGCCAsmStatement(), rLinkageSpec(), and rPrimaryExpr().
|
protected |
Definition at line 7598 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, exprt::move_to_operands(), rCondition(), rStatement(), set_location(), and TOK_SWITCH.
Referenced by rStatement().
|
protected |
Definition at line 1147 of file parse.cpp.
References add_id(), cpp_tokent::data, cpp_declarationt::declarators(), irept::get(), irept::get_sub(), cpp_token_buffert::get_token(), kArgDeclarator, lex, cpp_token_buffert::LookAhead(), irept::make_nil(), cpp_declaratort::name(), new_scopet::NON_TYPE_TEMPLATE_PARAMETER, pos(), rConditionalExpr(), rDeclarator(), cpp_token_buffert::Restore(), rTemplateDecl2(), rTypeName(), rTypeSpecifier(), cpp_token_buffert::Save(), irept::set(), set_location(), irept::swap(), TOK_CLASS, TOK_ELLIPSIS, TOK_IDENTIFIER, TOK_TEMPLATE, TOK_TYPENAME, exprt::type(), new_scopet::TYPE_TEMPLATE_PARAMETER, and cpp_declaratort::value().
Referenced by rTempArgList().
|
protected |
Definition at line 1113 of file parse.cpp.
References get_nil_irep(), irept::get_sub(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), and rTempArgDeclaration().
Referenced by rTemplateDecl2().
|
protected |
Definition at line 3868 of file parse.cpp.
References exprt::add_source_location(), irept::get_sub(), cpp_token_buffert::get_token(), irept::id(), cpp_token_buffert::Insert(), cpp_tokent::kind, lex, cpp_token_buffert::LookAhead(), pos(), rConditionalExpr(), cpp_token_buffert::Replace(), cpp_token_buffert::Restore(), rTypeNameOrFunctionType(), cpp_token_buffert::Save(), set_location(), typet::source_location(), irept::swap(), cpp_tokent::text, TOK_ELLIPSIS, TOK_SHIFTRIGHT, and exprt::type().
Referenced by rName(), rPtrToMember(), and rVarNameCore().
|
protected |
Definition at line 999 of file parse.cpp.
References irept::add(), current_scope, new_scopet::id_map, lex, cpp_token_buffert::LookAhead(), make_sub_scope(), irept::pretty(), rDeclaration(), rTemplateDecl2(), rTypedefUsing(), irept::set(), irept::swap(), tdk_decl, tdk_instantiation, tdk_specialization, tdk_unknown, new_scopet::TEMPLATE, TOK_USING, and UNREACHABLE.
Referenced by rClassMember(), and rDefinition().
|
protected |
Definition at line 1054 of file parse.cpp.
References irept::add(), irept::get_sub(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), rTempArgList(), set_location(), tdk_decl, tdk_instantiation, tdk_specialization, and TOK_TEMPLATE.
Referenced by rTempArgDeclaration(), and rTemplateDecl().
|
protected |
Definition at line 5796 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rExpression(), set_location(), and TOK_THROW.
Referenced by rUnaryExpr().
|
protected |
Definition at line 7767 of file parse.cpp.
References cpp_declarationt::declarators(), codet::get_statement(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), exprt::operands(), rArgDeclaration(), rCompoundStatement(), irept::set(), set_location(), codet::set_statement(), TOK_CATCH, TOK_ELLIPSIS, and TOK_TRY.
Referenced by rStatement().
|
protected |
Definition at line 604 of file parse.cpp.
References cpp_declarationt::declarators(), cpp_token_buffert::get_token(), lex, rDeclarators(), rTypeSpecifier(), cpp_declarationt::set_is_typedef(), set_location(), TOK_TYPEDEF, and exprt::type().
Referenced by rClassMember(), rDefinition(), and rTypedefStatement().
|
protected |
Definition at line 681 of file parse.cpp.
References exprt::op0(), exprt::operands(), and rTypedef().
Referenced by rStatement().
|
protected |
Definition at line 632 of file parse.cpp.
References cpp_tokent::data, cpp_declarationt::declarators(), irept::get(), cpp_token_buffert::get_token(), lex, irept::make_nil(), merge_types(), cpp_declaratort::name(), rTypeNameOrFunctionType(), set_location(), TOK_IDENTIFIER, TOK_USING, and exprt::type().
Referenced by rClassMember(), rDefinition(), rStatement(), and rTemplateDecl().
|
protected |
Definition at line 5835 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), pos(), cpp_token_buffert::Restore(), rExpression(), rTypeName(), cpp_token_buffert::Save(), set_location(), and TOK_TYPEID.
Referenced by rPrimaryExpr().
|
protected |
Definition at line 5463 of file parse.cpp.
References dstringt::empty(), irept::id(), kCastDeclarator, make_subtype(), merge_types(), cpp_declaratort::method_qualifier(), rDeclarator(), rTypeSpecifier(), irept::swap(), and exprt::type().
Referenced by optAlignas(), optIntegralTypeOrClassSpec(), rAlignofExpr(), rAllocateType(), rCastExpr(), rEnumSpec(), rMSCuuidof(), rSizeofExpr(), rTempArgDeclaration(), rTypeidExpr(), rTypeNameOrFunctionType(), and rTypePredicate().
|
protected |
Definition at line 5507 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), optCvQualify(), optPtrOperator(), pos(), rArgDeclaration(), rCastOperatorName(), cpp_token_buffert::Restore(), rTypeName(), cpp_token_buffert::Save(), irept::swap(), TOK_ELLIPSIS, TOK_IDENTIFIER, and TOK_SCOPE.
Referenced by rTemplateArgs(), and rTypedefUsing().
|
protected |
Definition at line 6617 of file parse.cpp.
References irept::add(), cpp_token_buffert::get_token(), irept::id(), cpp_tokent::kind, lex, rTypeName(), set_location(), irept::swap(), cpp_tokent::text, TOK_BINARY_TYPE_PREDICATE, TOK_UNARY_TYPE_PREDICATE, and UNREACHABLE.
Referenced by rPrimaryExpr().
|
protected |
Definition at line 692 of file parse.cpp.
References irept::is_nil(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), MaybeTypeNameOrClassTemplate(), merge_types(), optCvQualify(), optIntegralTypeOrClassSpec(), and rName().
Referenced by rAllocateType(), rArgDeclaration(), rConstructorDecl(), rDeclarator(), rTempArgDeclaration(), rTypedef(), and rTypeName().
|
protected |
Definition at line 5689 of file parse.cpp.
References cpp_token_buffert::get_token(), isAllocateExpr(), lex, cpp_token_buffert::LookAhead(), exprt::move_to_operands(), rAlignofExpr(), rAllocateExpr(), rCastExpr(), rNoexceptExpr(), rPostfixExpr(), rSizeofExpr(), rThrowExpr(), irept::set(), set_location(), TOK_ALIGNOF, TOK_DECR, TOK_IMAG, TOK_INCR, TOK_NOEXCEPT, TOK_REAL, TOK_SIZEOF, TOK_THROW, and UNREACHABLE.
Referenced by rCastExpr(), rMSC_if_existsExpr(), rMSCuuidof(), and rSizeofExpr().
|
protected |
Definition at line 887 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), cpp_usingt::name(), rName(), set_location(), cpp_usingt::set_namespace(), TOK_NAMESPACE, and TOK_USING.
Referenced by rClassMember(), rDefinition(), and rStatement().
|
protected |
Definition at line 6913 of file parse.cpp.
References rVarNameCore().
Referenced by rInitializeExpr(), rMSC_if_existsExpr(), rMSC_if_existsStatement(), rPostfixExpr(), and rPrimaryExpr().
|
protected |
Definition at line 6926 of file parse.cpp.
References cpp_tokent::data, irept::get(), irept::get_sub(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), maybeTemplateArgs(), moreVarName(), pos(), cpp_token_buffert::Restore(), rOperatorName(), rTemplateArgs(), cpp_token_buffert::Save(), irept::set(), set_location(), TOK_IDENTIFIER, TOK_OPERATOR, TOK_SCOPE, TOK_TEMPLATE, and TOK_TYPENAME.
Referenced by rVarName().
|
protected |
Definition at line 7631 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, exprt::move_to_operands(), rCondition(), rStatement(), set_location(), and TOK_WHILE.
Referenced by rStatement().
|
inlineprotected |
Definition at line 386 of file parse.cpp.
References irept::add(), current_function, dstringt::empty(), cpp_tokent::filename, cpp_tokent::line_no, source_locationt::set_file(), source_locationt::set_function(), and source_locationt::set_line().
Referenced by optAlignas(), optAttribute(), optCvQualify(), optIntegralTypeOrClassSpec(), optPtrOperator(), optStorageSpec(), rAdditiveExpr(), rAlignofExpr(), rAllocateExpr(), rAndExpr(), rAttribute(), rCastExpr(), rClassBody(), rClassMember(), rClassSpec(), rCommaExpression(), rCompoundStatement(), rConditionalExpr(), rConstructorDecl(), rDeclaratorWithInit(), rDoStatement(), rEnumBody(), rEnumSpec(), rEqualityExpr(), rExclusiveOrExpr(), rExpression(), rExprStatement(), rForStatement(), rFunctionBody(), rGCCAsmStatement(), rIfStatement(), rInclusiveOrExpr(), rInitializeExpr(), rIntegralDeclStatement(), rLinkageSpec(), rLogicalAndExpr(), rLogicalOrExpr(), rMemberInit(), rMemberInitializers(), rMSC_if_existsExpr(), rMSC_if_existsStatement(), rMSC_leaveStatement(), rMSC_tryStatement(), rMSCAsmStatement(), rMSCuuidof(), rMultiplyExpr(), rName(), rNamespaceSpec(), rNewDeclarator(), rNoexceptExpr(), rNullDeclaration(), rOperatorName(), rOtherDeclStatement(), rPmExpr(), rPostfixExpr(), rPrimaryExpr(), rPtrToMember(), rRelationalExpr(), rShiftExpr(), rSizeofExpr(), rStatement(), rStaticAssert(), rSwitchStatement(), rTempArgDeclaration(), rTemplateArgs(), rTemplateDecl2(), rThrowExpr(), rTryStatement(), rTypedef(), rTypedefUsing(), rTypeidExpr(), rTypePredicate(), rUnaryExpr(), rUsing(), rVarNameCore(), and rWhileStatement().
|
protected |
Definition at line 8382 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, and cpp_token_buffert::LookAhead().
Referenced by rClassBody(), rCompoundStatement(), rEnumBody(), rInitializeExpr(), rLinkageBody(), and rProgram().
|
protected |
Definition at line 488 of file parse.cpp.
References messaget::eom(), messaget::error(), ERROR_TOKENS, lex, cpp_token_buffert::LookAhead(), max_errors, number_of_errors, parser, source_locationt::set_file(), source_locationt::set_line(), messaget::mstreamt::source_location, cpp_tokent::text, and to_string().
Referenced by rClassBody(), rCompoundStatement(), rConstructorDecl(), rDeclaratorWithInit(), rEnumBody(), rInitializeExpr(), rLinkageBody(), and rProgram().
|
protected |
Definition at line 382 of file parse.cpp.
Referenced by rFunctionBody(), and set_location().
|
protected |
Definition at line 220 of file parse.cpp.
Referenced by add_id(), make_sub_scope(), Parser(), rClassSpec(), and rTemplateDecl().
|
protected |
Definition at line 215 of file parse.cpp.
Referenced by isAllocateExpr(), isConstructorDecl(), isPtrToMember(), isTypeSpecifier(), maybeTemplateArgs(), moreVarName(), optAlignas(), optAttribute(), optCvQualify(), optIntegralTypeOrClassSpec(), optMemberSpec(), optPtrOperator(), optStorageSpec(), optThrowDecl(), rAccessDecl(), rAdditiveExpr(), rAlignofExpr(), rAllocateExpr(), rAllocateInitializer(), rAllocateType(), rAndExpr(), rArgDeclaration(), rArgDeclList(), rArgDeclListOrInit(), rAttribute(), rBaseSpecifiers(), rCastExpr(), rClassBody(), rClassMember(), rClassSpec(), rCommaExpression(), rCompoundStatement(), rCondition(), rConditionalExpr(), rConstDeclaration(), rConstructorDecl(), rDeclaration(), rDeclarationStatement(), rDeclarator(), rDeclaratorQualifier(), rDeclarators(), rDeclaratorWithInit(), rDefinition(), rDoStatement(), rEnumBody(), rEnumSpec(), rEqualityExpr(), rExclusiveOrExpr(), rExpression(), rExprStatement(), rExternTemplateDecl(), rForStatement(), rFunctionArguments(), rFunctionBody(), rGCCAsmStatement(), rIfStatement(), rInclusiveOrExpr(), rInitializeExpr(), rIntegralDeclaration(), rIntegralDeclStatement(), rLinkageBody(), rLinkageSpec(), rLogicalAndExpr(), rLogicalOrExpr(), rMemberInit(), rMemberInitializers(), rMSC_if_existsExpr(), rMSC_if_existsStatement(), rMSC_leaveStatement(), rMSC_tryStatement(), rMSCAsmStatement(), rMSCuuidof(), rMultiplyExpr(), rName(), rNamespaceSpec(), rNewDeclarator(), rNoexceptExpr(), rNullDeclaration(), rOperatorName(), rOtherDeclaration(), rOtherDeclStatement(), rPmExpr(), rPostfixExpr(), rPrimaryExpr(), rProgram(), rPtrToMember(), rRelationalExpr(), rShiftExpr(), rSimpleDeclaration(), rSizeofExpr(), rStatement(), rStaticAssert(), rString(), rSwitchStatement(), rTempArgDeclaration(), rTempArgList(), rTemplateArgs(), rTemplateDecl(), rTemplateDecl2(), rThrowExpr(), rTryStatement(), rTypedef(), rTypedefUsing(), rTypeidExpr(), rTypeNameOrFunctionType(), rTypePredicate(), rTypeSpecifier(), rUnaryExpr(), rUsing(), rVarNameCore(), rWhileStatement(), SkipTo(), and SyntaxError().
|
protected |
Definition at line 414 of file parse.cpp.
Referenced by operator()(), and SyntaxError().
|
protected |
Definition at line 381 of file parse.cpp.
Referenced by operator()(), and SyntaxError().
|
protected |
Definition at line 216 of file parse.cpp.
Referenced by operator()(), and SyntaxError().
|
protected |
Definition at line 219 of file parse.cpp.
Referenced by operator()(), and Parser().