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 421 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 434 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 6018 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), TOK_DELETE, TOK_NEW, and TOK_SCOPE.
Referenced by rUnaryExpr().
|
protected |
Definition at line 1867 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 1903 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), TOK_IDENTIFIER, and TOK_SCOPE.
Referenced by isConstructorDecl(), and optPtrOperator().
|
protected |
Definition at line 756 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_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 445 of file parse.cpp.
References add_id(), and current_scope.
Referenced by rClassSpec(), and rTemplateDecl().
|
protected |
Definition at line 451 of file parse.cpp.
References add_id(), and current_scope.
Definition at line 400 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 7056 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), TOK_SCOPE, and TOK_SHIFTRIGHT.
Referenced by rVarNameCore().
|
protected |
Definition at line 8357 of file parse.cpp.
Referenced by rTypeSpecifier().
Definition at line 465 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 optCvQualify(), optIntegralTypeOrClassSpec(), optPtrOperator(), rAttribute(), rCastOperatorName(), rDeclaratorWithInit(), rIntegralDeclaration(), rIntegralDeclStatement(), rOtherDeclaration(), rOtherDeclStatement(), rSimpleDeclaration(), rTypedefUsing(), rTypeName(), and rTypeSpecifier().
|
protected |
Definition at line 7039 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 8376 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 2112 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), pos(), cpp_token_buffert::Restore(), rTypeName(), rUnaryExpr(), cpp_token_buffert::Save(), and TOK_ALIGNAS.
Referenced by rClassSpec().
|
protected |
Definition at line 2350 of file parse.cpp.
References cpp_token_buffert::get_token(), cpp_tokent::kind, lex, cpp_token_buffert::LookAhead(), and TOK_NORETURN.
Referenced by rDeclaration().
|
protected |
Definition at line 2026 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 2393 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_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 1960 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_VIRTUAL, and UNREACHABLE.
Referenced by rDeclaration(), and rOtherDeclaration().
|
protected |
Definition at line 3233 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 1990 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 2745 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 4718 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, and rName().
Referenced by rClassMember().
|
protected |
Definition at line 5239 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 5953 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 6031 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 6248 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 6121 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 5068 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 4092 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 4039 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 4002 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 2150 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 4519 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 5383 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 3715 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 4590 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 4650 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 4403 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 4739 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 optIntegralTypeOrClassSpec(), rAttribute(), rCondition(), rConditionalExpr(), rDeclarator(), rDoStatement(), rExprStatement(), rForStatement(), rGCCAsmStatement(), rMSC_tryStatement(), rNewDeclarator(), rPostfixExpr(), rPrimaryExpr(), and rStatement().
|
protected |
Definition at line 7205 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 8155 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 4863 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 1658 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), and rDeclarators().
Referenced by rDeclaration(), and rDeclarationStatement().
|
protected |
Definition at line 2615 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 1388 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(), and TOK_IDENTIFIER.
Referenced by rClassMember(), rDefinition(), rExternTemplateDecl(), and rTemplateDecl().
|
protected |
Definition at line 8194 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 2984 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 2951 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 2813 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 2842 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 556 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 7644 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 4347 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 4264 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 5107 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 5029 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 4782 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 8082 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 1339 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, rDeclaration(), TOK_EXTERN, and TOK_TEMPLATE.
Referenced by rDefinition().
|
protected |
Definition at line 7684 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 4224 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 7157 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 7905 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 7530 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 4990 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 4135 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 1534 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 8262 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 955 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 788 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 4951 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 4912 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 3385 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 3352 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 6493 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 6538 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 7889 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, set_location(), and TOK_MSC_LEAVE.
Referenced by rStatement().
|
protected |
Definition at line 7834 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 8006 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 6444 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 5286 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 3467 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 828 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 6217 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 5981 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 592 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, and set_location().
Referenced by rClassMember(), and rDefinition().
|
protected |
Definition at line 3611 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 1683 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 8307 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 5339 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 6305 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 6659 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 526 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 3755 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 5147 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 5199 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 1476 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 5881 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 7268 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 919 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 457 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 7578 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 1151 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 1117 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 3854 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 1003 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 1058 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 5776 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 7747 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 608 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 685 of file parse.cpp.
References exprt::op0(), exprt::operands(), and rTypedef().
Referenced by rStatement().
|
protected |
Definition at line 636 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 5815 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 5443 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 5487 of file parse.cpp.
References cpp_tokent::data, irept::get(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), code_typet::make_ellipsis(), optCvQualify(), optPtrOperator(), code_typet::parameters(), pos(), rArgDeclaration(), rCastOperatorName(), cpp_token_buffert::Restore(), code_typet::return_type(), rTypeName(), cpp_token_buffert::Save(), irept::set(), irept::swap(), TOK_ELLIPSIS, TOK_IDENTIFIER, and TOK_SCOPE.
Referenced by rTemplateArgs(), and rTypedefUsing().
|
protected |
Definition at line 6597 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 696 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 5669 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 optAlignas(), rCastExpr(), rMSC_if_existsExpr(), rMSCuuidof(), and rSizeofExpr().
|
protected |
Definition at line 891 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 6893 of file parse.cpp.
References rVarNameCore().
Referenced by rInitializeExpr(), rMSC_if_existsExpr(), rMSC_if_existsStatement(), rPostfixExpr(), and rPrimaryExpr().
|
protected |
Definition at line 6906 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 7611 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 390 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 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 8362 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 492 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 386 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 418 of file parse.cpp.
Referenced by operator()(), and SyntaxError().
|
protected |
Definition at line 385 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().