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 |
unsigned | number_of_errors |
irep_idt | current_function |
unsigned int | max_errors |
|
protected |
|
protected |
|
inlineexplicit |
Definition at line 202 of file parse.cpp.
References current_scope, new_scopet::kind, new_scopet::NAMESPACE, and root_scope.
|
protected |
Definition at line 419 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 432 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 5773 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), TOK_DELETE, TOK_NEW, and TOK_SCOPE.
Referenced by rUnaryExpr().
|
protected |
Definition at line 1833 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 1869 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), TOK_IDENTIFIER, and TOK_SCOPE.
Referenced by isConstructorDecl(), and optPtrOperator().
|
protected |
Definition at line 747 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 443 of file parse.cpp.
References add_id(), and current_scope.
Referenced by rClassSpec(), and rTemplateDecl().
|
protected |
Definition at line 449 of file parse.cpp.
References add_id(), and current_scope.
Definition at line 398 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 6814 of file parse.cpp.
References lex, cpp_token_buffert::LookAhead(), TOK_SCOPE, and TOK_SHIFTRIGHT.
Referenced by rVarNameCore().
|
protected |
Definition at line 8115 of file parse.cpp.
Referenced by rTypeSpecifier().
Definition at line 463 of file parse.cpp.
References typet::copy_to_subtypes(), irept::id(), irept::is_nil(), and typet::move_to_subtypes().
Referenced by optCvQualify(), optIntegralTypeOrClassSpec(), optPtrOperator(), rCastOperatorName(), rDeclaratorWithInit(), rIntegralDeclaration(), rIntegralDeclStatement(), rOtherDeclaration(), rOtherDeclStatement(), rSimpleDeclaration(), rTypedefUsing(), and rTypeSpecifier().
|
protected |
Definition at line 6797 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 8134 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 2066 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 2128 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 1992 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), merge_types(), rAttribute(), set_location(), TOK_CONST, TOK_CONSTEXPR, TOK_GCC_ATTRIBUTE, TOK_PTR32, TOK_PTR64, TOK_RESTRICT, and TOK_VOLATILE.
Referenced by optPtrOperator(), rCastOperatorName(), rConstructorDecl(), rDeclaration(), rDeclarationStatement(), rDeclarator(), rIntegralDeclaration(), rIntegralDeclStatement(), rOtherDeclaration(), rOtherDeclStatement(), rSimpleDeclaration(), rTypeNameOrFunctionType(), and rTypeSpecifier().
|
protected |
Definition at line 2171 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_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 1926 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, and TOK_VIRTUAL.
Referenced by rDeclaration(), and rOtherDeclaration().
|
protected |
Definition at line 2997 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 1956 of file parse.cpp.
References 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, and TOK_THREAD_LOCAL.
Referenced by rDeclaration(), rDeclarationStatement(), and rOtherDeclaration().
|
protected |
Definition at line 2510 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 4479 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, and rName().
Referenced by rClassMember().
|
protected |
Definition at line 5000 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 5708 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 5786 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 6005 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 5876 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 4829 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 3862 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 3809 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 3772 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 2104 of file parse.cpp.
References cpp_token_buffert::get_token(), cpp_tokent::kind, lex, cpp_token_buffert::LookAhead(), and TOK_IDENTIFIER.
Referenced by optCvQualify().
|
protected |
Definition at line 4280 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, and TOK_VIRTUAL.
Referenced by rClassSpec().
|
protected |
Definition at line 5144 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 3485 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 4351 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 4411 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, and TOK_USING.
Referenced by rClassBody().
|
protected |
Definition at line 4174 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(), rBaseSpecifiers(), rClassBody(), rName(), irept::set(), set_location(), irept::swap(), new_scopet::TAG, TOK_CLASS, TOK_INTERFACE, TOK_STRUCT, and TOK_UNION.
Referenced by optIntegralTypeOrClassSpec().
|
protected |
Definition at line 4500 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(), rCondition(), rConditionalExpr(), rDeclarator(), rDoStatement(), rExprStatement(), rForStatement(), rGCCAsmStatement(), rMSC_tryStatement(), rNewDeclarator(), rPostfixExpr(), rPrimaryExpr(), and rStatement().
|
protected |
Definition at line 6963 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 7913 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 4624 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 1624 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 2392 of file parse.cpp.
References irept::add(), 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(), 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 1365 of file parse.cpp.
References cpp_storage_spect::is_auto(), 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 7952 of file parse.cpp.
References cpp_storage_spect::is_auto(), 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 2753 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 2720 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 2578 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 2607 of file parse.cpp.
References cpp_token_buffert::get_token(), irept::id(), kDeclarator, lex, cpp_token_buffert::LookAhead(), irept::make_nil(), merge_types(), rDeclarator(), rExpression(), rInitializeExpr(), rString(), irept::set(), set_location(), typet::subtype(), irept::swap(), TOK_DEFAULT, TOK_DELETE, TOK_GCC_ASM, exprt::type(), and cpp_declaratort::value().
Referenced by rDeclarators().
|
protected |
Definition at line 547 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 7402 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 4118 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 4034 of file parse.cpp.
References irept::add(), cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), irept::make_nil(), rEnumBody(), rName(), rTypeName(), set_location(), typet::subtype(), irept::swap(), TOK_CLASS, and TOK_ENUM.
Referenced by optIntegralTypeOrClassSpec().
|
protected |
Definition at line 4868 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 4790 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 4543 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 7840 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 1316 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, rDeclaration(), TOK_EXTERN, and TOK_TEMPLATE.
Referenced by rDefinition().
|
protected |
Definition at line 7442 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 3994 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 6915 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 7663 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 7288 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 4751 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 3905 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 1511 of file parse.cpp.
References cpp_declarationt::declarators(), cpp_token_buffert::get_token(), 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 8020 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 932 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 779 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 4712 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 4673 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 3155 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 3122 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 6252 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 6297 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 7647 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, set_location(), and TOK_MSC_LEAVE.
Referenced by rStatement().
|
protected |
Definition at line 7592 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 7764 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 6203 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 5047 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 3237 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(), rBaseSpecifiers(), rCastOperatorName(), rClassSpec(), rDeclarator(), rEnumSpec(), rMemberInit(), rNamespaceSpec(), rOtherDeclaration(), rOtherDeclStatement(), rSimpleDeclaration(), rTypeSpecifier(), and rUsing().
|
protected |
Definition at line 819 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(), rDefinition(), rLinkageBody(), rName(), cpp_namespace_spect::set_is_inline(), set_location(), cpp_namespace_spect::set_namespace(), TOK_IDENTIFIER, TOK_INLINE, and TOK_NAMESPACE.
Referenced by rDefinition().
|
protected |
Definition at line 5972 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, cpp_token_buffert::LookAhead(), optPtrOperator(), rCommaExpression(), set_location(), array_typet::size(), typet::subtype(), and irept::swap().
Referenced by rAllocateType().
|
protected |
Definition at line 5736 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 583 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, and set_location().
Referenced by rClassMember(), and rDefinition().
|
protected |
Definition at line 3381 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 1649 of file parse.cpp.
References cpp_declarationt::declarators(), forall_irep, irept::get_sub(), cpp_token_buffert::get_token(), cpp_storage_spect::is_auto(), 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 8065 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 5100 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 6062 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(), irept::set(), set_location(), irept::swap(), TOK_ARROW, TOK_DECR, and TOK_INCR.
Referenced by rUnaryExpr().
|
protected |
Definition at line 6418 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(), 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 517 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 3525 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 4908 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 4960 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 1453 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 5636 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 7026 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 896 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 455 of file parse.cpp.
References cpp_token_buffert::get_token(), lex, and TOK_STRING.
Referenced by rDeclaratorWithInit(), rGCCAsmStatement(), rLinkageSpec(), and rPrimaryExpr().
|
protected |
Definition at line 7336 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 1128 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 1094 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 3624 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 980 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, and TOK_USING.
Referenced by rClassMember(), and rDefinition().
|
protected |
Definition at line 1035 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 5531 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 7505 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 599 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 676 of file parse.cpp.
References exprt::op0(), exprt::operands(), and rTypedef().
Referenced by rStatement().
|
protected |
Definition at line 627 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 5570 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 5204 of file parse.cpp.
References kCastDeclarator, make_subtype(), 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 5242 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 6356 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, and TOK_UNARY_TYPE_PREDICATE.
Referenced by rPrimaryExpr().
|
protected |
Definition at line 687 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 5424 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, and TOK_THROW.
Referenced by optAlignas(), rCastExpr(), rMSC_if_existsExpr(), rMSCuuidof(), and rSizeofExpr().
|
protected |
Definition at line 868 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 6651 of file parse.cpp.
References rVarNameCore().
Referenced by rInitializeExpr(), rMSC_if_existsExpr(), rMSC_if_existsStatement(), rPostfixExpr(), and rPrimaryExpr().
|
protected |
Definition at line 6664 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 7369 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 388 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(), 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 8120 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 483 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, and cpp_tokent::text.
Referenced by rClassBody(), rCompoundStatement(), rEnumBody(), rInitializeExpr(), rLinkageBody(), and rProgram().
|
protected |
Definition at line 384 of file parse.cpp.
Referenced by rFunctionBody(), and set_location().
|
protected |
Definition at line 218 of file parse.cpp.
Referenced by add_id(), make_sub_scope(), Parser(), rClassSpec(), and rTemplateDecl().
|
protected |
Definition at line 213 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 416 of file parse.cpp.
Referenced by operator()(), and SyntaxError().
|
protected |
Definition at line 383 of file parse.cpp.
Referenced by operator()(), and SyntaxError().
|
protected |
Definition at line 214 of file parse.cpp.
Referenced by operator()(), and SyntaxError().
|
protected |
Definition at line 217 of file parse.cpp.
Referenced by operator()(), and Parser().