From ca08e74947c2fbab1f79296023239108462a1ea1 Mon Sep 17 00:00:00 2001 From: Jeff Trull Date: Mon, 10 Aug 2020 04:41:49 -0700 Subject: [PATCH 1/4] Correct spelling of thread_local keyword --- samples/cpp_tokens/slex/cpp_slex_lexer.hpp | 2 +- src/token_ids.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/cpp_tokens/slex/cpp_slex_lexer.hpp b/samples/cpp_tokens/slex/cpp_slex_lexer.hpp index 108ac996c..119c01da2 100644 --- a/samples/cpp_tokens/slex/cpp_slex_lexer.hpp +++ b/samples/cpp_tokens/slex/cpp_slex_lexer.hpp @@ -459,7 +459,7 @@ lexer::init_data_cpp0x[INIT_DATA_CPP0X_SIZE] = TOKEN_DATA(NOEXCEPT, "noexcept"), TOKEN_DATA(NULLPTR, "nullptr"), TOKEN_DATA(STATICASSERT, "static_assert"), - TOKEN_DATA(THREADLOCAL, "threadlocal"), + TOKEN_DATA(THREADLOCAL, "thread_local"), { token_id(0) } // this should be the last entry }; diff --git a/src/token_ids.cpp b/src/token_ids.cpp index a1261c9ac..fde5f8980 100644 --- a/src/token_ids.cpp +++ b/src/token_ids.cpp @@ -422,7 +422,7 @@ static char const *tok_values[] = { /* 428 */ "noexcept", /* 429 */ "nullptr", /* 430 */ "static_assert", - /* 431 */ "threadlocal", + /* 431 */ "thread_local", /* 432 */ "", // extrawstringlit }; From 35fc5aa38116ced3e1a34d2e4779327678a53a3a Mon Sep 17 00:00:00 2001 From: Jeff Trull Date: Mon, 10 Aug 2020 04:47:04 -0700 Subject: [PATCH 2/4] Add C++11 token support to all lexers Support was already in slex, though it wasn't covered by the token test. This updates the tests while adding virtually identical code to lexertl and xlex. --- .../list_includes/lexertl/lexertl_lexer.hpp | 51 ++++++++++++++++++- samples/token_statistics/xlex/xlex_lexer.hpp | 46 +++++++++++++++++ test/testlexers/cpp_tokens.hpp | 10 ++++ test/testlexers/test_lexertl_lexer.cpp | 2 +- test/testlexers/test_re2c_lexer.cpp | 2 +- test/testlexers/test_slex_lexer.cpp | 2 +- test/testlexers/test_xlex_lexer.cpp | 2 +- 7 files changed, 110 insertions(+), 5 deletions(-) diff --git a/samples/list_includes/lexertl/lexertl_lexer.hpp b/samples/list_includes/lexertl/lexertl_lexer.hpp index 2c30e1090..db7d531af 100644 --- a/samples/list_includes/lexertl/lexertl_lexer.hpp +++ b/samples/list_includes/lexertl/lexertl_lexer.hpp @@ -57,7 +57,8 @@ namespace boost { namespace wave { namespace cpplexer { namespace lexertl #endif #define INIT_DATA_CPP_SIZE 15 #define INIT_DATA_PP_NUMBER_SIZE 2 -#define INIT_MACRO_DATA_SIZE 27 +#define INIT_DATA_CPP0X_SIZE 15 +#define INIT_MACRO_DATA_SIZE 28 #endif // #if BOOST_WAVE_LEXERTL_USE_STATIC_TABLES == 0 // this is just a hack to have a unique token id not otherwise used by Wave @@ -117,6 +118,7 @@ class lexertl static lexer_data const init_data[INIT_DATA_SIZE]; // common patterns static lexer_data const init_data_cpp[INIT_DATA_CPP_SIZE]; // C++ only patterns static lexer_data const init_data_pp_number[INIT_DATA_PP_NUMBER_SIZE]; // pp-number only patterns + static lexer_data const init_data_cpp0x[INIT_DATA_CPP0X_SIZE]; // C++0X only patterns // helper for calculation of the time of last compilation static boost::wave::util::time_conversion_helper compilation_time; @@ -167,6 +169,7 @@ lexertl::init_macro_data[INIT_MACRO_DATA_SIZE] = #endif MACRO_DATA("FLOAT_SUFFIX", "(" "[fF][lL]?" OR "[lL][fF]?" ")"), MACRO_DATA("CHAR_SPEC", "L?"), + MACRO_DATA("EXTCHAR_SPEC", "(" "[uU]" OR "u8" ")"), MACRO_DATA("BACKSLASH", "(" Q("\\") OR TRI(Q("/")) ")"), MACRO_DATA("ESCAPESEQ", "{BACKSLASH}([abfnrtv?'\"]|{BACKSLASH}|x{HEXDIGIT}+|{OCTALDIGIT}{1,3})"), MACRO_DATA("HEXQUAD", "{HEXDIGIT}{4}"), @@ -413,6 +416,37 @@ lexertl::init_data_pp_number[INIT_DATA_PP_NUMBER_SIZE] = { token_id(0) } // this should be the last entry }; +// C++11 specific token definitions + +#define T_EXTCHARLIT token_id(T_CHARLIT|AltTokenType) +#define T_EXTSTRINGLIT token_id(T_STRINGLIT|AltTokenType) +#define T_EXTRAWSTRINGLIT token_id(T_RAWSTRINGLIT|AltTokenType) + +template +typename lexertl::lexer_data const +lexertl::init_data_cpp0x[INIT_DATA_CPP0X_SIZE] = +{ + TOKEN_DATA(T_EXTCHARLIT, "{EXTCHAR_SPEC}" "'" + "(" "{ESCAPESEQ}" OR "{UNIVERSALCHAR}" OR "[^\\n\\r\\\\']" ")+" "'"), + TOKEN_DATA(T_EXTSTRINGLIT, "{EXTCHAR_SPEC}" Q("\"") + "(" "{ESCAPESEQ}" OR "{UNIVERSALCHAR}" OR "[^\\n\\r\\\\\"]" ")*" Q("\"")), + TOKEN_DATA(T_RAWSTRINGLIT, "{CHAR_SPEC}" "R" Q("\"") + "(" "{ESCAPESEQ}" OR "{UNIVERSALCHAR}" OR "[^\\\\\"]" ")*" Q("\"")), + TOKEN_DATA(T_EXTRAWSTRINGLIT, "{EXTCHAR_SPEC}" "R" Q("\"") + "(" "{ESCAPESEQ}" OR "{UNIVERSALCHAR}" OR "[^\\\\\"]" ")*" Q("\"")), + TOKEN_DATA(T_ALIGNAS, "alignas"), + TOKEN_DATA(T_ALIGNOF, "alignof"), + TOKEN_DATA(T_CHAR16_T, "char16_t"), + TOKEN_DATA(T_CHAR32_T, "char32_t"), + TOKEN_DATA(T_CONSTEXPR, "constexpr"), + TOKEN_DATA(T_DECLTYPE, "decltype"), + TOKEN_DATA(T_NOEXCEPT, "noexcept"), + TOKEN_DATA(T_NULLPTR, "nullptr"), + TOKEN_DATA(T_STATICASSERT, "static_assert"), + TOKEN_DATA(T_THREADLOCAL, "thread_local"), + { token_id(0) } // this should be the last entry +}; + #undef MACRO_DATA #undef TOKEN_DATA #undef OR @@ -459,6 +493,17 @@ std::ifstream dfa_in("wave_lexertl_lexer.dfa", std::ios::in|std::ios::binary); } } + // if in C++0x mode, add all new keywords +#if BOOST_WAVE_SUPPORT_CPP0X != 0 + if (wave::need_cpp0x(lang)) { + for (int j = 0; 0 != init_data_cpp0x[j].tokenid; ++j) { + rules.add(init_data_cpp0x[j].tokenregex, + init_data_cpp0x[j].tokenid); + } + } +#endif + + for (int i = 0; 0 != init_data[i].tokenid; ++i) { rules.add(init_data[i].tokenregex, init_data[i].tokenid); } @@ -764,6 +809,10 @@ lexer::lexertl< #undef INIT_MACRO_DATA_SIZE #undef T_ANYCTRL +#undef T_EXTCHARLIT +#undef T_EXTSTRINGLIT +#undef T_EXTRAWSTRINGLIT + /////////////////////////////////////////////////////////////////////////////// // // The new_lexer_gen<>::new_lexer function (declared in lexertl_interface.hpp) diff --git a/samples/token_statistics/xlex/xlex_lexer.hpp b/samples/token_statistics/xlex/xlex_lexer.hpp index d9fe0ce33..408323822 100644 --- a/samples/token_statistics/xlex/xlex_lexer.hpp +++ b/samples/token_statistics/xlex/xlex_lexer.hpp @@ -104,6 +104,7 @@ class lexer static lexer_data const init_data[]; // common patterns static lexer_data const init_data_cpp[]; // C++ only patterns + static lexer_data const init_data_cpp0x[]; // C++11 only patterns #if BOOST_WAVE_SUPPORT_PRAGMA_ONCE != 0 boost::wave::cpplexer::include_guards guards; @@ -154,6 +155,7 @@ class lexer #endif #define FLOAT_SUFFIX "(" "[fF][lL]?|[lL][fF]?" ")" #define CHAR_SPEC "L?" +#define EXTCHAR_SPEC "(" "[uU]" OR "u8" ")" #define BACKSLASH "(" Q("\\") OR TRI(Q("/")) ")" #define ESCAPESEQ BACKSLASH "(" \ @@ -397,6 +399,37 @@ lexer::init_data_cpp[] = { token_id(0) } // this should be the last entry }; +/////////////////////////////////////////////////////////////////////////////// +// C++11 only token definitions +#define T_EXTCHARLIT token_id(T_CHARLIT|AltTokenType) +#define T_EXTSTRINGLIT token_id(T_STRINGLIT|AltTokenType) +#define T_EXTRAWSTRINGLIT token_id(T_RAWSTRINGLIT|AltTokenType) + +template +typename lexer::lexer_data const +lexer::init_data_cpp0x[] = +{ + TOKEN_DATA(T_EXTCHARLIT, EXTCHAR_SPEC "'" + "(" ESCAPESEQ OR UNIVERSALCHAR OR "[^\\n\\r\\\\']" ")+" "'"), + TOKEN_DATA(T_EXTSTRINGLIT, EXTCHAR_SPEC Q("\"") + "(" ESCAPESEQ OR UNIVERSALCHAR OR "[^\\n\\r\\\\\"]" ")*" Q("\"")), + TOKEN_DATA(T_RAWSTRINGLIT, CHAR_SPEC "R" Q("\"") + "(" ESCAPESEQ OR UNIVERSALCHAR OR "[^\\\\\"]" ")*" Q("\"")), + TOKEN_DATA(T_EXTRAWSTRINGLIT, EXTCHAR_SPEC "R" Q("\"") + "(" ESCAPESEQ OR UNIVERSALCHAR OR "[^\\\\\"]" ")*" Q("\"")), + TOKEN_DATA(T_ALIGNAS, "alignas"), + TOKEN_DATA(T_ALIGNOF, "alignof"), + TOKEN_DATA(T_CHAR16_T, "char16_t"), + TOKEN_DATA(T_CHAR32_T, "char32_t"), + TOKEN_DATA(T_CONSTEXPR, "constexpr"), + TOKEN_DATA(T_DECLTYPE, "decltype"), + TOKEN_DATA(T_NOEXCEPT, "noexcept"), + TOKEN_DATA(T_NULLPTR, "nullptr"), + TOKEN_DATA(T_STATICASSERT, "static_assert"), + TOKEN_DATA(T_THREADLOCAL, "thread_local"), + { token_id(0) } // this should be the last entry +}; + /////////////////////////////////////////////////////////////////////////////// // undefine macros, required for regular expression definitions #undef INCLUDEDEF @@ -413,6 +446,7 @@ lexer::init_data_cpp[] = #undef INTEGER #undef FLOAT_SUFFIX #undef CHAR_SPEC +#undef EXTCHAR_SPEC #undef BACKSLASH #undef ESCAPESEQ #undef HEXQUAD @@ -425,6 +459,9 @@ lexer::init_data_cpp[] = #undef TOKEN_DATA #undef TOKEN_DATA_EX +#undef T_EXTCHARLIT +#undef T_EXTSTRINGLIT +#undef T_EXTRAWSTRINGLIT /////////////////////////////////////////////////////////////////////////////// // initialize cpp lexer template @@ -444,6 +481,15 @@ lexer::lexer(Iterator const &first, } } +#if BOOST_WAVE_SUPPORT_CPP0X != 0 + if (boost::wave::need_cpp0x(language)) { + for (int j = 0; 0 != init_data_cpp0x[j].tokenid; ++j) { + xlexer.register_regex(init_data_cpp0x[j].tokenregex, + init_data_cpp0x[j].tokenid, init_data_cpp[j].tokencb); + } + } +#endif + // tokens valid for C++ and C99 for (int i = 0; 0 != init_data[i].tokenid; ++i) { xlexer.register_regex(init_data[i].tokenregex, init_data[i].tokenid, diff --git a/test/testlexers/cpp_tokens.hpp b/test/testlexers/cpp_tokens.hpp index 424ea454c..5364a05f9 100644 --- a/test/testlexers/cpp_tokens.hpp +++ b/test/testlexers/cpp_tokens.hpp @@ -46,6 +46,7 @@ lexem const lexems[] = { "'\\U12345678'", boost::wave::T_CHARLIT }, { "\"string literal\"", boost::wave::T_STRINGLIT }, { "\"string literal \\n \\u1234 \\U12345678\"", boost::wave::T_STRINGLIT }, + { "R\"foo(string literal)foo\"", boost::wave::T_RAWSTRINGLIT }, { "&&", boost::wave::T_ANDAND }, { "&=", boost::wave::T_ANDASSIGN }, { "==", boost::wave::T_EQUAL }, @@ -108,6 +109,8 @@ lexem const lexems[] = { "*", boost::wave::T_STAR }, { "~", boost::wave::T_COMPL }, { "\?\?-", boost::wave::T_COMPL_TRIGRAPH }, + { "alignas", boost::wave::T_ALIGNAS }, + { "alignof", boost::wave::T_ALIGNOF }, { "asm", boost::wave::T_ASM }, { "auto", boost::wave::T_AUTO }, { "bool", boost::wave::T_BOOL }, @@ -117,10 +120,14 @@ lexem const lexems[] = { "case", boost::wave::T_CASE }, { "catch", boost::wave::T_CATCH }, { "char", boost::wave::T_CHAR }, + { "char16_t", boost::wave::T_CHAR16_T }, + { "char32_t", boost::wave::T_CHAR32_T }, { "class", boost::wave::T_CLASS }, { "const_cast", boost::wave::T_CONSTCAST }, { "const", boost::wave::T_CONST }, + { "constexpr", boost::wave::T_CONSTEXPR }, { "continue", boost::wave::T_CONTINUE }, + { "decltype", boost::wave::T_DECLTYPE }, { "default", boost::wave::T_DEFAULT }, { "delete", boost::wave::T_DELETE }, { "do", boost::wave::T_DO }, @@ -145,6 +152,8 @@ lexem const lexems[] = { "mutable", boost::wave::T_MUTABLE }, { "namespace", boost::wave::T_NAMESPACE }, { "new", boost::wave::T_NEW }, + { "noexcept", boost::wave::T_NOEXCEPT }, + { "nullptr", boost::wave::T_NULLPTR }, { "operator", boost::wave::T_OPERATOR }, { "private", boost::wave::T_PRIVATE }, { "protected", boost::wave::T_PROTECTED }, @@ -161,6 +170,7 @@ lexem const lexems[] = { "switch", boost::wave::T_SWITCH }, { "template", boost::wave::T_TEMPLATE }, { "this", boost::wave::T_THIS }, + { "thread_local", boost::wave::T_THREADLOCAL }, { "throw", boost::wave::T_THROW }, { "try", boost::wave::T_TRY }, { "typedef", boost::wave::T_TYPEDEF }, diff --git a/test/testlexers/test_lexertl_lexer.cpp b/test/testlexers/test_lexertl_lexer.cpp index 269fbf943..cbe10b7a1 100644 --- a/test/testlexers/test_lexertl_lexer.cpp +++ b/test/testlexers/test_lexertl_lexer.cpp @@ -50,7 +50,7 @@ main(int argc, char *argv[]) token_type::string_type instr(data->token); lexer_type it = lexer_type(instr.begin(), instr.end(), pos, - boost::wave::support_option_long_long); + boost::wave::support_cpp0x); lexer_type end = lexer_type(); // verify the correct outcome of the tokenization diff --git a/test/testlexers/test_re2c_lexer.cpp b/test/testlexers/test_re2c_lexer.cpp index 8366431c1..bb4043843 100644 --- a/test/testlexers/test_re2c_lexer.cpp +++ b/test/testlexers/test_re2c_lexer.cpp @@ -56,7 +56,7 @@ main(int argc, char *argv[]) token_type::string_type instr(data->token); lexer_type it = lexer_type(instr.begin(), instr.end(), pos, - boost::wave::support_option_long_long); + boost::wave::support_cpp0x); lexer_type end = lexer_type(); // verify the correct outcome of the tokenization diff --git a/test/testlexers/test_slex_lexer.cpp b/test/testlexers/test_slex_lexer.cpp index 8f7f2280e..d2a395454 100644 --- a/test/testlexers/test_slex_lexer.cpp +++ b/test/testlexers/test_slex_lexer.cpp @@ -59,7 +59,7 @@ main(int argc, char *argv[]) token_type::string_type instr(data->token); lexer_type it = lexer_type(instr.begin(), instr.end(), pos, - boost::wave::support_option_long_long); + boost::wave::support_cpp0x); lexer_type end = lexer_type(); // verify the correct outcome of the tokenization diff --git a/test/testlexers/test_xlex_lexer.cpp b/test/testlexers/test_xlex_lexer.cpp index db2eb1e95..2b06b0e8a 100644 --- a/test/testlexers/test_xlex_lexer.cpp +++ b/test/testlexers/test_xlex_lexer.cpp @@ -57,7 +57,7 @@ main(int argc, char *argv[]) token_type::string_type instr(data->token); lexer_type it = lexer_type(instr.begin(), instr.end(), pos, - boost::wave::support_option_long_long); + boost::wave::support_cpp0x); lexer_type end = lexer_type(); // verify the correct outcome of the tokenisation From add63677b0263ee513263ab29567aece6591e4c8 Mon Sep 17 00:00:00 2001 From: Jeff Trull Date: Mon, 10 Aug 2020 05:10:07 -0700 Subject: [PATCH 3/4] C++11 tokens should be conditionally compiled --- test/testlexers/cpp_tokens.hpp | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/test/testlexers/cpp_tokens.hpp b/test/testlexers/cpp_tokens.hpp index 5364a05f9..217403558 100644 --- a/test/testlexers/cpp_tokens.hpp +++ b/test/testlexers/cpp_tokens.hpp @@ -46,7 +46,6 @@ lexem const lexems[] = { "'\\U12345678'", boost::wave::T_CHARLIT }, { "\"string literal\"", boost::wave::T_STRINGLIT }, { "\"string literal \\n \\u1234 \\U12345678\"", boost::wave::T_STRINGLIT }, - { "R\"foo(string literal)foo\"", boost::wave::T_RAWSTRINGLIT }, { "&&", boost::wave::T_ANDAND }, { "&=", boost::wave::T_ANDASSIGN }, { "==", boost::wave::T_EQUAL }, @@ -109,8 +108,6 @@ lexem const lexems[] = { "*", boost::wave::T_STAR }, { "~", boost::wave::T_COMPL }, { "\?\?-", boost::wave::T_COMPL_TRIGRAPH }, - { "alignas", boost::wave::T_ALIGNAS }, - { "alignof", boost::wave::T_ALIGNOF }, { "asm", boost::wave::T_ASM }, { "auto", boost::wave::T_AUTO }, { "bool", boost::wave::T_BOOL }, @@ -120,14 +117,10 @@ lexem const lexems[] = { "case", boost::wave::T_CASE }, { "catch", boost::wave::T_CATCH }, { "char", boost::wave::T_CHAR }, - { "char16_t", boost::wave::T_CHAR16_T }, - { "char32_t", boost::wave::T_CHAR32_T }, { "class", boost::wave::T_CLASS }, { "const_cast", boost::wave::T_CONSTCAST }, { "const", boost::wave::T_CONST }, - { "constexpr", boost::wave::T_CONSTEXPR }, { "continue", boost::wave::T_CONTINUE }, - { "decltype", boost::wave::T_DECLTYPE }, { "default", boost::wave::T_DEFAULT }, { "delete", boost::wave::T_DELETE }, { "do", boost::wave::T_DO }, @@ -152,8 +145,6 @@ lexem const lexems[] = { "mutable", boost::wave::T_MUTABLE }, { "namespace", boost::wave::T_NAMESPACE }, { "new", boost::wave::T_NEW }, - { "noexcept", boost::wave::T_NOEXCEPT }, - { "nullptr", boost::wave::T_NULLPTR }, { "operator", boost::wave::T_OPERATOR }, { "private", boost::wave::T_PRIVATE }, { "protected", boost::wave::T_PROTECTED }, @@ -170,7 +161,6 @@ lexem const lexems[] = { "switch", boost::wave::T_SWITCH }, { "template", boost::wave::T_TEMPLATE }, { "this", boost::wave::T_THIS }, - { "thread_local", boost::wave::T_THREADLOCAL }, { "throw", boost::wave::T_THROW }, { "try", boost::wave::T_TRY }, { "typedef", boost::wave::T_TYPEDEF }, @@ -208,6 +198,18 @@ lexem const lexems[] = { "#region", boost::wave::T_MSEXT_PP_REGION }, { "#endregion", boost::wave::T_MSEXT_PP_ENDREGION }, #endif // BOOST_WAVE_SUPPORT_MS_EXTENSIONS != 0 +#if BOOST_WAVE_SUPPORT_CPP0X != 0 + { "R\"foo(string literal)foo\"", boost::wave::T_RAWSTRINGLIT }, + { "alignas", boost::wave::T_ALIGNAS }, + { "alignof", boost::wave::T_ALIGNOF }, + { "char16_t", boost::wave::T_CHAR16_T }, + { "char32_t", boost::wave::T_CHAR32_T }, + { "constexpr", boost::wave::T_CONSTEXPR }, + { "decltype", boost::wave::T_DECLTYPE }, + { "noexcept", boost::wave::T_NOEXCEPT }, + { "nullptr", boost::wave::T_NULLPTR }, + { "thread_local", boost::wave::T_THREADLOCAL }, +#endif // BOOST_WAVE_SUPPORT_CPP0X != 0 { "#define", boost::wave::T_PP_DEFINE }, { "#ifdef", boost::wave::T_PP_IFDEF }, { "#ifndef", boost::wave::T_PP_IFNDEF }, From 200f91e71da3fcc3f7e908a07c68c7d6b1a2398d Mon Sep 17 00:00:00 2001 From: Jeff Trull Date: Tue, 11 Aug 2020 13:17:01 -0700 Subject: [PATCH 4/4] Introduce C++20 tokens --- include/boost/wave/cpplexer/re2clex/cpp.re | 8 + .../boost/wave/cpplexer/re2clex/cpp_re.inc | 5384 +++++++++-------- .../wave/cpplexer/re2clex/cpp_re2c_lexer.hpp | 8 + .../boost/wave/cpplexer/re2clex/scanner.hpp | 1 + .../boost/wave/cpplexer/re2clex/strict_cpp.re | 8 + .../wave/cpplexer/re2clex/strict_cpp_re.inc | 5364 ++++++++-------- include/boost/wave/token_ids.hpp | 11 + samples/cpp_tokens/slex/cpp_slex_lexer.hpp | 40 +- .../list_includes/lexertl/lexertl_lexer.hpp | 33 +- samples/token_statistics/xlex/xlex_lexer.hpp | 30 +- src/token_ids.cpp | 18 + test/testlexers/cpp_tokens.hpp | 10 + test/testlexers/test_lexertl_lexer.cpp | 2 +- test/testlexers/test_re2c_lexer.cpp | 2 +- test/testlexers/test_slex_lexer.cpp | 2 +- test/testlexers/test_xlex_lexer.cpp | 2 +- 16 files changed, 5840 insertions(+), 5083 deletions(-) diff --git a/include/boost/wave/cpplexer/re2clex/cpp.re b/include/boost/wave/cpplexer/re2clex/cpp.re index 18fbbc6af..303c0cb16 100644 --- a/include/boost/wave/cpplexer/re2clex/cpp.re +++ b/include/boost/wave/cpplexer/re2clex/cpp.re @@ -54,13 +54,20 @@ NonDigit = [a-zA-Z_$] | UniversalChar; "case" { BOOST_WAVE_RET(T_CASE); } "catch" { BOOST_WAVE_RET(T_CATCH); } "char" { BOOST_WAVE_RET(T_CHAR); } + "char8_t" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CHAR8_T : T_IDENTIFIER); } "char16_t" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR16_T : T_IDENTIFIER); } "char32_t" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR32_T : T_IDENTIFIER); } "class" { BOOST_WAVE_RET(T_CLASS); } + "concept" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONCEPT : T_IDENTIFIER); } "const" { BOOST_WAVE_RET(T_CONST); } + "consteval" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTEVAL : T_IDENTIFIER); } "constexpr" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CONSTEXPR : T_IDENTIFIER); } + "constinit" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTINIT : T_IDENTIFIER); } "const_cast" { BOOST_WAVE_RET(T_CONSTCAST); } "continue" { BOOST_WAVE_RET(T_CONTINUE); } + "co_await" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_AWAIT : T_IDENTIFIER); } + "co_return" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_RETURN : T_IDENTIFIER); } + "co_yield" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_YIELD : T_IDENTIFIER); } "decltype" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_DECLTYPE : T_IDENTIFIER); } "default" { BOOST_WAVE_RET(T_DEFAULT); } "delete" { BOOST_WAVE_RET(T_DELETE); } @@ -93,6 +100,7 @@ NonDigit = [a-zA-Z_$] | UniversalChar; "public" { BOOST_WAVE_RET(T_PUBLIC); } "register" { BOOST_WAVE_RET(T_REGISTER); } "reinterpret_cast" { BOOST_WAVE_RET(T_REINTERPRETCAST); } + "requires" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_REQUIRES : T_IDENTIFIER); } "return" { BOOST_WAVE_RET(T_RETURN); } "short" { BOOST_WAVE_RET(T_SHORT); } "signed" { BOOST_WAVE_RET(T_SIGNED); } diff --git a/include/boost/wave/cpplexer/re2clex/cpp_re.inc b/include/boost/wave/cpplexer/re2clex/cpp_re.inc index b39ed1f60..815aa05af 100644 --- a/include/boost/wave/cpplexer/re2clex/cpp_re.inc +++ b/include/boost/wave/cpplexer/re2clex/cpp_re.inc @@ -1,4 +1,4 @@ -/* Generated by re2c 1.0.2 on Wed Mar 18 15:39:19 2020 */ +/* Generated by re2c 1.0.2 on Tue Aug 11 13:13:46 2020 */ #line 1 "cpp.re" /*============================================================================= Boost.Wave: A Standard compliant C++ preprocessor library @@ -228,7 +228,7 @@ } yy2: ++YYCURSOR; -#line 336 "cpp.re" +#line 344 "cpp.re" { if (s->eof && cursor != s->eof) { @@ -241,7 +241,7 @@ yy2: #line 242 "cpp_re.inc" yy4: ++YYCURSOR; -#line 349 "cpp.re" +#line 357 "cpp.re" { // flag the error BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor @@ -256,13 +256,13 @@ yy6: if (yybm[256+yych] & 64) { goto yy6; } -#line 326 "cpp.re" +#line 334 "cpp.re" { BOOST_WAVE_RET(T_SPACE); } #line 262 "cpp_re.inc" yy9: ++YYCURSOR; yy10: -#line 329 "cpp.re" +#line 337 "cpp.re" { s->line++; cursor.column = 1; @@ -276,7 +276,7 @@ yy11: yy12: yych = *++YYCURSOR; if (yych == '=') goto yy96; -#line 202 "cpp.re" +#line 210 "cpp.re" { BOOST_WAVE_RET(T_NOT); } #line 282 "cpp_re.inc" yy14: @@ -289,7 +289,7 @@ yy14: if (yych >= ' ') goto yy99; } yy15: -#line 346 "cpp.re" +#line 354 "cpp.re" { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); } #line 295 "cpp_re.inc" yy16: @@ -330,7 +330,7 @@ yy16: } } yy17: -#line 151 "cpp.re" +#line 159 "cpp.re" { BOOST_WAVE_RET(T_POUND); } #line 336 "cpp_re.inc" yy18: @@ -345,7 +345,7 @@ yy19: if (yych == '?') goto yy119; if (yych == '\\') goto yy120; yy20: -#line 297 "cpp.re" +#line 305 "cpp.re" { BOOST_WAVE_RET(T_IDENTIFIER); } #line 351 "cpp_re.inc" yy21: @@ -356,14 +356,14 @@ yy21: if (yych <= '=') goto yy123; if (yych <= '>') goto yy125; } -#line 190 "cpp.re" +#line 198 "cpp.re" { BOOST_WAVE_RET(T_PERCENT); } #line 362 "cpp_re.inc" yy23: yych = *++YYCURSOR; if (yych == '&') goto yy127; if (yych == '=') goto yy129; -#line 194 "cpp.re" +#line 202 "cpp.re" { BOOST_WAVE_RET(T_AND); } #line 369 "cpp_re.inc" yy25: @@ -380,30 +380,30 @@ yy25: } yy26: ++YYCURSOR; -#line 159 "cpp.re" +#line 167 "cpp.re" { BOOST_WAVE_RET(T_LEFTPAREN); } #line 386 "cpp_re.inc" yy28: ++YYCURSOR; -#line 160 "cpp.re" +#line 168 "cpp.re" { BOOST_WAVE_RET(T_RIGHTPAREN); } #line 391 "cpp_re.inc" yy30: yych = *++YYCURSOR; if (yych == '=') goto yy135; -#line 188 "cpp.re" +#line 196 "cpp.re" { BOOST_WAVE_RET(T_STAR); } #line 397 "cpp_re.inc" yy32: yych = *++YYCURSOR; if (yych == '+') goto yy137; if (yych == '=') goto yy139; -#line 186 "cpp.re" +#line 194 "cpp.re" { BOOST_WAVE_RET(T_PLUS); } #line 404 "cpp_re.inc" yy34: ++YYCURSOR; -#line 238 "cpp.re" +#line 246 "cpp.re" { BOOST_WAVE_RET(T_COMMA); } #line 409 "cpp_re.inc" yy36: @@ -414,7 +414,7 @@ yy36: if (yych <= '=') goto yy143; if (yych <= '>') goto yy145; } -#line 187 "cpp.re" +#line 195 "cpp.re" { BOOST_WAVE_RET(T_MINUS); } #line 420 "cpp_re.inc" yy38: @@ -428,7 +428,7 @@ yy38: if (yych <= '9') goto yy42; } yy39: -#line 175 "cpp.re" +#line 183 "cpp.re" { BOOST_WAVE_RET(T_DOT); } #line 434 "cpp_re.inc" yy40: @@ -439,7 +439,7 @@ yy40: if (yych <= '/') goto yy152; if (yych == '=') goto yy154; } -#line 189 "cpp.re" +#line 197 "cpp.re" { BOOST_WAVE_RET(T_DIVIDE); } #line 445 "cpp_re.inc" yy42: @@ -451,12 +451,12 @@ yy44: yych = *++YYCURSOR; if (yych == ':') goto yy156; if (yych == '>') goto yy158; -#line 162 "cpp.re" +#line 170 "cpp.re" { BOOST_WAVE_RET(T_COLON); } #line 457 "cpp_re.inc" yy46: ++YYCURSOR; -#line 161 "cpp.re" +#line 169 "cpp.re" { BOOST_WAVE_RET(T_SEMICOLON); } #line 462 "cpp_re.inc" yy48: @@ -470,13 +470,13 @@ yy48: if (yych <= '=') goto yy166; } yy49: -#line 205 "cpp.re" +#line 213 "cpp.re" { BOOST_WAVE_RET(T_LESS); } #line 476 "cpp_re.inc" yy50: yych = *++YYCURSOR; if (yych == '=') goto yy168; -#line 204 "cpp.re" +#line 212 "cpp.re" { BOOST_WAVE_RET(T_ASSIGN); } #line 482 "cpp_re.inc" yy52: @@ -485,7 +485,7 @@ yy52: if (yych <= '=') goto yy170; if (yych <= '>') goto yy172; yy53: -#line 206 "cpp.re" +#line 214 "cpp.re" { BOOST_WAVE_RET(T_GREATER); } #line 491 "cpp_re.inc" yy54: @@ -493,7 +493,7 @@ yy54: yych = *(YYMARKER = ++YYCURSOR); if (yych == '?') goto yy174; yy55: -#line 164 "cpp.re" +#line 172 "cpp.re" { BOOST_WAVE_RET(T_QUESTION_MARK); } #line 499 "cpp_re.inc" yy56: @@ -527,7 +527,7 @@ yy59: } yy60: ++YYCURSOR; -#line 145 "cpp.re" +#line 153 "cpp.re" { BOOST_WAVE_RET(T_LEFTBRACKET); } #line 533 "cpp_re.inc" yy62: @@ -538,13 +538,13 @@ yy62: goto yy15; yy63: ++YYCURSOR; -#line 148 "cpp.re" +#line 156 "cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACKET); } #line 544 "cpp_re.inc" yy65: yych = *++YYCURSOR; if (yych == '=') goto yy185; -#line 191 "cpp.re" +#line 199 "cpp.re" { BOOST_WAVE_RET(T_XOR); } #line 550 "cpp_re.inc" yy67: @@ -741,7 +741,7 @@ yy87: goto yy19; yy88: ++YYCURSOR; -#line 139 "cpp.re" +#line 147 "cpp.re" { BOOST_WAVE_RET(T_LEFTBRACE); } #line 747 "cpp_re.inc" yy90: @@ -754,22 +754,22 @@ yy90: if (yych == '|') goto yy253; } yy91: -#line 196 "cpp.re" +#line 204 "cpp.re" { BOOST_WAVE_RET(T_OR); } #line 760 "cpp_re.inc" yy92: ++YYCURSOR; -#line 142 "cpp.re" +#line 150 "cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACE); } #line 765 "cpp_re.inc" yy94: ++YYCURSOR; -#line 199 "cpp.re" +#line 207 "cpp.re" { BOOST_WAVE_RET(T_COMPL); } #line 770 "cpp_re.inc" yy96: ++YYCURSOR; -#line 225 "cpp.re" +#line 233 "cpp.re" { BOOST_WAVE_RET(T_NOTEQUAL); } #line 775 "cpp_re.inc" yy98: @@ -786,9 +786,9 @@ yy99: goto yy104; yy100: YYCURSOR = YYMARKER; - if (yyaccept <= 56) { - if (yyaccept <= 28) { - if (yyaccept <= 14) { + if (yyaccept <= 60) { + if (yyaccept <= 30) { + if (yyaccept <= 15) { if (yyaccept <= 7) { if (yyaccept <= 3) { if (yyaccept <= 1) { @@ -842,397 +842,429 @@ yy100: goto yy307; } } else { - goto yy328; + if (yyaccept == 14) { + goto yy328; + } else { + goto yy330; + } } } } } else { - if (yyaccept <= 21) { - if (yyaccept <= 18) { - if (yyaccept <= 16) { - if (yyaccept == 15) { - goto yy330; + if (yyaccept <= 23) { + if (yyaccept <= 19) { + if (yyaccept <= 17) { + if (yyaccept == 16) { + goto yy354; } else { - goto yy353; + goto yy360; } } else { - if (yyaccept == 17) { - goto yy359; + if (yyaccept == 18) { + goto yy365; } else { - goto yy364; + goto yy368; } } } else { - if (yyaccept <= 20) { - if (yyaccept == 19) { - goto yy367; + if (yyaccept <= 21) { + if (yyaccept == 20) { + goto yy390; } else { - goto yy388; + goto yy401; } } else { - goto yy399; + if (yyaccept == 22) { + goto yy448; + } else { + goto yy458; + } } } } else { - if (yyaccept <= 25) { - if (yyaccept <= 23) { - if (yyaccept == 22) { - goto yy446; + if (yyaccept <= 27) { + if (yyaccept <= 25) { + if (yyaccept == 24) { + goto yy462; } else { - goto yy456; + goto yy465; } } else { - if (yyaccept == 24) { - goto yy460; + if (yyaccept == 26) { + goto yy468; } else { - goto yy463; + goto yy483; } } } else { - if (yyaccept <= 27) { - if (yyaccept == 26) { - goto yy466; + if (yyaccept <= 29) { + if (yyaccept == 28) { + goto yy485; } else { - goto yy477; + goto yy493; } } else { - goto yy479; + goto yy497; } } } } } else { - if (yyaccept <= 42) { - if (yyaccept <= 35) { - if (yyaccept <= 32) { - if (yyaccept <= 30) { - if (yyaccept == 29) { - goto yy487; + if (yyaccept <= 45) { + if (yyaccept <= 38) { + if (yyaccept <= 34) { + if (yyaccept <= 32) { + if (yyaccept == 31) { + goto yy520; } else { - goto yy491; + goto yy524; } } else { - if (yyaccept == 31) { - goto yy513; + if (yyaccept == 33) { + goto yy531; } else { - goto yy517; + goto yy102; } } } else { - if (yyaccept <= 34) { - if (yyaccept == 33) { - goto yy524; + if (yyaccept <= 36) { + if (yyaccept == 35) { + goto yy278; } else { - goto yy102; + goto yy570; } } else { - goto yy278; + if (yyaccept == 37) { + goto yy581; + } else { + goto yy583; + } } } } else { - if (yyaccept <= 39) { - if (yyaccept <= 37) { - if (yyaccept == 36) { - goto yy563; + if (yyaccept <= 42) { + if (yyaccept <= 40) { + if (yyaccept == 39) { + goto yy585; } else { - goto yy574; + goto yy590; } } else { - if (yyaccept == 38) { - goto yy576; + if (yyaccept == 41) { + goto yy595; } else { - goto yy578; + goto yy598; } } } else { - if (yyaccept <= 41) { - if (yyaccept == 40) { - goto yy582; + if (yyaccept <= 44) { + if (yyaccept == 43) { + goto yy609; } else { - goto yy584; + goto yy611; } } else { - goto yy586; + goto yy622; } } } } else { - if (yyaccept <= 49) { - if (yyaccept <= 46) { - if (yyaccept <= 44) { - if (yyaccept == 43) { - goto yy597; + if (yyaccept <= 53) { + if (yyaccept <= 49) { + if (yyaccept <= 47) { + if (yyaccept == 46) { + goto yy631; } else { - goto yy599; + goto yy640; } } else { - if (yyaccept == 45) { - goto yy610; + if (yyaccept == 48) { + goto yy645; } else { - goto yy618; + goto yy648; } } } else { - if (yyaccept <= 48) { - if (yyaccept == 47) { - goto yy627; + if (yyaccept <= 51) { + if (yyaccept == 50) { + goto yy653; } else { - goto yy632; + goto yy682; } } else { - goto yy635; + if (yyaccept == 52) { + goto yy685; + } else { + goto yy687; + } } } } else { - if (yyaccept <= 53) { - if (yyaccept <= 51) { - if (yyaccept == 50) { - goto yy640; + if (yyaccept <= 57) { + if (yyaccept <= 55) { + if (yyaccept == 54) { + goto yy695; } else { - goto yy669; + goto yy697; } } else { - if (yyaccept == 52) { - goto yy672; + if (yyaccept == 56) { + goto yy712; } else { - goto yy674; + goto yy714; } } } else { - if (yyaccept <= 55) { - if (yyaccept == 54) { - goto yy682; + if (yyaccept <= 59) { + if (yyaccept == 58) { + goto yy718; } else { - goto yy684; + goto yy720; } } else { - goto yy693; + goto yy722; } } } } } } else { - if (yyaccept <= 85) { - if (yyaccept <= 71) { - if (yyaccept <= 64) { - if (yyaccept <= 60) { - if (yyaccept <= 58) { - if (yyaccept == 57) { - goto yy695; + if (yyaccept <= 91) { + if (yyaccept <= 76) { + if (yyaccept <= 68) { + if (yyaccept <= 64) { + if (yyaccept <= 62) { + if (yyaccept == 61) { + goto yy724; } else { - goto yy699; + goto yy726; } } else { - if (yyaccept == 59) { - goto yy701; + if (yyaccept == 63) { + goto yy731; } else { - goto yy703; + goto yy737; } } } else { - if (yyaccept <= 62) { - if (yyaccept == 61) { - goto yy705; + if (yyaccept <= 66) { + if (yyaccept == 65) { + goto yy742; } else { - goto yy707; + goto yy744; } } else { - if (yyaccept == 63) { - goto yy712; + if (yyaccept == 67) { + goto yy746; } else { - goto yy718; + goto yy748; } } } } else { - if (yyaccept <= 68) { - if (yyaccept <= 66) { - if (yyaccept == 65) { - goto yy722; + if (yyaccept <= 72) { + if (yyaccept <= 70) { + if (yyaccept == 69) { + goto yy750; } else { - goto yy724; + goto yy752; } } else { - if (yyaccept == 67) { - goto yy726; + if (yyaccept == 71) { + goto yy757; } else { - goto yy728; + goto yy764; } } } else { - if (yyaccept <= 70) { - if (yyaccept == 69) { - goto yy730; + if (yyaccept <= 74) { + if (yyaccept == 73) { + goto yy779; } else { - goto yy732; + goto yy781; } } else { - goto yy737; + if (yyaccept == 75) { + goto yy783; + } else { + goto yy785; + } } } } } else { - if (yyaccept <= 78) { - if (yyaccept <= 75) { - if (yyaccept <= 73) { - if (yyaccept == 72) { - goto yy744; + if (yyaccept <= 84) { + if (yyaccept <= 80) { + if (yyaccept <= 78) { + if (yyaccept == 77) { + goto yy789; } else { - goto yy759; + goto yy792; } } else { - if (yyaccept == 74) { - goto yy761; + if (yyaccept == 79) { + goto yy794; } else { - goto yy763; + goto yy798; } } } else { - if (yyaccept <= 77) { - if (yyaccept == 76) { - goto yy765; + if (yyaccept <= 82) { + if (yyaccept == 81) { + goto yy803; } else { - goto yy769; + goto yy811; } } else { - goto yy772; + if (yyaccept == 83) { + goto yy815; + } else { + goto yy819; + } } } } else { - if (yyaccept <= 82) { - if (yyaccept <= 80) { - if (yyaccept == 79) { - goto yy774; + if (yyaccept <= 88) { + if (yyaccept <= 86) { + if (yyaccept == 85) { + goto yy822; } else { - goto yy782; + goto yy831; } } else { - if (yyaccept == 81) { - goto yy786; + if (yyaccept == 87) { + goto yy835; } else { - goto yy790; + goto yy838; } } } else { - if (yyaccept <= 84) { - if (yyaccept == 83) { - goto yy793; + if (yyaccept <= 90) { + if (yyaccept == 89) { + goto yy841; } else { - goto yy801; + goto yy845; } } else { - goto yy805; + goto yy850; } } } } } else { - if (yyaccept <= 99) { - if (yyaccept <= 92) { - if (yyaccept <= 89) { - if (yyaccept <= 87) { - if (yyaccept == 86) { - goto yy808; + if (yyaccept <= 106) { + if (yyaccept <= 99) { + if (yyaccept <= 95) { + if (yyaccept <= 93) { + if (yyaccept == 92) { + goto yy852; } else { - goto yy811; + goto yy854; } } else { - if (yyaccept == 88) { - goto yy815; + if (yyaccept == 94) { + goto yy856; } else { - goto yy820; + goto yy859; } } } else { - if (yyaccept <= 91) { - if (yyaccept == 90) { - goto yy822; - } else { - goto yy824; - } - } else { - goto yy828; - } - } - } else { - if (yyaccept <= 96) { - if (yyaccept <= 94) { - if (yyaccept == 93) { - goto yy830; + if (yyaccept <= 97) { + if (yyaccept == 96) { + goto yy865; } else { - goto yy833; + goto yy867; } } else { - if (yyaccept == 95) { - goto yy836; - } else { - goto yy838; - } - } - } else { - if (yyaccept <= 98) { - if (yyaccept == 97) { - goto yy841; + if (yyaccept == 98) { + goto yy870; } else { - goto yy846; + goto yy873; } - } else { - goto yy849; } } - } - } else { - if (yyaccept <= 106) { + } else { if (yyaccept <= 103) { if (yyaccept <= 101) { if (yyaccept == 100) { - goto yy851; + goto yy875; } else { - goto yy853; + goto yy878; } } else { if (yyaccept == 102) { - goto yy862; + goto yy881; } else { - goto yy864; + goto yy885; } } } else { if (yyaccept <= 105) { if (yyaccept == 104) { - goto yy866; + goto yy888; } else { - goto yy869; + goto yy890; } } else { - goto yy872; + goto yy892; } } - } else { + } + } else { + if (yyaccept <= 114) { if (yyaccept <= 110) { if (yyaccept <= 108) { if (yyaccept == 107) { - goto yy874; + goto yy901; } else { - goto yy889; + goto yy903; } } else { if (yyaccept == 109) { - goto yy906; + goto yy905; } else { - goto yy910; + goto yy907; } } } else { if (yyaccept <= 112) { if (yyaccept == 111) { + goto yy910; + } else { + goto yy912; + } + } else { + if (yyaccept == 113) { goto yy914; } else { goto yy917; } + } + } + } else { + if (yyaccept <= 118) { + if (yyaccept <= 116) { + if (yyaccept == 115) { + goto yy919; + } else { + goto yy934; + } + } else { + if (yyaccept == 117) { + goto yy951; + } else { + goto yy955; + } + } + } else { + if (yyaccept <= 120) { + if (yyaccept == 119) { + goto yy959; + } else { + goto yy962; + } } else { - goto yy921; + goto yy966; } } } @@ -1242,9 +1274,9 @@ yy100: yy101: ++YYCURSOR; yy102: -#line 256 "cpp.re" +#line 264 "cpp.re" { BOOST_WAVE_RET(T_STRINGLIT); } -#line 1248 "cpp_re.inc" +#line 1280 "cpp_re.inc" yy103: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -1350,9 +1382,9 @@ yy106: } yy107: ++YYCURSOR; -#line 154 "cpp.re" +#line 162 "cpp.re" { BOOST_WAVE_RET(T_POUND_POUND); } -#line 1356 "cpp_re.inc" +#line 1388 "cpp_re.inc" yy109: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -1452,29 +1484,29 @@ yy121: } } yy122: -#line 152 "cpp.re" +#line 160 "cpp.re" { BOOST_WAVE_RET(T_POUND_ALT); } -#line 1458 "cpp_re.inc" +#line 1490 "cpp_re.inc" yy123: ++YYCURSOR; -#line 211 "cpp.re" +#line 219 "cpp.re" { BOOST_WAVE_RET(T_PERCENTASSIGN); } -#line 1463 "cpp_re.inc" +#line 1495 "cpp_re.inc" yy125: ++YYCURSOR; -#line 144 "cpp.re" +#line 152 "cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACE_ALT); } -#line 1468 "cpp_re.inc" +#line 1500 "cpp_re.inc" yy127: ++YYCURSOR; -#line 229 "cpp.re" +#line 237 "cpp.re" { BOOST_WAVE_RET(T_ANDAND); } -#line 1473 "cpp_re.inc" +#line 1505 "cpp_re.inc" yy129: ++YYCURSOR; -#line 215 "cpp.re" +#line 223 "cpp.re" { BOOST_WAVE_RET(T_ANDASSIGN); } -#line 1478 "cpp_re.inc" +#line 1510 "cpp_re.inc" yy131: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -1545,38 +1577,38 @@ yy134: } yy135: ++YYCURSOR; -#line 209 "cpp.re" +#line 217 "cpp.re" { BOOST_WAVE_RET(T_STARASSIGN); } -#line 1551 "cpp_re.inc" +#line 1583 "cpp_re.inc" yy137: ++YYCURSOR; -#line 236 "cpp.re" +#line 244 "cpp.re" { BOOST_WAVE_RET(T_PLUSPLUS); } -#line 1556 "cpp_re.inc" +#line 1588 "cpp_re.inc" yy139: ++YYCURSOR; -#line 207 "cpp.re" +#line 215 "cpp.re" { BOOST_WAVE_RET(T_PLUSASSIGN); } -#line 1561 "cpp_re.inc" +#line 1593 "cpp_re.inc" yy141: ++YYCURSOR; -#line 237 "cpp.re" +#line 245 "cpp.re" { BOOST_WAVE_RET(T_MINUSMINUS); } -#line 1566 "cpp_re.inc" +#line 1598 "cpp_re.inc" yy143: ++YYCURSOR; -#line 208 "cpp.re" +#line 216 "cpp.re" { BOOST_WAVE_RET(T_MINUSASSIGN); } -#line 1571 "cpp_re.inc" +#line 1603 "cpp_re.inc" yy145: yych = *++YYCURSOR; if (yych == '*') goto yy284; -#line 249 "cpp.re" +#line 257 "cpp.re" { BOOST_WAVE_RET(T_ARROW); } -#line 1577 "cpp_re.inc" +#line 1609 "cpp_re.inc" yy147: ++YYCURSOR; -#line 177 "cpp.re" +#line 185 "cpp.re" { if (s->act_in_c99_mode) { --YYCURSOR; @@ -1586,7 +1618,7 @@ yy147: BOOST_WAVE_RET(T_DOTSTAR); } } -#line 1590 "cpp_re.inc" +#line 1622 "cpp_re.inc" yy149: yych = *++YYCURSOR; if (yych == '.') goto yy286; @@ -1595,20 +1627,20 @@ yy150: ++YYCURSOR; #line 44 "cpp.re" { goto ccomment; } -#line 1599 "cpp_re.inc" +#line 1631 "cpp_re.inc" yy152: ++YYCURSOR; #line 45 "cpp.re" { goto cppcomment; } -#line 1604 "cpp_re.inc" +#line 1636 "cpp_re.inc" yy154: ++YYCURSOR; -#line 210 "cpp.re" +#line 218 "cpp.re" { BOOST_WAVE_RET(T_DIVIDEASSIGN); } -#line 1609 "cpp_re.inc" +#line 1641 "cpp_re.inc" yy156: ++YYCURSOR; -#line 166 "cpp.re" +#line 174 "cpp.re" { if (s->act_in_c99_mode) { --YYCURSOR; @@ -1618,49 +1650,49 @@ yy156: BOOST_WAVE_RET(T_COLON_COLON); } } -#line 1622 "cpp_re.inc" +#line 1654 "cpp_re.inc" yy158: ++YYCURSOR; -#line 150 "cpp.re" +#line 158 "cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACKET_ALT); } -#line 1627 "cpp_re.inc" +#line 1659 "cpp_re.inc" yy160: ++YYCURSOR; -#line 141 "cpp.re" +#line 149 "cpp.re" { BOOST_WAVE_RET(T_LEFTBRACE_ALT); } -#line 1632 "cpp_re.inc" +#line 1664 "cpp_re.inc" yy162: ++YYCURSOR; -#line 147 "cpp.re" +#line 155 "cpp.re" { BOOST_WAVE_RET(T_LEFTBRACKET_ALT); } -#line 1637 "cpp_re.inc" +#line 1669 "cpp_re.inc" yy164: yych = *++YYCURSOR; if (yych == '=') goto yy288; -#line 220 "cpp.re" +#line 228 "cpp.re" { BOOST_WAVE_RET(T_SHIFTLEFT); } -#line 1643 "cpp_re.inc" +#line 1675 "cpp_re.inc" yy166: ++YYCURSOR; -#line 227 "cpp.re" +#line 235 "cpp.re" { BOOST_WAVE_RET(T_LESSEQUAL); } -#line 1648 "cpp_re.inc" +#line 1680 "cpp_re.inc" yy168: ++YYCURSOR; -#line 224 "cpp.re" +#line 232 "cpp.re" { BOOST_WAVE_RET(T_EQUAL); } -#line 1653 "cpp_re.inc" +#line 1685 "cpp_re.inc" yy170: ++YYCURSOR; -#line 228 "cpp.re" +#line 236 "cpp.re" { BOOST_WAVE_RET(T_GREATEREQUAL); } -#line 1658 "cpp_re.inc" +#line 1690 "cpp_re.inc" yy172: yych = *++YYCURSOR; if (yych == '=') goto yy290; -#line 221 "cpp.re" +#line 229 "cpp.re" { BOOST_WAVE_RET(T_SHIFTRIGHT); } -#line 1664 "cpp_re.inc" +#line 1696 "cpp_re.inc" yy174: yych = *++YYCURSOR; switch (yych) { @@ -1681,7 +1713,7 @@ yy175: goto yy132; yy176: ++YYCURSOR; -#line 259 "cpp.re" +#line 267 "cpp.re" { if (s->act_in_cpp0x_mode) { @@ -1691,27 +1723,27 @@ yy176: --YYCURSOR; BOOST_WAVE_RET(T_IDENTIFIER); } -#line 1695 "cpp_re.inc" +#line 1727 "cpp_re.inc" yy178: ++YYCURSOR; -#line 278 "cpp.re" +#line 286 "cpp.re" { if (s->act_in_cpp0x_mode) goto extstringlit; --YYCURSOR; BOOST_WAVE_RET(T_IDENTIFIER); } -#line 1705 "cpp_re.inc" +#line 1737 "cpp_re.inc" yy180: ++YYCURSOR; -#line 270 "cpp.re" +#line 278 "cpp.re" { if (s->act_in_cpp0x_mode) goto extcharlit; --YYCURSOR; BOOST_WAVE_RET(T_IDENTIFIER); } -#line 1715 "cpp_re.inc" +#line 1747 "cpp_re.inc" yy182: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); @@ -1747,9 +1779,9 @@ yy184: } yy185: ++YYCURSOR; -#line 212 "cpp.re" +#line 220 "cpp.re" { BOOST_WAVE_RET(T_XORASSIGN); } -#line 1753 "cpp_re.inc" +#line 1785 "cpp_re.inc" yy187: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); @@ -1856,19 +1888,23 @@ yy204: yy205: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'l') goto yy19; - if (yych <= 'm') goto yy339; - if (yych <= 'n') goto yy340; - goto yy19; + if (yych <= 'l') { + if (yych == '_') goto yy339; + goto yy19; + } else { + if (yych <= 'm') goto yy340; + if (yych <= 'n') goto yy341; + goto yy19; + } yy206: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'e') { - if (yych == 'c') goto yy341; + if (yych == 'c') goto yy342; goto yy19; } else { - if (yych <= 'f') goto yy342; - if (yych == 'l') goto yy343; + if (yych <= 'f') goto yy343; + if (yych == 'l') goto yy344; goto yy19; } yy207: @@ -1890,60 +1926,60 @@ yy207: if (yych <= 't') { if (yych >= 'a') goto yy18; } else { - if (yych <= 'u') goto yy344; + if (yych <= 'u') goto yy345; if (yych <= 'z') goto yy18; } } } yy208: -#line 67 "cpp.re" +#line 74 "cpp.re" { BOOST_WAVE_RET(T_DO); } -#line 1902 "cpp_re.inc" +#line 1938 "cpp_re.inc" yy209: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy345; + if (yych == 'n') goto yy346; goto yy19; yy210: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy346; + if (yych == 's') goto yy347; goto yy19; yy211: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy347; + if (yych == 'u') goto yy348; goto yy19; yy212: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy348; - if (yych == 't') goto yy349; + if (yych == 'p') goto yy349; + if (yych == 't') goto yy350; goto yy19; yy213: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy350; + if (yych == 'l') goto yy351; goto yy19; yy214: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy351; + if (yych == 'o') goto yy352; goto yy19; yy215: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy352; + if (yych == 'r') goto yy353; goto yy19; yy216: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy354; + if (yych == 'i') goto yy355; goto yy19; yy217: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy355; + if (yych == 't') goto yy356; goto yy19; yy218: yyaccept = 8; @@ -1954,55 +1990,55 @@ yy218: if (yych == '?') goto yy119; if (yych == '\\') goto yy120; yy219: -#line 80 "cpp.re" +#line 87 "cpp.re" { BOOST_WAVE_RET(T_IF); } -#line 1960 "cpp_re.inc" +#line 1996 "cpp_re.inc" yy220: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy356; + if (yych == 'p') goto yy357; goto yy19; yy221: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy357; - if (yych == 't') goto yy358; + if (yych == 'l') goto yy358; + if (yych == 't') goto yy359; goto yy19; yy222: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy360; + if (yych == 'n') goto yy361; goto yy19; yy223: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy361; + if (yych == 't') goto yy362; goto yy19; yy224: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy362; + if (yych == 'm') goto yy363; goto yy19; yy225: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'w') goto yy363; + if (yych == 'w') goto yy364; goto yy19; yy226: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy365; - if (yych == 't') goto yy366; + if (yych == 'e') goto yy366; + if (yych == 't') goto yy367; goto yy19; yy227: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy368; + if (yych == 'l') goto yy369; goto yy19; yy228: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy369; + if (yych == 'e') goto yy370; goto yy19; yy229: yyaccept = 9; @@ -2019,80 +2055,79 @@ yy229: if (yych <= 'Z') goto yy18; if (yych == '\\') goto yy120; } else { - if (yych <= '_') goto yy370; + if (yych <= '_') goto yy371; if (yych <= '`') goto yy230; if (yych <= 'z') goto yy18; } } yy230: -#line 234 "cpp.re" +#line 242 "cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_OROR_ALT); } -#line 2031 "cpp_re.inc" +#line 2067 "cpp_re.inc" yy231: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy371; - if (yych == 'o') goto yy372; + if (yych == 'i') goto yy372; + if (yych == 'o') goto yy373; goto yy19; yy232: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'b') goto yy373; + if (yych == 'b') goto yy374; goto yy19; yy233: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'h') { - if (yych == 'g') goto yy374; - goto yy19; - } else { - if (yych <= 'i') goto yy375; - if (yych == 't') goto yy376; - goto yy19; + switch (yych) { + case 'g': goto yy375; + case 'i': goto yy376; + case 'q': goto yy377; + case 't': goto yy378; + default: goto yy19; } yy234: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy377; + if (yych == 'o') goto yy379; goto yy19; yy235: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy378; - if (yych == 'z') goto yy379; + if (yych == 'g') goto yy380; + if (yych == 'z') goto yy381; goto yy19; yy236: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy380; - if (yych == 'r') goto yy381; + if (yych == 'a') goto yy382; + if (yych == 'r') goto yy383; goto yy19; yy237: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy382; + if (yych == 'i') goto yy384; goto yy19; yy238: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy383; + if (yych == 'm') goto yy385; goto yy19; yy239: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy384; - if (yych == 'r') goto yy385; + if (yych == 'i') goto yy386; + if (yych == 'r') goto yy387; goto yy19; yy240: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy386; - if (yych == 'y') goto yy387; + if (yych == 'u') goto yy388; + if (yych == 'y') goto yy389; goto yy19; yy241: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy389; + if (yych == 'p') goto yy391; goto yy19; yy242: yyaccept = 2; @@ -2103,54 +2138,54 @@ yy242: yy243: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy390; - if (yych == 's') goto yy391; + if (yych == 'i') goto yy392; + if (yych == 's') goto yy393; goto yy19; yy244: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy392; + if (yych == 'i') goto yy394; goto yy19; yy245: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy393; + if (yych == 'r') goto yy395; goto yy19; yy246: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy394; - if (yych == 'l') goto yy395; + if (yych == 'i') goto yy396; + if (yych == 'l') goto yy397; goto yy19; yy247: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'h') goto yy396; + if (yych == 'h') goto yy398; goto yy19; yy248: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy397; + if (yych == 'i') goto yy399; goto yy19; yy249: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy398; + if (yych == 'r') goto yy400; goto yy19; yy250: ++YYCURSOR; -#line 217 "cpp.re" +#line 225 "cpp.re" { BOOST_WAVE_RET(T_ORASSIGN); } -#line 2145 "cpp_re.inc" +#line 2180 "cpp_re.inc" yy252: yych = *++YYCURSOR; - if (yych == '?') goto yy400; + if (yych == '?') goto yy402; goto yy100; yy253: ++YYCURSOR; -#line 231 "cpp.re" +#line 239 "cpp.re" { BOOST_WAVE_RET(T_OROR); } -#line 2154 "cpp_re.inc" +#line 2189 "cpp_re.inc" yy255: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -2171,7 +2206,7 @@ yy255: if (yych <= '/') { if (yych <= '"') goto yy101; if (yych <= '.') goto yy98; - goto yy401; + goto yy403; } else { if (yych == '\\') goto yy104; goto yy98; @@ -2183,12 +2218,12 @@ yy257: yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy403; + if (yych <= '9') goto yy405; goto yy100; } else { - if (yych <= 'F') goto yy403; + if (yych <= 'F') goto yy405; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy403; + if (yych <= 'f') goto yy405; goto yy100; } yy258: @@ -2197,12 +2232,12 @@ yy258: yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy404; + if (yych <= '9') goto yy406; goto yy100; } else { - if (yych <= 'F') goto yy404; + if (yych <= 'F') goto yy406; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy404; + if (yych <= 'f') goto yy406; goto yy100; } yy259: @@ -2227,60 +2262,60 @@ yy260: goto yy260; } if (yych <= 0x1F) goto yy100; - goto yy405; + goto yy407; yy262: yych = *++YYCURSOR; - if (yych == '=') goto yy407; + if (yych == '=') goto yy409; goto yy100; yy263: yych = *++YYCURSOR; - if (yych == 'f') goto yy409; + if (yych == 'f') goto yy411; goto yy100; yy264: yych = *++YYCURSOR; - if (yych == 'i') goto yy410; - if (yych == 's') goto yy411; + if (yych == 'i') goto yy412; + if (yych == 's') goto yy413; goto yy100; yy265: yych = *++YYCURSOR; - if (yych == 'd') goto yy412; + if (yych == 'd') goto yy414; goto yy100; yy266: yych = *++YYCURSOR; - if (yych == 'r') goto yy413; + if (yych == 'r') goto yy415; goto yy100; yy267: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy414; - if (yych == 'n') goto yy415; + if (yych == 'd') goto yy416; + if (yych == 'n') goto yy417; yy268: -#line 308 "cpp.re" +#line 316 "cpp.re" { BOOST_WAVE_RET(T_PP_IF); } -#line 2261 "cpp_re.inc" +#line 2296 "cpp_re.inc" yy269: yych = *++YYCURSOR; - if (yych == 'c') goto yy416; + if (yych == 'c') goto yy418; goto yy100; yy270: yych = *++YYCURSOR; - if (yych == 'n') goto yy417; + if (yych == 'n') goto yy419; goto yy100; yy271: yych = *++YYCURSOR; - if (yych == 'a') goto yy418; + if (yych == 'a') goto yy420; goto yy100; yy272: yych = *++YYCURSOR; - if (yych == 'g') goto yy419; + if (yych == 'g') goto yy421; goto yy100; yy273: yych = *++YYCURSOR; - if (yych == 'd') goto yy420; + if (yych == 'd') goto yy422; goto yy100; yy274: yych = *++YYCURSOR; - if (yych == 'r') goto yy421; + if (yych == 'r') goto yy423; goto yy100; yy275: ++YYCURSOR; @@ -2290,14 +2325,14 @@ yy275: goto yy100; yy276: yych = *++YYCURSOR; - if (yych == ':') goto yy422; + if (yych == ':') goto yy424; goto yy100; yy277: ++YYCURSOR; yy278: -#line 253 "cpp.re" +#line 261 "cpp.re" { BOOST_WAVE_RET(T_CHARLIT); } -#line 2301 "cpp_re.inc" +#line 2336 "cpp_re.inc" yy279: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -2314,7 +2349,7 @@ yy279: } } else { if (yych <= '>') { - if (yych == '/') goto yy424; + if (yych == '/') goto yy426; goto yy131; } else { if (yych <= '?') goto yy279; @@ -2328,12 +2363,12 @@ yy281: yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy426; + if (yych <= '9') goto yy428; goto yy100; } else { - if (yych <= 'F') goto yy426; + if (yych <= 'F') goto yy428; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy426; + if (yych <= 'f') goto yy428; goto yy100; } yy282: @@ -2342,12 +2377,12 @@ yy282: yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy427; + if (yych <= '9') goto yy429; goto yy100; } else { - if (yych <= 'F') goto yy427; + if (yych <= 'F') goto yy429; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy427; + if (yych <= 'f') goto yy429; goto yy100; } yy283: @@ -2366,7 +2401,7 @@ yy283: } yy284: ++YYCURSOR; -#line 240 "cpp.re" +#line 248 "cpp.re" { if (s->act_in_c99_mode) { --YYCURSOR; @@ -2376,70 +2411,70 @@ yy284: BOOST_WAVE_RET(T_ARROWSTAR); } } -#line 2380 "cpp_re.inc" +#line 2415 "cpp_re.inc" yy286: ++YYCURSOR; -#line 163 "cpp.re" +#line 171 "cpp.re" { BOOST_WAVE_RET(T_ELLIPSIS); } -#line 2385 "cpp_re.inc" +#line 2420 "cpp_re.inc" yy288: ++YYCURSOR; -#line 223 "cpp.re" +#line 231 "cpp.re" { BOOST_WAVE_RET(T_SHIFTLEFTASSIGN); } -#line 2390 "cpp_re.inc" +#line 2425 "cpp_re.inc" yy290: ++YYCURSOR; -#line 222 "cpp.re" +#line 230 "cpp.re" { BOOST_WAVE_RET(T_SHIFTRIGHTASSIGN); } -#line 2395 "cpp_re.inc" +#line 2430 "cpp_re.inc" yy292: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '>') { - if (yych == '=') goto yy428; + if (yych == '=') goto yy430; } else { - if (yych <= '?') goto yy430; - if (yych == '|') goto yy431; + if (yych <= '?') goto yy432; + if (yych == '|') goto yy433; } yy293: -#line 198 "cpp.re" +#line 206 "cpp.re" { BOOST_WAVE_RET(T_OR_TRIGRAPH); } -#line 2408 "cpp_re.inc" +#line 2443 "cpp_re.inc" yy294: yych = *++YYCURSOR; - if (yych == '=') goto yy433; -#line 192 "cpp.re" + if (yych == '=') goto yy435; +#line 200 "cpp.re" { BOOST_WAVE_RET(T_XOR_TRIGRAPH); } -#line 2414 "cpp_re.inc" +#line 2449 "cpp_re.inc" yy296: ++YYCURSOR; -#line 146 "cpp.re" +#line 154 "cpp.re" { BOOST_WAVE_RET(T_LEFTBRACKET_TRIGRAPH); } -#line 2419 "cpp_re.inc" +#line 2454 "cpp_re.inc" yy298: ++YYCURSOR; -#line 149 "cpp.re" +#line 157 "cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACKET_TRIGRAPH); } -#line 2424 "cpp_re.inc" +#line 2459 "cpp_re.inc" yy300: ++YYCURSOR; -#line 200 "cpp.re" +#line 208 "cpp.re" { BOOST_WAVE_RET(T_COMPL_TRIGRAPH); } -#line 2429 "cpp_re.inc" +#line 2464 "cpp_re.inc" yy302: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy183; if (yych == 'u') goto yy184; yy303: -#line 250 "cpp.re" +#line 258 "cpp.re" { BOOST_WAVE_RET(T_ANY_TRIGRAPH); } -#line 2438 "cpp_re.inc" +#line 2473 "cpp_re.inc" yy304: ++YYCURSOR; -#line 140 "cpp.re" +#line 148 "cpp.re" { BOOST_WAVE_RET(T_LEFTBRACE_TRIGRAPH); } -#line 2443 "cpp_re.inc" +#line 2478 "cpp_re.inc" yy306: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); @@ -2453,10 +2488,10 @@ yy306: } } else { if (yych <= '.') { - if (yych == '#') goto yy435; + if (yych == '#') goto yy437; } else { if (yych <= '/') goto yy106; - if (yych == '?') goto yy437; + if (yych == '?') goto yy439; } } } else { @@ -2478,17 +2513,17 @@ yy306: } } yy307: -#line 153 "cpp.re" +#line 161 "cpp.re" { BOOST_WAVE_RET(T_POUND_TRIGRAPH); } -#line 2484 "cpp_re.inc" +#line 2519 "cpp_re.inc" yy308: ++YYCURSOR; -#line 143 "cpp.re" +#line 151 "cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACE_TRIGRAPH); } -#line 2489 "cpp_re.inc" +#line 2524 "cpp_re.inc" yy310: ++YYCURSOR; -#line 286 "cpp.re" +#line 294 "cpp.re" { if (s->act_in_cpp0x_mode) { @@ -2498,19 +2533,19 @@ yy310: --YYCURSOR; BOOST_WAVE_RET(T_IDENTIFIER); } -#line 2502 "cpp_re.inc" +#line 2537 "cpp_re.inc" yy312: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy438; + if (yych <= '9') goto yy440; goto yy100; } else { - if (yych <= 'F') goto yy438; + if (yych <= 'F') goto yy440; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy438; + if (yych <= 'f') goto yy440; goto yy100; } yy313: @@ -2519,79 +2554,79 @@ yy313: yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy439; + if (yych <= '9') goto yy441; goto yy100; } else { - if (yych <= 'F') goto yy439; + if (yych <= 'F') goto yy441; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy439; + if (yych <= 'f') goto yy441; goto yy100; } yy314: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'x') goto yy440; + if (yych == 'x') goto yy442; goto yy19; yy315: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'a') goto yy323; - if (yych == 'i') goto yy441; + if (yych == 'i') goto yy443; goto yy19; yy316: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy442; + if (yych == 'n') goto yy444; goto yy19; yy317: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy443; + if (yych == 'e') goto yy445; goto yy19; yy318: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy444; + if (yych == 'r') goto yy446; goto yy19; yy319: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy445; + if (yych == 'm') goto yy447; goto yy19; yy320: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy447; + if (yych == 's') goto yy449; goto yy19; yy321: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy448; + if (yych == 'e') goto yy450; goto yy19; yy322: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy449; + if (yych == 'c') goto yy451; goto yy19; yy323: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy450; + if (yych == 's') goto yy452; goto yy19; yy324: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy451; + if (yych == 'l') goto yy453; goto yy19; yy325: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy452; + if (yych == 'd') goto yy454; goto yy19; yy326: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy453; + if (yych == 'g') goto yy455; goto yy19; yy327: yyaccept = 14; @@ -2608,15 +2643,15 @@ yy327: if (yych <= 'Z') goto yy18; if (yych == '\\') goto yy120; } else { - if (yych <= '_') goto yy454; + if (yych <= '_') goto yy456; if (yych <= '`') goto yy328; if (yych <= 'z') goto yy18; } } yy328: -#line 230 "cpp.re" +#line 238 "cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ANDAND_ALT); } -#line 2620 "cpp_re.inc" +#line 2655 "cpp_re.inc" yy329: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); @@ -2628,117 +2663,132 @@ yy329: yy330: #line 50 "cpp.re" { BOOST_WAVE_RET(T_ASM); } -#line 2632 "cpp_re.inc" +#line 2667 "cpp_re.inc" yy331: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy455; + if (yych == 'o') goto yy457; goto yy19; yy332: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy457; - if (yych == 'o') goto yy458; + if (yych == 'a') goto yy459; + if (yych == 'o') goto yy460; goto yy19; yy333: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy459; + if (yych == 'l') goto yy461; goto yy19; yy334: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy461; + if (yych == 'a') goto yy463; goto yy19; yy335: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy462; + if (yych == 'e') goto yy464; goto yy19; yy336: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy464; + if (yych == 'c') goto yy466; goto yy19; yy337: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy465; + if (yych == 'r') goto yy467; goto yy19; yy338: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy467; + if (yych == 's') goto yy469; goto yy19; yy339: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy468; - goto yy19; + if (yych <= 'q') { + if (yych == 'a') goto yy470; + goto yy19; + } else { + if (yych <= 'r') goto yy471; + if (yych == 'y') goto yy472; + goto yy19; + } yy340: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'r') goto yy19; - if (yych <= 's') goto yy469; - if (yych <= 't') goto yy470; + if (yych == 'p') goto yy473; goto yy19; yy341: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy471; - goto yy19; + if (yych <= 'r') { + if (yych == 'c') goto yy474; + goto yy19; + } else { + if (yych <= 's') goto yy475; + if (yych <= 't') goto yy476; + goto yy19; + } yy342: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy472; + if (yych == 'l') goto yy477; goto yy19; yy343: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy473; + if (yych == 'a') goto yy478; goto yy19; yy344: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'b') goto yy474; + if (yych == 'e') goto yy479; goto yy19; yy345: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy475; + if (yych == 'b') goto yy480; goto yy19; yy346: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy476; + if (yych == 'a') goto yy481; goto yy19; yy347: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy478; + if (yych == 'e') goto yy482; goto yy19; yy348: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy480; - if (yych == 'o') goto yy481; + if (yych == 'm') goto yy484; goto yy19; yy349: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy482; + if (yych == 'l') goto yy486; + if (yych == 'o') goto yy487; goto yy19; yy350: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy483; + if (yych == 'e') goto yy488; goto yy19; yy351: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy484; + if (yych == 's') goto yy489; goto yy19; yy352: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'a') goto yy490; + goto yy19; +yy353: yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -2746,31 +2796,31 @@ yy352: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy353: -#line 77 "cpp.re" - { BOOST_WAVE_RET(T_FOR); } -#line 2753 "cpp_re.inc" yy354: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy485; - goto yy19; +#line 84 "cpp.re" + { BOOST_WAVE_RET(T_FOR); } +#line 2803 "cpp_re.inc" yy355: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy486; + if (yych == 'e') goto yy491; goto yy19; yy356: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy488; + if (yych == 'o') goto yy492; goto yy19; yy357: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy489; + if (yych == 'o') goto yy494; goto yy19; yy358: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'i') goto yy495; + goto yy19; +yy359: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -2778,26 +2828,26 @@ yy358: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy359: -#line 83 "cpp.re" - { BOOST_WAVE_RET(T_INT); } -#line 2785 "cpp_re.inc" yy360: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy490; - goto yy19; +#line 90 "cpp.re" + { BOOST_WAVE_RET(T_INT); } +#line 2835 "cpp_re.inc" yy361: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy492; + if (yych == 'g') goto yy496; goto yy19; yy362: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy493; + if (yych == 'a') goto yy498; goto yy19; yy363: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy499; + goto yy19; +yy364: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -2805,16 +2855,16 @@ yy363: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy364: -#line 87 "cpp.re" - { BOOST_WAVE_RET(T_NEW); } -#line 2812 "cpp_re.inc" yy365: +#line 94 "cpp.re" + { BOOST_WAVE_RET(T_NEW); } +#line 2862 "cpp_re.inc" +yy366: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'x') goto yy494; + if (yych == 'x') goto yy500; goto yy19; -yy366: +yy367: yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -2829,112 +2879,117 @@ yy366: if (yych <= 'Z') goto yy18; if (yych == '\\') goto yy120; } else { - if (yych <= '_') goto yy495; - if (yych <= '`') goto yy367; + if (yych <= '_') goto yy501; + if (yych <= '`') goto yy368; if (yych <= 'z') goto yy18; } } -yy367: -#line 203 "cpp.re" - { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_NOT_ALT); } -#line 2841 "cpp_re.inc" yy368: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy496; - goto yy19; +#line 211 "cpp.re" + { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_NOT_ALT); } +#line 2891 "cpp_re.inc" yy369: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy497; + if (yych == 'l') goto yy502; goto yy19; yy370: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy498; + if (yych == 'r') goto yy503; goto yy19; yy371: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'v') goto yy499; + if (yych == 'e') goto yy504; goto yy19; yy372: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy500; + if (yych == 'v') goto yy505; goto yy19; yy373: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy501; + if (yych == 't') goto yy506; goto yy19; yy374: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy502; + if (yych == 'l') goto yy507; goto yy19; yy375: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy503; + if (yych == 'i') goto yy508; goto yy19; yy376: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy504; + if (yych == 'n') goto yy509; goto yy19; yy377: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy505; + if (yych == 'u') goto yy510; goto yy19; yy378: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy506; + if (yych == 'u') goto yy511; goto yy19; yy379: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy507; + if (yych == 'r') goto yy512; goto yy19; yy380: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy508; + if (yych == 'n') goto yy513; goto yy19; yy381: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy509; + if (yych == 'e') goto yy514; goto yy19; yy382: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy510; + if (yych == 't') goto yy515; goto yy19; yy383: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy511; + if (yych == 'u') goto yy516; goto yy19; yy384: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy512; + if (yych == 't') goto yy517; goto yy19; yy385: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy514; - if (yych == 'o') goto yy515; + if (yych == 'p') goto yy518; goto yy19; yy386: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy516; + if (yych == 's') goto yy519; goto yy19; yy387: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy521; + if (yych == 'o') goto yy522; + goto yy19; +yy388: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy523; + goto yy19; +yy389: yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -2942,56 +2997,56 @@ yy387: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy388: -#line 110 "cpp.re" - { BOOST_WAVE_RET(T_TRY); } -#line 2949 "cpp_re.inc" -yy389: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy518; - goto yy19; yy390: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy519; - goto yy19; +#line 118 "cpp.re" + { BOOST_WAVE_RET(T_TRY); } +#line 3004 "cpp_re.inc" yy391: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy520; + if (yych == 'e') goto yy525; goto yy19; yy392: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy521; + if (yych == 'o') goto yy526; goto yy19; yy393: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy522; + if (yych == 'i') goto yy527; goto yy19; yy394: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy523; + if (yych == 'n') goto yy528; goto yy19; yy395: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy525; + if (yych == 't') goto yy529; goto yy19; yy396: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy526; + if (yych == 'd') goto yy530; goto yy19; yy397: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy527; + if (yych == 'a') goto yy532; goto yy19; yy398: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'a') goto yy533; + goto yy19; +yy399: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'l') goto yy534; + goto yy19; +yy400: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -3006,20 +3061,20 @@ yy398: if (yych <= 'Z') goto yy18; if (yych == '\\') goto yy120; } else { - if (yych <= '_') goto yy528; - if (yych <= '`') goto yy399; + if (yych <= '_') goto yy535; + if (yych <= '`') goto yy401; if (yych <= 'z') goto yy18; } } -yy399: -#line 193 "cpp.re" +yy401: +#line 201 "cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_XOR_ALT); } -#line 3018 "cpp_re.inc" -yy400: +#line 3073 "cpp_re.inc" +yy402: yych = *++YYCURSOR; - if (yych == '!') goto yy529; + if (yych == '!') goto yy536; goto yy100; -yy401: +yy403: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3027,43 +3082,43 @@ yy401: goto yy98; } if (yych <= 0x1F) goto yy100; - if (yych <= '"') goto yy531; + if (yych <= '"') goto yy538; if (yych <= '?') goto yy103; - goto yy401; -yy403: + goto yy403; +yy405: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy532; + if (yych <= '9') goto yy539; goto yy100; } else { - if (yych <= 'F') goto yy532; + if (yych <= 'F') goto yy539; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy532; + if (yych <= 'f') goto yy539; goto yy100; } -yy404: +yy406: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy533; + if (yych <= '9') goto yy540; goto yy100; } else { - if (yych <= 'F') goto yy533; + if (yych <= 'F') goto yy540; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy533; + if (yych <= 'f') goto yy540; goto yy100; } -yy405: +yy407: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { - goto yy405; + goto yy407; } if (yych <= 0x1F) { if (yych <= 0x08) goto yy100; @@ -3073,70 +3128,70 @@ yy405: if (yych == '/') goto yy105; goto yy260; } -yy407: +yy409: ++YYCURSOR; -#line 155 "cpp.re" +#line 163 "cpp.re" { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); } -#line 3081 "cpp_re.inc" -yy409: - yych = *++YYCURSOR; - if (yych == 'i') goto yy534; - goto yy100; -yy410: - yych = *++YYCURSOR; - if (yych == 'f') goto yy535; - goto yy100; +#line 3136 "cpp_re.inc" yy411: yych = *++YYCURSOR; - if (yych == 'e') goto yy537; + if (yych == 'i') goto yy541; goto yy100; yy412: yych = *++YYCURSOR; - if (yych == 'i') goto yy539; - if (yych == 'r') goto yy540; + if (yych == 'f') goto yy542; goto yy100; yy413: yych = *++YYCURSOR; - if (yych == 'o') goto yy541; + if (yych == 'e') goto yy544; goto yy100; yy414: yych = *++YYCURSOR; - if (yych == 'e') goto yy542; + if (yych == 'i') goto yy546; + if (yych == 'r') goto yy547; goto yy100; yy415: yych = *++YYCURSOR; - if (yych == 'd') goto yy543; + if (yych == 'o') goto yy548; goto yy100; yy416: yych = *++YYCURSOR; - if (yych == 'l') goto yy544; + if (yych == 'e') goto yy549; goto yy100; yy417: yych = *++YYCURSOR; - if (yych == 'e') goto yy545; + if (yych == 'd') goto yy550; goto yy100; yy418: yych = *++YYCURSOR; - if (yych == 'g') goto yy547; + if (yych == 'l') goto yy551; goto yy100; yy419: yych = *++YYCURSOR; - if (yych == 'i') goto yy548; + if (yych == 'e') goto yy552; goto yy100; yy420: yych = *++YYCURSOR; - if (yych == 'e') goto yy549; + if (yych == 'g') goto yy554; goto yy100; yy421: yych = *++YYCURSOR; - if (yych == 'n') goto yy550; + if (yych == 'i') goto yy555; goto yy100; yy422: + yych = *++YYCURSOR; + if (yych == 'e') goto yy556; + goto yy100; +yy423: + yych = *++YYCURSOR; + if (yych == 'n') goto yy557; + goto yy100; +yy424: ++YYCURSOR; -#line 158 "cpp.re" +#line 166 "cpp.re" { BOOST_WAVE_RET(T_POUND_POUND_ALT); } -#line 3139 "cpp_re.inc" -yy424: +#line 3194 "cpp_re.inc" +yy426: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3144,120 +3199,120 @@ yy424: goto yy131; } if (yych <= 0x1F) goto yy100; - if (yych <= '\'') goto yy551; + if (yych <= '\'') goto yy558; if (yych <= '?') goto yy133; - goto yy424; -yy426: + goto yy426; +yy428: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy552; + if (yych <= '9') goto yy559; goto yy100; } else { - if (yych <= 'F') goto yy552; + if (yych <= 'F') goto yy559; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy552; + if (yych <= 'f') goto yy559; goto yy100; } -yy427: +yy429: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy553; + if (yych <= '9') goto yy560; goto yy100; } else { - if (yych <= 'F') goto yy553; + if (yych <= 'F') goto yy560; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy553; + if (yych <= 'f') goto yy560; goto yy100; } -yy428: +yy430: ++YYCURSOR; -#line 219 "cpp.re" +#line 227 "cpp.re" { BOOST_WAVE_RET(T_ORASSIGN_TRIGRAPH); } -#line 3183 "cpp_re.inc" -yy430: +#line 3238 "cpp_re.inc" +yy432: yych = *++YYCURSOR; - if (yych == '?') goto yy554; + if (yych == '?') goto yy561; goto yy100; -yy431: +yy433: ++YYCURSOR; -#line 232 "cpp.re" +#line 240 "cpp.re" { BOOST_WAVE_RET(T_OROR_TRIGRAPH); } -#line 3192 "cpp_re.inc" -yy433: +#line 3247 "cpp_re.inc" +yy435: ++YYCURSOR; -#line 214 "cpp.re" +#line 222 "cpp.re" { BOOST_WAVE_RET(T_XORASSIGN_TRIGRAPH); } -#line 3197 "cpp_re.inc" -yy435: +#line 3252 "cpp_re.inc" +yy437: ++YYCURSOR; -#line 156 "cpp.re" +#line 164 "cpp.re" { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); } -#line 3202 "cpp_re.inc" -yy437: +#line 3257 "cpp_re.inc" +yy439: yych = *++YYCURSOR; - if (yych == '?') goto yy555; + if (yych == '?') goto yy562; goto yy100; -yy438: +yy440: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy556; + if (yych <= '9') goto yy563; goto yy100; } else { - if (yych <= 'F') goto yy556; + if (yych <= 'F') goto yy563; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy556; + if (yych <= 'f') goto yy563; goto yy100; } -yy439: +yy441: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy557; + if (yych <= '9') goto yy564; goto yy100; } else { - if (yych <= 'F') goto yy557; + if (yych <= 'F') goto yy564; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy557; + if (yych <= 'f') goto yy564; goto yy100; } -yy440: +yy442: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy558; + if (yych == 'c') goto yy565; goto yy19; -yy441: +yy443: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy559; + if (yych == 'n') goto yy566; goto yy19; -yy442: +yy444: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy451; - if (yych == 't') goto yy560; + if (yych == 'l') goto yy453; + if (yych == 't') goto yy567; goto yy19; -yy443: +yy445: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy561; + if (yych == 'a') goto yy568; goto yy19; -yy444: +yy446: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'y') goto yy562; + if (yych == 'y') goto yy569; goto yy19; -yy445: +yy447: yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3265,51 +3320,51 @@ yy445: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy446: -#line 137 "cpp.re" - { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_ASM : T_IDENTIFIER); } -#line 3272 "cpp_re.inc" -yy447: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy564; - goto yy19; yy448: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy565; - goto yy19; +#line 145 "cpp.re" + { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_ASM : T_IDENTIFIER); } +#line 3327 "cpp_re.inc" yy449: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy566; + if (yych == 'e') goto yy571; goto yy19; yy450: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy567; + if (yych == 'c') goto yy572; goto yy19; yy451: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy568; + if (yych == 'l') goto yy573; goto yy19; yy452: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy569; + if (yych == 't') goto yy574; goto yy19; yy453: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy570; + if (yych == 'i') goto yy575; goto yy19; yy454: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy571; + if (yych == 'c') goto yy576; goto yy19; yy455: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'n') goto yy577; + goto yy19; +yy456: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy578; + goto yy19; +yy457: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3317,21 +3372,21 @@ yy455: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy456: +yy458: #line 51 "cpp.re" { BOOST_WAVE_RET(T_AUTO); } -#line 3324 "cpp_re.inc" -yy457: +#line 3379 "cpp_re.inc" +yy459: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy572; + if (yych == 'n') goto yy579; goto yy19; -yy458: +yy460: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy573; + if (yych == 'r') goto yy580; goto yy19; -yy459: +yy461: yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3339,16 +3394,16 @@ yy459: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy460: +yy462: #line 52 "cpp.re" { BOOST_WAVE_RET(T_BOOL); } -#line 3346 "cpp_re.inc" -yy461: +#line 3401 "cpp_re.inc" +yy463: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'k') goto yy575; + if (yych == 'k') goto yy582; goto yy19; -yy462: +yy464: yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3356,286 +3411,317 @@ yy462: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy463: +yy465: #line 54 "cpp.re" { BOOST_WAVE_RET(T_CASE); } -#line 3363 "cpp_re.inc" -yy464: +#line 3418 "cpp_re.inc" +yy466: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'h') goto yy577; + if (yych == 'h') goto yy584; goto yy19; -yy465: +yy467: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '>') { - if (yych <= '0') { - if (yych == '$') goto yy18; - if (yych >= '0') goto yy18; + if (yych <= '9') { + if (yych <= '1') { + if (yych <= '$') { + if (yych >= '$') goto yy18; + } else { + if (yych <= '/') goto yy468; + if (yych <= '0') goto yy18; + goto yy586; + } } else { - if (yych <= '2') { - if (yych <= '1') goto yy579; - goto yy18; + if (yych <= '3') { + if (yych <= '2') goto yy18; + goto yy587; } else { - if (yych <= '3') goto yy580; - if (yych <= '9') goto yy18; + if (yych == '8') goto yy588; + goto yy18; } } } else { - if (yych <= '\\') { - if (yych <= '@') { - if (yych <= '?') goto yy119; + if (yych <= '[') { + if (yych <= '?') { + if (yych >= '?') goto yy119; } else { + if (yych <= '@') goto yy468; if (yych <= 'Z') goto yy18; - if (yych >= '\\') goto yy120; } } else { if (yych <= '_') { + if (yych <= '\\') goto yy120; if (yych >= '_') goto yy18; } else { - if (yych <= '`') goto yy466; + if (yych <= '`') goto yy468; if (yych <= 'z') goto yy18; } } } -yy466: +yy468: #line 56 "cpp.re" { BOOST_WAVE_RET(T_CHAR); } -#line 3405 "cpp_re.inc" -yy467: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy581; - goto yy19; -yy468: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy583; - goto yy19; +#line 3466 "cpp_re.inc" yy469: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy585; + if (yych == 's') goto yy589; goto yy19; yy470: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy587; + if (yych == 'w') goto yy591; goto yy19; yy471: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy588; + if (yych == 'e') goto yy592; goto yy19; yy472: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy589; + if (yych == 'i') goto yy593; goto yy19; yy473: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy590; + if (yych == 'l') goto yy594; goto yy19; yy474: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy591; + if (yych == 'e') goto yy596; goto yy19; yy475: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy592; + if (yych == 't') goto yy597; goto yy19; yy476: - yyaccept = 27; + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[256+yych] & 128) { - goto yy18; - } - if (yych == '?') goto yy119; - if (yych == '\\') goto yy120; + if (yych == 'i') goto yy599; + goto yy19; yy477: -#line 70 "cpp.re" - { BOOST_WAVE_RET(T_ELSE); } -#line 3462 "cpp_re.inc" + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy600; + goto yy19; yy478: - yyaccept = 28; + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[256+yych] & 128) { - goto yy18; - } - if (yych == '?') goto yy119; - if (yych == '\\') goto yy120; + if (yych == 'u') goto yy601; + goto yy19; yy479: -#line 71 "cpp.re" - { BOOST_WAVE_RET(T_ENUM); } -#line 3474 "cpp_re.inc" + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy602; + goto yy19; yy480: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy593; + if (yych == 'l') goto yy603; goto yy19; yy481: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy594; + if (yych == 'm') goto yy604; goto yy19; yy482: - yyaccept = 2; + yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy595; - goto yy19; + if (yybm[256+yych] & 128) { + goto yy18; + } + if (yych == '?') goto yy119; + if (yych == '\\') goto yy120; yy483: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy596; - goto yy19; +#line 77 "cpp.re" + { BOOST_WAVE_RET(T_ELSE); } +#line 3543 "cpp_re.inc" yy484: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy598; - goto yy19; -yy485: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy600; - goto yy19; -yy486: - yyaccept = 29; + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; +yy485: +#line 78 "cpp.re" + { BOOST_WAVE_RET(T_ENUM); } +#line 3555 "cpp_re.inc" +yy486: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'i') goto yy605; + goto yy19; yy487: -#line 79 "cpp.re" - { BOOST_WAVE_RET(T_GOTO); } -#line 3516 "cpp_re.inc" + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'r') goto yy606; + goto yy19; yy488: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy601; + if (yych == 'r') goto yy607; goto yy19; yy489: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy602; + if (yych == 'e') goto yy608; goto yy19; yy490: - yyaccept = 30; + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy610; + goto yy19; +yy491: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'n') goto yy612; + goto yy19; +yy492: + yyaccept = 29; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy491: -#line 84 "cpp.re" - { BOOST_WAVE_RET(T_LONG); } -#line 3538 "cpp_re.inc" -yy492: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'b') goto yy603; - goto yy19; yy493: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy604; - goto yy19; +#line 86 "cpp.re" + { BOOST_WAVE_RET(T_GOTO); } +#line 3597 "cpp_re.inc" yy494: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy605; + if (yych == 'r') goto yy613; goto yy19; yy495: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy606; + if (yych == 'n') goto yy614; goto yy19; yy496: - yyaccept = 2; + yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy607; - goto yy19; + if (yybm[256+yych] & 128) { + goto yy18; + } + if (yych == '?') goto yy119; + if (yych == '\\') goto yy120; yy497: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy608; - goto yy19; +#line 91 "cpp.re" + { BOOST_WAVE_RET(T_LONG); } +#line 3619 "cpp_re.inc" yy498: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'q') goto yy609; + if (yych == 'b') goto yy615; goto yy19; yy499: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy611; + if (yych == 's') goto yy616; goto yy19; yy500: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy612; + if (yych == 'c') goto yy617; goto yy19; yy501: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy613; + if (yych == 'e') goto yy618; goto yy19; yy502: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy614; + if (yych == 'p') goto yy619; goto yy19; yy503: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy615; + if (yych == 'a') goto yy620; goto yy19; yy504: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy616; + if (yych == 'q') goto yy621; goto yy19; yy505: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy617; + if (yych == 'a') goto yy623; goto yy19; yy506: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy619; + if (yych == 'e') goto yy624; goto yy19; yy507: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy620; + if (yych == 'i') goto yy625; goto yy19; yy508: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy621; + if (yych == 's') goto yy626; goto yy19; yy509: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy622; + if (yych == 't') goto yy627; goto yy19; yy510: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy623; + if (yych == 'i') goto yy628; goto yy19; yy511: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy624; + if (yych == 'r') goto yy629; goto yy19; yy512: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy630; + goto yy19; +yy513: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy632; + goto yy19; +yy514: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'o') goto yy633; + goto yy19; +yy515: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'i') goto yy634; + goto yy19; +yy516: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'c') goto yy635; + goto yy19; +yy517: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'c') goto yy636; + goto yy19; +yy518: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'l') goto yy637; + goto yy19; +yy519: yyaccept = 31; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3643,21 +3729,21 @@ yy512: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy513: -#line 106 "cpp.re" +yy520: +#line 114 "cpp.re" { BOOST_WAVE_RET(T_THIS); } -#line 3650 "cpp_re.inc" -yy514: +#line 3736 "cpp_re.inc" +yy521: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy625; + if (yych == 'a') goto yy638; goto yy19; -yy515: +yy522: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'w') goto yy626; + if (yych == 'w') goto yy639; goto yy19; -yy516: +yy523: yyaccept = 32; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3665,42 +3751,42 @@ yy516: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy517: -#line 109 "cpp.re" +yy524: +#line 117 "cpp.re" { BOOST_WAVE_RET(T_TRUE); } -#line 3672 "cpp_re.inc" -yy518: +#line 3758 "cpp_re.inc" +yy525: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'h') { - if (yych == 'd') goto yy628; + if (yych == 'd') goto yy641; goto yy19; } else { - if (yych <= 'i') goto yy629; - if (yych == 'n') goto yy630; + if (yych <= 'i') goto yy642; + if (yych == 'n') goto yy643; goto yy19; } -yy519: +yy526: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy631; + if (yych == 'n') goto yy644; goto yy19; -yy520: +yy527: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy633; + if (yych == 'g') goto yy646; goto yy19; -yy521: +yy528: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy634; + if (yych == 'g') goto yy647; goto yy19; -yy522: +yy529: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy636; + if (yych == 'u') goto yy649; goto yy19; -yy523: +yy530: yyaccept = 33; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3708,36 +3794,36 @@ yy523: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy524: -#line 118 "cpp.re" +yy531: +#line 126 "cpp.re" { BOOST_WAVE_RET(T_VOID); } -#line 3715 "cpp_re.inc" -yy525: +#line 3801 "cpp_re.inc" +yy532: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy637; + if (yych == 't') goto yy650; goto yy19; -yy526: +yy533: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy638; + if (yych == 'r') goto yy651; goto yy19; -yy527: +yy534: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy639; + if (yych == 'e') goto yy652; goto yy19; -yy528: +yy535: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy641; + if (yych == 'e') goto yy654; goto yy19; -yy529: +yy536: ++YYCURSOR; -#line 233 "cpp.re" +#line 241 "cpp.re" { BOOST_WAVE_RET(T_OROR_TRIGRAPH); } -#line 3740 "cpp_re.inc" -yy531: +#line 3826 "cpp_re.inc" +yy538: yyaccept = 34; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -3749,21 +3835,21 @@ yy531: if (yych <= '"') goto yy101; if (yych <= '?') goto yy103; goto yy104; -yy532: +yy539: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy642; + if (yych <= '9') goto yy655; goto yy100; } else { - if (yych <= 'F') goto yy642; + if (yych <= 'F') goto yy655; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy642; + if (yych <= 'f') goto yy655; goto yy100; } -yy533: +yy540: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3777,66 +3863,66 @@ yy533: if (yych <= 'f') goto yy259; goto yy100; } -yy534: +yy541: yych = *++YYCURSOR; - if (yych == 'n') goto yy643; + if (yych == 'n') goto yy656; goto yy100; -yy535: +yy542: ++YYCURSOR; -#line 312 "cpp.re" +#line 320 "cpp.re" { BOOST_WAVE_RET(T_PP_ELIF); } -#line 3789 "cpp_re.inc" -yy537: +#line 3875 "cpp_re.inc" +yy544: ++YYCURSOR; -#line 311 "cpp.re" +#line 319 "cpp.re" { BOOST_WAVE_RET(T_PP_ELSE); } -#line 3794 "cpp_re.inc" -yy539: +#line 3880 "cpp_re.inc" +yy546: yych = *++YYCURSOR; - if (yych == 'f') goto yy644; + if (yych == 'f') goto yy657; goto yy100; -yy540: +yy547: yych = *++YYCURSOR; - if (yych == 'e') goto yy646; + if (yych == 'e') goto yy659; goto yy100; -yy541: +yy548: yych = *++YYCURSOR; - if (yych == 'r') goto yy647; + if (yych == 'r') goto yy660; goto yy100; -yy542: +yy549: yych = *++YYCURSOR; - if (yych == 'f') goto yy649; + if (yych == 'f') goto yy662; goto yy100; -yy543: +yy550: yych = *++YYCURSOR; - if (yych == 'e') goto yy651; + if (yych == 'e') goto yy664; goto yy100; -yy544: +yy551: yych = *++YYCURSOR; - if (yych == 'u') goto yy652; + if (yych == 'u') goto yy665; goto yy100; -yy545: +yy552: ++YYCURSOR; -#line 316 "cpp.re" +#line 324 "cpp.re" { BOOST_WAVE_RET(T_PP_LINE); } -#line 3823 "cpp_re.inc" -yy547: +#line 3909 "cpp_re.inc" +yy554: yych = *++YYCURSOR; - if (yych == 'm') goto yy653; + if (yych == 'm') goto yy666; goto yy100; -yy548: +yy555: yych = *++YYCURSOR; - if (yych == 'o') goto yy654; + if (yych == 'o') goto yy667; goto yy100; -yy549: +yy556: yych = *++YYCURSOR; - if (yych == 'f') goto yy655; + if (yych == 'f') goto yy668; goto yy100; -yy550: +yy557: yych = *++YYCURSOR; - if (yych == 'i') goto yy657; + if (yych == 'i') goto yy670; goto yy100; -yy551: +yy558: yyaccept = 35; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -3848,21 +3934,21 @@ yy551: if (yych <= '\'') goto yy277; if (yych <= '?') goto yy133; goto yy134; -yy552: +yy559: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy658; + if (yych <= '9') goto yy671; goto yy100; } else { - if (yych <= 'F') goto yy658; + if (yych <= 'F') goto yy671; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy658; + if (yych <= 'f') goto yy671; goto yy100; } -yy553: +yy560: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3876,15 +3962,15 @@ yy553: if (yych <= 'f') goto yy283; goto yy100; } -yy554: +yy561: yych = *++YYCURSOR; - if (yych == '!') goto yy659; + if (yych == '!') goto yy672; goto yy100; -yy555: +yy562: yych = *++YYCURSOR; - if (yych == '=') goto yy661; + if (yych == '=') goto yy674; goto yy100; -yy556: +yy563: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3898,7 +3984,7 @@ yy556: if (yych <= 'f') goto yy184; goto yy100; } -yy557: +yy564: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3912,32 +3998,32 @@ yy557: if (yych <= 'f') goto yy18; goto yy100; } -yy558: +yy565: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy663; + if (yych == 'e') goto yy676; goto yy19; -yy559: +yy566: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy664; + if (yych == 'a') goto yy677; goto yy19; -yy560: +yy567: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '1': goto yy665; - case '3': goto yy666; - case '6': goto yy667; - case '8': goto yy668; + case '1': goto yy678; + case '3': goto yy679; + case '6': goto yy680; + case '8': goto yy681; default: goto yy19; } -yy561: +yy568: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'v') goto yy670; + if (yych == 'v') goto yy683; goto yy19; -yy562: +yy569: yyaccept = 36; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3945,57 +4031,57 @@ yy562: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy563: -#line 132 "cpp.re" +yy570: +#line 140 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_TRY : T_IDENTIFIER); } -#line 3952 "cpp_re.inc" -yy564: +#line 4038 "cpp_re.inc" +yy571: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy671; + if (yych == 'd') goto yy684; goto yy19; -yy565: +yy572: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy673; + if (yych == 'l') goto yy686; goto yy19; -yy566: +yy573: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy675; + if (yych == 's') goto yy688; goto yy19; -yy567: +yy574: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy676; + if (yych == 'c') goto yy689; goto yy19; -yy568: +yy575: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy677; + if (yych == 'n') goto yy690; goto yy19; -yy569: +yy576: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy678; + if (yych == 'a') goto yy691; goto yy19; -yy570: +yy577: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy679; - if (yych == 'o') goto yy680; + if (yych == 'a') goto yy692; + if (yych == 'o') goto yy693; goto yy19; -yy571: +yy578: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'q') goto yy681; + if (yych == 'q') goto yy694; goto yy19; -yy572: +yy579: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy683; + if (yych == 'd') goto yy696; goto yy19; -yy573: +yy580: yyaccept = 37; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4003,11 +4089,11 @@ yy573: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy574: -#line 197 "cpp.re" +yy581: +#line 205 "cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_OR_ALT); } -#line 4010 "cpp_re.inc" -yy575: +#line 4096 "cpp_re.inc" +yy582: yyaccept = 38; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4015,11 +4101,11 @@ yy575: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy576: +yy583: #line 53 "cpp.re" { BOOST_WAVE_RET(T_BREAK); } -#line 4022 "cpp_re.inc" -yy577: +#line 4108 "cpp_re.inc" +yy584: yyaccept = 39; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4027,21 +4113,26 @@ yy577: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy578: +yy585: #line 55 "cpp.re" { BOOST_WAVE_RET(T_CATCH); } -#line 4034 "cpp_re.inc" -yy579: +#line 4120 "cpp_re.inc" +yy586: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '6') goto yy685; + if (yych == '6') goto yy698; goto yy19; -yy580: +yy587: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '2') goto yy686; + if (yych == '2') goto yy699; goto yy19; -yy581: +yy588: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '_') goto yy700; + goto yy19; +yy589: yyaccept = 40; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4049,96 +4140,125 @@ yy581: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy582: -#line 59 "cpp.re" +yy590: +#line 60 "cpp.re" { BOOST_WAVE_RET(T_CLASS); } -#line 4056 "cpp_re.inc" -yy583: - yyaccept = 41; +#line 4147 "cpp_re.inc" +yy591: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[256+yych] & 128) { - goto yy18; - } + if (yych == 'a') goto yy701; + goto yy19; +yy592: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy702; + goto yy19; +yy593: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy703; + goto yy19; +yy594: + yyaccept = 41; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy18; + } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy584: -#line 201 "cpp.re" +yy595: +#line 209 "cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_COMPL_ALT); } -#line 4068 "cpp_re.inc" -yy585: +#line 4174 "cpp_re.inc" +yy596: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'p') goto yy704; + goto yy19; +yy597: yyaccept = 42; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Z') { + if (yych <= '[') { if (yych <= '9') { if (yych == '$') goto yy18; if (yych >= '0') goto yy18; } else { - if (yych == '?') goto yy119; - if (yych >= 'A') goto yy18; + if (yych <= '?') { + if (yych >= '?') goto yy119; + } else { + if (yych <= '@') goto yy598; + if (yych <= 'Z') goto yy18; + } } } else { - if (yych <= '_') { - if (yych == '\\') goto yy120; - if (yych >= '_') goto yy687; - } else { - if (yych <= 'd') { + if (yych <= 'd') { + if (yych <= '^') { + if (yych <= '\\') goto yy120; + } else { + if (yych <= '_') goto yy705; if (yych >= 'a') goto yy18; + } + } else { + if (yych <= 'h') { + if (yych <= 'e') goto yy706; + goto yy18; } else { - if (yych <= 'e') goto yy688; + if (yych <= 'i') goto yy707; if (yych <= 'z') goto yy18; } } } -yy586: -#line 60 "cpp.re" +yy598: +#line 62 "cpp.re" { BOOST_WAVE_RET(T_CONST); } -#line 4096 "cpp_re.inc" -yy587: +#line 4216 "cpp_re.inc" +yy599: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy689; + if (yych == 'n') goto yy708; goto yy19; -yy588: +yy600: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'y') goto yy690; + if (yych == 'y') goto yy709; goto yy19; -yy589: +yy601: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy691; + if (yych == 'l') goto yy710; goto yy19; -yy590: +yy602: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy692; + if (yych == 'e') goto yy711; goto yy19; -yy591: +yy603: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy694; + if (yych == 'e') goto yy713; goto yy19; -yy592: +yy604: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy696; + if (yych == 'i') goto yy715; goto yy19; -yy593: +yy605: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy697; + if (yych == 'c') goto yy716; goto yy19; -yy594: +yy606: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy698; + if (yych == 't') goto yy717; goto yy19; -yy595: +yy607: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy700; + if (yych == 'n') goto yy719; goto yy19; -yy596: +yy608: yyaccept = 43; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4146,11 +4266,11 @@ yy596: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy597: -#line 75 "cpp.re" +yy609: +#line 82 "cpp.re" { BOOST_WAVE_RET(T_FALSE); } -#line 4153 "cpp_re.inc" -yy598: +#line 4273 "cpp_re.inc" +yy610: yyaccept = 44; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4158,56 +4278,56 @@ yy598: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy599: -#line 76 "cpp.re" +yy611: +#line 83 "cpp.re" { BOOST_WAVE_RET(T_FLOAT); } -#line 4165 "cpp_re.inc" -yy600: +#line 4285 "cpp_re.inc" +yy612: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy702; + if (yych == 'd') goto yy721; goto yy19; -yy601: +yy613: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy704; + if (yych == 't') goto yy723; goto yy19; -yy602: +yy614: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy706; + if (yych == 'e') goto yy725; goto yy19; -yy603: +yy615: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy708; + if (yych == 'l') goto yy727; goto yy19; -yy604: +yy616: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy709; + if (yych == 'p') goto yy728; goto yy19; -yy605: +yy617: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy710; + if (yych == 'e') goto yy729; goto yy19; -yy606: +yy618: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'q') goto yy711; + if (yych == 'q') goto yy730; goto yy19; -yy607: +yy619: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy713; + if (yych == 't') goto yy732; goto yy19; -yy608: +yy620: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy714; + if (yych == 't') goto yy733; goto yy19; -yy609: +yy621: yyaccept = 45; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4215,41 +4335,46 @@ yy609: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy610: -#line 218 "cpp.re" +yy622: +#line 226 "cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ORASSIGN_ALT); } -#line 4222 "cpp_re.inc" -yy611: +#line 4342 "cpp_re.inc" +yy623: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy715; + if (yych == 't') goto yy734; goto yy19; -yy612: +yy624: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy716; + if (yych == 'c') goto yy735; goto yy19; -yy613: +yy625: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy717; + if (yych == 'c') goto yy736; goto yy19; -yy614: +yy626: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy719; + if (yych == 't') goto yy738; goto yy19; -yy615: +yy627: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy720; + if (yych == 'e') goto yy739; goto yy19; -yy616: +yy628: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy721; + if (yych == 'r') goto yy740; goto yy19; -yy617: +yy629: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'n') goto yy741; + goto yy19; +yy630: yyaccept = 46; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4257,46 +4382,46 @@ yy617: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy618: -#line 97 "cpp.re" +yy631: +#line 105 "cpp.re" { BOOST_WAVE_RET(T_SHORT); } -#line 4264 "cpp_re.inc" -yy619: +#line 4389 "cpp_re.inc" +yy632: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy723; + if (yych == 'd') goto yy743; goto yy19; -yy620: +yy633: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'f') goto yy725; + if (yych == 'f') goto yy745; goto yy19; -yy621: +yy634: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy727; + if (yych == 'c') goto yy747; goto yy19; -yy622: +yy635: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy729; + if (yych == 't') goto yy749; goto yy19; -yy623: +yy636: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'h') goto yy731; + if (yych == 'h') goto yy751; goto yy19; -yy624: +yy637: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy733; + if (yych == 'a') goto yy753; goto yy19; -yy625: +yy638: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy734; + if (yych == 'd') goto yy754; goto yy19; -yy626: +yy639: yyaccept = 47; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4304,26 +4429,26 @@ yy626: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy627: -#line 108 "cpp.re" +yy640: +#line 116 "cpp.re" { BOOST_WAVE_RET(T_THROW); } -#line 4311 "cpp_re.inc" -yy628: +#line 4436 "cpp_re.inc" +yy641: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy735; + if (yych == 'e') goto yy755; goto yy19; -yy629: +yy642: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy736; + if (yych == 'd') goto yy756; goto yy19; -yy630: +yy643: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy738; + if (yych == 'a') goto yy758; goto yy19; -yy631: +yy644: yyaccept = 48; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4331,16 +4456,16 @@ yy631: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy632: -#line 114 "cpp.re" +yy645: +#line 122 "cpp.re" { BOOST_WAVE_RET(T_UNION); } -#line 4338 "cpp_re.inc" -yy633: +#line 4463 "cpp_re.inc" +yy646: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy739; + if (yych == 'n') goto yy759; goto yy19; -yy634: +yy647: yyaccept = 49; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4348,26 +4473,26 @@ yy634: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy635: -#line 116 "cpp.re" +yy648: +#line 124 "cpp.re" { BOOST_WAVE_RET(T_USING); } -#line 4355 "cpp_re.inc" -yy636: +#line 4480 "cpp_re.inc" +yy649: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy740; + if (yych == 'a') goto yy760; goto yy19; -yy637: +yy650: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy741; + if (yych == 'i') goto yy761; goto yy19; -yy638: +yy651: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy742; + if (yych == '_') goto yy762; goto yy19; -yy639: +yy652: yyaccept = 50; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4375,16 +4500,16 @@ yy639: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy640: -#line 121 "cpp.re" +yy653: +#line 129 "cpp.re" { BOOST_WAVE_RET(T_WHILE); } -#line 4382 "cpp_re.inc" -yy641: +#line 4507 "cpp_re.inc" +yy654: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'q') goto yy743; + if (yych == 'q') goto yy763; goto yy19; -yy642: +yy655: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -4398,55 +4523,55 @@ yy642: if (yych <= 'f') goto yy258; goto yy100; } -yy643: +yy656: yych = *++YYCURSOR; - if (yych == 'e') goto yy745; + if (yych == 'e') goto yy765; goto yy100; -yy644: +yy657: ++YYCURSOR; -#line 313 "cpp.re" +#line 321 "cpp.re" { BOOST_WAVE_RET(T_PP_ENDIF); } -#line 4410 "cpp_re.inc" -yy646: +#line 4535 "cpp_re.inc" +yy659: yych = *++YYCURSOR; - if (yych == 'g') goto yy747; + if (yych == 'g') goto yy767; goto yy100; -yy647: +yy660: ++YYCURSOR; -#line 317 "cpp.re" +#line 325 "cpp.re" { BOOST_WAVE_RET(T_PP_ERROR); } -#line 4419 "cpp_re.inc" -yy649: +#line 4544 "cpp_re.inc" +yy662: ++YYCURSOR; -#line 309 "cpp.re" +#line 317 "cpp.re" { BOOST_WAVE_RET(T_PP_IFDEF); } -#line 4424 "cpp_re.inc" -yy651: +#line 4549 "cpp_re.inc" +yy664: yych = *++YYCURSOR; - if (yych == 'f') goto yy748; + if (yych == 'f') goto yy768; goto yy100; -yy652: +yy665: yych = *++YYCURSOR; - if (yych == 'd') goto yy750; + if (yych == 'd') goto yy770; goto yy100; -yy653: +yy666: yych = *++YYCURSOR; - if (yych == 'a') goto yy751; + if (yych == 'a') goto yy771; goto yy100; -yy654: +yy667: yych = *++YYCURSOR; - if (yych == 'n') goto yy753; + if (yych == 'n') goto yy773; goto yy100; -yy655: +yy668: ++YYCURSOR; -#line 315 "cpp.re" +#line 323 "cpp.re" { BOOST_WAVE_RET(T_PP_UNDEF); } -#line 4445 "cpp_re.inc" -yy657: +#line 4570 "cpp_re.inc" +yy670: yych = *++YYCURSOR; - if (yych == 'n') goto yy755; + if (yych == 'n') goto yy775; goto yy100; -yy658: +yy671: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -4460,42 +4585,42 @@ yy658: if (yych <= 'f') goto yy282; goto yy100; } -yy659: +yy672: ++YYCURSOR; -#line 235 "cpp.re" +#line 243 "cpp.re" { BOOST_WAVE_RET(T_OROR_TRIGRAPH); } -#line 4468 "cpp_re.inc" -yy661: +#line 4593 "cpp_re.inc" +yy674: ++YYCURSOR; -#line 157 "cpp.re" +#line 165 "cpp.re" { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); } -#line 4473 "cpp_re.inc" -yy663: +#line 4598 "cpp_re.inc" +yy676: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy756; + if (yych == 'p') goto yy776; goto yy19; -yy664: +yy677: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy757; + if (yych == 'l') goto yy777; goto yy19; -yy665: +yy678: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '6') goto yy758; + if (yych == '6') goto yy778; goto yy19; -yy666: +yy679: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '2') goto yy760; + if (yych == '2') goto yy780; goto yy19; -yy667: +yy680: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '4') goto yy762; + if (yych == '4') goto yy782; goto yy19; -yy668: +yy681: yyaccept = 51; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4503,16 +4628,16 @@ yy668: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy669: -#line 123 "cpp.re" +yy682: +#line 131 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT8 : T_IDENTIFIER); } -#line 4510 "cpp_re.inc" -yy670: +#line 4635 "cpp_re.inc" +yy683: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy764; + if (yych == 'e') goto yy784; goto yy19; -yy671: +yy684: yyaccept = 52; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4520,11 +4645,11 @@ yy671: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy672: -#line 127 "cpp.re" +yy685: +#line 135 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_BASED : T_IDENTIFIER); } -#line 4527 "cpp_re.inc" -yy673: +#line 4652 "cpp_re.inc" +yy686: yyaccept = 53; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4532,41 +4657,41 @@ yy673: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy674: -#line 129 "cpp.re" +yy687: +#line 137 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_CDECL : T_IDENTIFIER); } -#line 4539 "cpp_re.inc" -yy675: +#line 4664 "cpp_re.inc" +yy688: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy766; + if (yych == 'p') goto yy786; goto yy19; -yy676: +yy689: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy767; + if (yych == 'a') goto yy787; goto yy19; -yy677: +yy690: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy768; + if (yych == 'e') goto yy788; goto yy19; -yy678: +yy691: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy770; + if (yych == 'l') goto yy790; goto yy19; -yy679: +yy692: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy771; + if (yych == 's') goto yy791; goto yy19; -yy680: +yy693: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'f') goto yy773; + if (yych == 'f') goto yy793; goto yy19; -yy681: +yy694: yyaccept = 54; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4574,11 +4699,11 @@ yy681: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy682: -#line 216 "cpp.re" +yy695: +#line 224 "cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ANDASSIGN_ALT); } -#line 4581 "cpp_re.inc" -yy683: +#line 4706 "cpp_re.inc" +yy696: yyaccept = 55; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4586,46 +4711,77 @@ yy683: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy684: -#line 195 "cpp.re" +yy697: +#line 203 "cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_AND_ALT); } -#line 4593 "cpp_re.inc" -yy685: +#line 4718 "cpp_re.inc" +yy698: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy775; + if (yych == '_') goto yy795; goto yy19; -yy686: +yy699: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy776; + if (yych == '_') goto yy796; goto yy19; -yy687: +yy700: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy777; + if (yych == 't') goto yy797; goto yy19; -yy688: +yy701: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'x') goto yy778; + if (yych == 'i') goto yy799; goto yy19; -yy689: +yy702: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy779; + if (yych == 'u') goto yy800; goto yy19; -yy690: +yy703: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy780; + if (yych == 'l') goto yy801; goto yy19; -yy691: +yy704: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy781; + if (yych == 't') goto yy802; goto yy19; -yy692: +yy705: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'c') goto yy804; + goto yy19; +yy706: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'v') goto yy805; + if (yych == 'x') goto yy806; + goto yy19; +yy707: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'n') goto yy807; + goto yy19; +yy708: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'u') goto yy808; + goto yy19; +yy709: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'p') goto yy809; + goto yy19; +yy710: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy810; + goto yy19; +yy711: yyaccept = 56; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4633,11 +4789,11 @@ yy692: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy693: -#line 66 "cpp.re" +yy712: +#line 73 "cpp.re" { BOOST_WAVE_RET(T_DELETE); } -#line 4640 "cpp_re.inc" -yy694: +#line 4796 "cpp_re.inc" +yy713: yyaccept = 57; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4645,21 +4801,21 @@ yy694: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy695: -#line 68 "cpp.re" +yy714: +#line 75 "cpp.re" { BOOST_WAVE_RET(T_DOUBLE); } -#line 4652 "cpp_re.inc" -yy696: +#line 4808 "cpp_re.inc" +yy715: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy783; + if (yych == 'c') goto yy812; goto yy19; -yy697: +yy716: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy784; + if (yych == 'i') goto yy813; goto yy19; -yy698: +yy717: yyaccept = 58; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4667,11 +4823,11 @@ yy698: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy699: -#line 73 "cpp.re" +yy718: +#line 80 "cpp.re" { BOOST_WAVE_RET(T_EXPORT); } -#line 4674 "cpp_re.inc" -yy700: +#line 4830 "cpp_re.inc" +yy719: yyaccept = 59; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4679,11 +4835,11 @@ yy700: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy701: -#line 74 "cpp.re" +yy720: +#line 81 "cpp.re" { BOOST_WAVE_RET(T_EXTERN); } -#line 4686 "cpp_re.inc" -yy702: +#line 4842 "cpp_re.inc" +yy721: yyaccept = 60; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4691,11 +4847,11 @@ yy702: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy703: -#line 78 "cpp.re" +yy722: +#line 85 "cpp.re" { BOOST_WAVE_RET(T_FRIEND); } -#line 4698 "cpp_re.inc" -yy704: +#line 4854 "cpp_re.inc" +yy723: yyaccept = 61; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4703,11 +4859,11 @@ yy704: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy705: -#line 81 "cpp.re" +yy724: +#line 88 "cpp.re" { BOOST_WAVE_RET(s->enable_import_keyword ? T_IMPORT : T_IDENTIFIER); } -#line 4710 "cpp_re.inc" -yy706: +#line 4866 "cpp_re.inc" +yy725: yyaccept = 62; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4715,26 +4871,26 @@ yy706: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy707: -#line 82 "cpp.re" +yy726: +#line 89 "cpp.re" { BOOST_WAVE_RET(T_INLINE); } -#line 4722 "cpp_re.inc" -yy708: +#line 4878 "cpp_re.inc" +yy727: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy785; + if (yych == 'e') goto yy814; goto yy19; -yy709: +yy728: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy787; + if (yych == 'a') goto yy816; goto yy19; -yy710: +yy729: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy788; + if (yych == 'p') goto yy817; goto yy19; -yy711: +yy730: yyaccept = 63; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4742,31 +4898,31 @@ yy711: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy712: -#line 226 "cpp.re" +yy731: +#line 234 "cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_NOTEQUAL_ALT); } -#line 4749 "cpp_re.inc" -yy713: +#line 4905 "cpp_re.inc" +yy732: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy789; + if (yych == 'r') goto yy818; goto yy19; -yy714: +yy733: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy791; + if (yych == 'o') goto yy820; goto yy19; -yy715: +yy734: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy792; + if (yych == 'e') goto yy821; goto yy19; -yy716: +yy735: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy794; + if (yych == 't') goto yy823; goto yy19; -yy717: +yy736: yyaccept = 64; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4774,21 +4930,26 @@ yy717: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy718: -#line 93 "cpp.re" +yy737: +#line 100 "cpp.re" { BOOST_WAVE_RET(T_PUBLIC); } -#line 4781 "cpp_re.inc" -yy719: +#line 4937 "cpp_re.inc" +yy738: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy795; + if (yych == 'e') goto yy824; goto yy19; -yy720: +yy739: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy796; + if (yych == 'r') goto yy825; goto yy19; -yy721: +yy740: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy826; + goto yy19; +yy741: yyaccept = 65; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4796,11 +4957,11 @@ yy721: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy722: -#line 96 "cpp.re" +yy742: +#line 104 "cpp.re" { BOOST_WAVE_RET(T_RETURN); } -#line 4803 "cpp_re.inc" -yy723: +#line 4964 "cpp_re.inc" +yy743: yyaccept = 66; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4808,11 +4969,11 @@ yy723: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy724: -#line 98 "cpp.re" +yy744: +#line 106 "cpp.re" { BOOST_WAVE_RET(T_SIGNED); } -#line 4815 "cpp_re.inc" -yy725: +#line 4976 "cpp_re.inc" +yy745: yyaccept = 67; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4820,11 +4981,11 @@ yy725: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy726: -#line 99 "cpp.re" +yy746: +#line 107 "cpp.re" { BOOST_WAVE_RET(T_SIZEOF); } -#line 4827 "cpp_re.inc" -yy727: +#line 4988 "cpp_re.inc" +yy747: yyaccept = 68; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -4839,16 +5000,16 @@ yy727: if (yych <= 'Z') goto yy18; if (yych == '\\') goto yy120; } else { - if (yych <= '_') goto yy797; - if (yych <= '`') goto yy728; + if (yych <= '_') goto yy827; + if (yych <= '`') goto yy748; if (yych <= 'z') goto yy18; } } -yy728: -#line 100 "cpp.re" +yy748: +#line 108 "cpp.re" { BOOST_WAVE_RET(T_STATIC); } -#line 4851 "cpp_re.inc" -yy729: +#line 5012 "cpp_re.inc" +yy749: yyaccept = 69; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4856,11 +5017,11 @@ yy729: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy730: -#line 103 "cpp.re" +yy750: +#line 111 "cpp.re" { BOOST_WAVE_RET(T_STRUCT); } -#line 4863 "cpp_re.inc" -yy731: +#line 5024 "cpp_re.inc" +yy751: yyaccept = 70; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4868,26 +5029,26 @@ yy731: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy732: -#line 104 "cpp.re" +yy752: +#line 112 "cpp.re" { BOOST_WAVE_RET(T_SWITCH); } -#line 4875 "cpp_re.inc" -yy733: +#line 5036 "cpp_re.inc" +yy753: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy798; + if (yych == 't') goto yy828; goto yy19; -yy734: +yy754: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy799; + if (yych == '_') goto yy829; goto yy19; -yy735: +yy755: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'f') goto yy800; + if (yych == 'f') goto yy830; goto yy19; -yy736: +yy756: yyaccept = 71; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4895,36 +5056,36 @@ yy736: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy737: -#line 112 "cpp.re" +yy757: +#line 120 "cpp.re" { BOOST_WAVE_RET(T_TYPEID); } -#line 4902 "cpp_re.inc" -yy738: +#line 5063 "cpp_re.inc" +yy758: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy802; + if (yych == 'm') goto yy832; goto yy19; -yy739: +yy759: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy803; + if (yych == 'e') goto yy833; goto yy19; -yy740: +yy760: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy804; + if (yych == 'l') goto yy834; goto yy19; -yy741: +yy761: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy806; + if (yych == 'l') goto yy836; goto yy19; -yy742: +yy762: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy807; + if (yych == 't') goto yy837; goto yy19; -yy743: +yy763: yyaccept = 72; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4932,53 +5093,53 @@ yy743: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy744: -#line 213 "cpp.re" +yy764: +#line 221 "cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_XORASSIGN_ALT); } -#line 4939 "cpp_re.inc" -yy745: +#line 5100 "cpp_re.inc" +yy765: ++YYCURSOR; -#line 314 "cpp.re" +#line 322 "cpp.re" { BOOST_WAVE_RET(T_PP_DEFINE); } -#line 4944 "cpp_re.inc" -yy747: +#line 5105 "cpp_re.inc" +yy767: yych = *++YYCURSOR; - if (yych == 'i') goto yy809; + if (yych == 'i') goto yy839; goto yy100; -yy748: +yy768: ++YYCURSOR; -#line 310 "cpp.re" +#line 318 "cpp.re" { BOOST_WAVE_RET(T_PP_IFNDEF); } -#line 4953 "cpp_re.inc" -yy750: +#line 5114 "cpp_re.inc" +yy770: yych = *++YYCURSOR; - if (yych == 'e') goto yy810; + if (yych == 'e') goto yy840; goto yy100; -yy751: +yy771: ++YYCURSOR; -#line 318 "cpp.re" +#line 326 "cpp.re" { BOOST_WAVE_RET(T_PP_PRAGMA); } -#line 4962 "cpp_re.inc" -yy753: +#line 5123 "cpp_re.inc" +yy773: ++YYCURSOR; -#line 322 "cpp.re" +#line 330 "cpp.re" { BOOST_WAVE_RET(T_MSEXT_PP_REGION); } -#line 4967 "cpp_re.inc" -yy755: +#line 5128 "cpp_re.inc" +yy775: yych = *++YYCURSOR; - if (yych == 'g') goto yy812; + if (yych == 'g') goto yy842; goto yy100; -yy756: +yy776: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy814; + if (yych == 't') goto yy844; goto yy19; -yy757: +yy777: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy816; + if (yych == 'l') goto yy846; goto yy19; -yy758: +yy778: yyaccept = 73; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4986,11 +5147,11 @@ yy758: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy759: -#line 124 "cpp.re" +yy779: +#line 132 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT16 : T_IDENTIFIER); } -#line 4993 "cpp_re.inc" -yy760: +#line 5154 "cpp_re.inc" +yy780: yyaccept = 74; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4998,11 +5159,11 @@ yy760: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy761: -#line 125 "cpp.re" +yy781: +#line 133 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT32 : T_IDENTIFIER); } -#line 5005 "cpp_re.inc" -yy762: +#line 5166 "cpp_re.inc" +yy782: yyaccept = 75; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -5010,11 +5171,11 @@ yy762: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy763: -#line 126 "cpp.re" +yy783: +#line 134 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT64 : T_IDENTIFIER); } -#line 5017 "cpp_re.inc" -yy764: +#line 5178 "cpp_re.inc" +yy784: yyaccept = 76; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -5022,21 +5183,21 @@ yy764: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy765: -#line 135 "cpp.re" +yy785: +#line 143 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_LEAVE : T_IDENTIFIER); } -#line 5029 "cpp_re.inc" -yy766: +#line 5190 "cpp_re.inc" +yy786: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy817; + if (yych == 'e') goto yy847; goto yy19; -yy767: +yy787: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy818; + if (yych == 'l') goto yy848; goto yy19; -yy768: +yy788: yyaccept = 77; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -5044,16 +5205,16 @@ yy768: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy769: -#line 136 "cpp.re" +yy789: +#line 144 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INLINE : T_IDENTIFIER); } -#line 5051 "cpp_re.inc" -yy770: +#line 5212 "cpp_re.inc" +yy790: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy819; + if (yych == 'l') goto yy849; goto yy19; -yy771: +yy791: yyaccept = 78; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -5061,11 +5222,11 @@ yy771: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy772: +yy792: #line 48 "cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_ALIGNAS : T_IDENTIFIER); } -#line 5068 "cpp_re.inc" -yy773: +#line 5229 "cpp_re.inc" +yy793: yyaccept = 79; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -5073,828 +5234,969 @@ yy773: } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy774: +yy794: #line 49 "cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_ALIGNOF : T_IDENTIFIER); } -#line 5080 "cpp_re.inc" -yy775: +#line 5241 "cpp_re.inc" +yy795: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy821; + if (yych == 't') goto yy851; goto yy19; -yy776: +yy796: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy823; + if (yych == 't') goto yy853; goto yy19; -yy777: - yyaccept = 2; +yy797: + yyaccept = 80; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy825; - goto yy19; -yy778: + if (yybm[256+yych] & 128) { + goto yy18; + } + if (yych == '?') goto yy119; + if (yych == '\\') goto yy120; +yy798: +#line 57 "cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CHAR8_T : T_IDENTIFIER); } +#line 5263 "cpp_re.inc" +yy799: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy826; + if (yych == 't') goto yy855; goto yy19; -yy779: +yy800: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy827; + if (yych == 'r') goto yy857; goto yy19; -yy780: +yy801: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy829; + if (yych == 'd') goto yy858; goto yy19; -yy781: - yyaccept = 80; +yy802: + yyaccept = 81; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy782: -#line 65 "cpp.re" +yy803: +#line 61 "cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONCEPT : T_IDENTIFIER); } +#line 5290 "cpp_re.inc" +yy804: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'a') goto yy860; + goto yy19; +yy805: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'a') goto yy861; + goto yy19; +yy806: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'p') goto yy862; + goto yy19; +yy807: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'i') goto yy863; + goto yy19; +yy808: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy864; + goto yy19; +yy809: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy866; + goto yy19; +yy810: + yyaccept = 82; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy18; + } + if (yych == '?') goto yy119; + if (yych == '\\') goto yy120; +yy811: +#line 72 "cpp.re" { BOOST_WAVE_RET(T_DEFAULT); } -#line 5122 "cpp_re.inc" -yy783: +#line 5332 "cpp_re.inc" +yy812: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy831; + if (yych == '_') goto yy868; goto yy19; -yy784: +yy813: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy832; + if (yych == 't') goto yy869; goto yy19; -yy785: - yyaccept = 81; +yy814: + yyaccept = 83; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy786: -#line 85 "cpp.re" +yy815: +#line 92 "cpp.re" { BOOST_WAVE_RET(T_MUTABLE); } -#line 5144 "cpp_re.inc" -yy787: +#line 5354 "cpp_re.inc" +yy816: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy834; + if (yych == 'c') goto yy871; goto yy19; -yy788: +yy817: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy835; + if (yych == 't') goto yy872; goto yy19; -yy789: - yyaccept = 82; +yy818: + yyaccept = 84; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy790: -#line 89 "cpp.re" +yy819: +#line 96 "cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_NULLPTR : T_IDENTIFIER); } -#line 5166 "cpp_re.inc" -yy791: +#line 5376 "cpp_re.inc" +yy820: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy837; + if (yych == 'r') goto yy874; goto yy19; -yy792: - yyaccept = 83; +yy821: + yyaccept = 85; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy793: -#line 91 "cpp.re" +yy822: +#line 98 "cpp.re" { BOOST_WAVE_RET(T_PRIVATE); } -#line 5183 "cpp_re.inc" -yy794: +#line 5393 "cpp_re.inc" +yy823: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy839; + if (yych == 'e') goto yy876; goto yy19; -yy795: +yy824: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy840; + if (yych == 'r') goto yy877; goto yy19; -yy796: +yy825: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy842; + if (yych == 'p') goto yy879; goto yy19; -yy797: +yy826: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy843; - if (yych == 'c') goto yy844; + if (yych == 's') goto yy880; goto yy19; -yy798: +yy827: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy845; + if (yych == 'a') goto yy882; + if (yych == 'c') goto yy883; goto yy19; -yy799: +yy828: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy847; + if (yych == 'e') goto yy884; goto yy19; -yy800: - yyaccept = 84; +yy829: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'l') goto yy886; + goto yy19; +yy830: + yyaccept = 86; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy801: -#line 111 "cpp.re" +yy831: +#line 119 "cpp.re" { BOOST_WAVE_RET(T_TYPEDEF); } -#line 5226 "cpp_re.inc" -yy802: +#line 5441 "cpp_re.inc" +yy832: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy848; + if (yych == 'e') goto yy887; goto yy19; -yy803: +yy833: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy850; + if (yych == 'd') goto yy889; goto yy19; -yy804: - yyaccept = 85; +yy834: + yyaccept = 87; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy805: -#line 117 "cpp.re" +yy835: +#line 125 "cpp.re" { BOOST_WAVE_RET(T_VIRTUAL); } -#line 5248 "cpp_re.inc" -yy806: +#line 5463 "cpp_re.inc" +yy836: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy852; + if (yych == 'e') goto yy891; goto yy19; -yy807: - yyaccept = 86; +yy837: + yyaccept = 88; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy808: -#line 120 "cpp.re" +yy838: +#line 128 "cpp.re" { BOOST_WAVE_RET(T_WCHART); } -#line 5265 "cpp_re.inc" -yy809: +#line 5480 "cpp_re.inc" +yy839: yych = *++YYCURSOR; - if (yych == 'o') goto yy854; + if (yych == 'o') goto yy893; goto yy100; -yy810: - yyaccept = 87; +yy840: + yyaccept = 89; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy860; - goto yy856; -yy811: -#line 306 "cpp.re" + if (yych == '_') goto yy899; + goto yy895; +yy841: +#line 314 "cpp.re" { BOOST_WAVE_RET(T_PP_INCLUDE); } -#line 5278 "cpp_re.inc" -yy812: +#line 5493 "cpp_re.inc" +yy842: ++YYCURSOR; -#line 320 "cpp.re" +#line 328 "cpp.re" { BOOST_WAVE_RET(T_PP_WARNING); } -#line 5283 "cpp_re.inc" -yy814: - yyaccept = 88; +#line 5498 "cpp_re.inc" +yy844: + yyaccept = 90; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy815: -#line 133 "cpp.re" +yy845: +#line 141 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_EXCEPT : T_IDENTIFIER); } -#line 5295 "cpp_re.inc" -yy816: +#line 5510 "cpp_re.inc" +yy846: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'y') goto yy861; + if (yych == 'y') goto yy900; goto yy19; -yy817: +yy847: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy863; + if (yych == 'c') goto yy902; goto yy19; -yy818: +yy848: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy865; + if (yych == 'l') goto yy904; goto yy19; -yy819: - yyaccept = 89; +yy849: + yyaccept = 91; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy820: -#line 131 "cpp.re" +yy850: +#line 139 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_STDCALL : T_IDENTIFIER); } -#line 5322 "cpp_re.inc" -yy821: - yyaccept = 90; +#line 5537 "cpp_re.inc" +yy851: + yyaccept = 92; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy822: -#line 57 "cpp.re" +yy852: +#line 58 "cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR16_T : T_IDENTIFIER); } -#line 5334 "cpp_re.inc" -yy823: - yyaccept = 91; +#line 5549 "cpp_re.inc" +yy853: + yyaccept = 93; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy824: -#line 58 "cpp.re" +yy854: +#line 59 "cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR32_T : T_IDENTIFIER); } -#line 5346 "cpp_re.inc" -yy825: +#line 5561 "cpp_re.inc" +yy855: + yyaccept = 94; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy18; + } + if (yych == '?') goto yy119; + if (yych == '\\') goto yy120; +yy856: +#line 68 "cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_AWAIT : T_IDENTIFIER); } +#line 5573 "cpp_re.inc" +yy857: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy867; + if (yych == 'n') goto yy906; goto yy19; -yy826: +yy858: + yyaccept = 95; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy18; + } + if (yych == '?') goto yy119; + if (yych == '\\') goto yy120; +yy859: +#line 70 "cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_YIELD : T_IDENTIFIER); } +#line 5590 "cpp_re.inc" +yy860: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy868; + if (yych == 's') goto yy908; goto yy19; -yy827: - yyaccept = 92; +yy861: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'l') goto yy909; + goto yy19; +yy862: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'r') goto yy911; + goto yy19; +yy863: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy913; + goto yy19; +yy864: + yyaccept = 96; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy828: -#line 63 "cpp.re" +yy865: +#line 67 "cpp.re" { BOOST_WAVE_RET(T_CONTINUE); } -#line 5368 "cpp_re.inc" -yy829: - yyaccept = 93; +#line 5622 "cpp_re.inc" +yy866: + yyaccept = 97; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy830: -#line 64 "cpp.re" +yy867: +#line 71 "cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_DECLTYPE : T_IDENTIFIER); } -#line 5380 "cpp_re.inc" -yy831: +#line 5634 "cpp_re.inc" +yy868: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy870; + if (yych == 'c') goto yy915; goto yy19; -yy832: - yyaccept = 94; +yy869: + yyaccept = 98; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy833: -#line 72 "cpp.re" +yy870: +#line 79 "cpp.re" { BOOST_WAVE_RET(T_EXPLICIT); } -#line 5397 "cpp_re.inc" -yy834: +#line 5651 "cpp_re.inc" +yy871: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy871; + if (yych == 'e') goto yy916; goto yy19; -yy835: - yyaccept = 95; +yy872: + yyaccept = 99; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy836: -#line 88 "cpp.re" +yy873: +#line 95 "cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_NOEXCEPT : T_IDENTIFIER); } -#line 5414 "cpp_re.inc" -yy837: - yyaccept = 96; +#line 5668 "cpp_re.inc" +yy874: + yyaccept = 100; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy838: -#line 90 "cpp.re" +yy875: +#line 97 "cpp.re" { BOOST_WAVE_RET(T_OPERATOR); } -#line 5426 "cpp_re.inc" -yy839: +#line 5680 "cpp_re.inc" +yy876: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy873; + if (yych == 'd') goto yy918; goto yy19; -yy840: - yyaccept = 97; +yy877: + yyaccept = 101; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy841: -#line 94 "cpp.re" +yy878: +#line 101 "cpp.re" { BOOST_WAVE_RET(T_REGISTER); } -#line 5443 "cpp_re.inc" -yy842: +#line 5697 "cpp_re.inc" +yy879: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy875; + if (yych == 'r') goto yy920; goto yy19; -yy843: +yy880: + yyaccept = 102; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy18; + } + if (yych == '?') goto yy119; + if (yych == '\\') goto yy120; +yy881: +#line 103 "cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_REQUIRES : T_IDENTIFIER); } +#line 5714 "cpp_re.inc" +yy882: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy876; + if (yych == 's') goto yy921; goto yy19; -yy844: +yy883: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy877; + if (yych == 'a') goto yy922; goto yy19; -yy845: - yyaccept = 98; +yy884: + yyaccept = 103; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy846: -#line 105 "cpp.re" +yy885: +#line 113 "cpp.re" { BOOST_WAVE_RET(T_TEMPLATE); } -#line 5470 "cpp_re.inc" -yy847: +#line 5736 "cpp_re.inc" +yy886: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy878; + if (yych == 'o') goto yy923; goto yy19; -yy848: - yyaccept = 99; +yy887: + yyaccept = 104; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy849: -#line 113 "cpp.re" +yy888: +#line 121 "cpp.re" { BOOST_WAVE_RET(T_TYPENAME); } -#line 5487 "cpp_re.inc" -yy850: - yyaccept = 100; +#line 5753 "cpp_re.inc" +yy889: + yyaccept = 105; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy851: -#line 115 "cpp.re" +yy890: +#line 123 "cpp.re" { BOOST_WAVE_RET(T_UNSIGNED); } -#line 5499 "cpp_re.inc" -yy852: - yyaccept = 101; +#line 5765 "cpp_re.inc" +yy891: + yyaccept = 106; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy853: -#line 119 "cpp.re" +yy892: +#line 127 "cpp.re" { BOOST_WAVE_RET(T_VOLATILE); } -#line 5511 "cpp_re.inc" -yy854: +#line 5777 "cpp_re.inc" +yy893: yych = *++YYCURSOR; - if (yych == 'n') goto yy879; + if (yych == 'n') goto yy924; goto yy100; -yy855: - yyaccept = 87; +yy894: + yyaccept = 89; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; -yy856: +yy895: if (yych <= ' ') { if (yych <= '\n') { - if (yych == '\t') goto yy855; - goto yy811; + if (yych == '\t') goto yy894; + goto yy841; } else { - if (yych <= '\f') goto yy855; - if (yych <= 0x1F) goto yy811; - goto yy855; + if (yych <= '\f') goto yy894; + if (yych <= 0x1F) goto yy841; + goto yy894; } } else { if (yych <= '.') { - if (yych != '"') goto yy811; + if (yych != '"') goto yy841; } else { - if (yych <= '/') goto yy858; - if (yych == '<') goto yy859; - goto yy811; + if (yych <= '/') goto yy897; + if (yych == '<') goto yy898; + goto yy841; } } yych = *++YYCURSOR; if (yych == '"') goto yy100; - goto yy882; -yy858: + goto yy927; +yy897: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych == '*') goto yy883; + if (yych == '*') goto yy928; goto yy100; -yy859: +yy898: yych = *++YYCURSOR; if (yych == '>') goto yy100; - goto yy886; -yy860: + goto yy931; +yy899: yych = *++YYCURSOR; - if (yych == 'n') goto yy887; + if (yych == 'n') goto yy932; goto yy100; -yy861: - yyaccept = 102; +yy900: + yyaccept = 107; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy862: -#line 134 "cpp.re" +yy901: +#line 142 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_FINALLY : T_IDENTIFIER); } -#line 5568 "cpp_re.inc" -yy863: - yyaccept = 103; +#line 5834 "cpp_re.inc" +yy902: + yyaccept = 108; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy864: -#line 128 "cpp.re" +yy903: +#line 136 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_DECLSPEC : T_IDENTIFIER); } -#line 5580 "cpp_re.inc" -yy865: - yyaccept = 104; +#line 5846 "cpp_re.inc" +yy904: + yyaccept = 109; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy866: -#line 130 "cpp.re" +yy905: +#line 138 "cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_FASTCALL : T_IDENTIFIER); } -#line 5592 "cpp_re.inc" -yy867: +#line 5858 "cpp_re.inc" +yy906: + yyaccept = 110; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy18; + } + if (yych == '?') goto yy119; + if (yych == '\\') goto yy120; +yy907: +#line 69 "cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_RETURN : T_IDENTIFIER); } +#line 5870 "cpp_re.inc" +yy908: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy888; + if (yych == 't') goto yy933; goto yy19; -yy868: - yyaccept = 105; +yy909: + yyaccept = 111; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy869: -#line 61 "cpp.re" +yy910: +#line 63 "cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTEVAL : T_IDENTIFIER); } +#line 5887 "cpp_re.inc" +yy911: + yyaccept = 112; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy18; + } + if (yych == '?') goto yy119; + if (yych == '\\') goto yy120; +yy912: +#line 64 "cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CONSTEXPR : T_IDENTIFIER); } -#line 5609 "cpp_re.inc" -yy870: +#line 5899 "cpp_re.inc" +yy913: + yyaccept = 113; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy18; + } + if (yych == '?') goto yy119; + if (yych == '\\') goto yy120; +yy914: +#line 65 "cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTINIT : T_IDENTIFIER); } +#line 5911 "cpp_re.inc" +yy915: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy890; + if (yych == 'a') goto yy935; goto yy19; -yy871: - yyaccept = 106; +yy916: + yyaccept = 114; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy872: -#line 86 "cpp.re" +yy917: +#line 93 "cpp.re" { BOOST_WAVE_RET(T_NAMESPACE); } -#line 5626 "cpp_re.inc" -yy873: - yyaccept = 107; +#line 5928 "cpp_re.inc" +yy918: + yyaccept = 115; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy874: -#line 92 "cpp.re" +yy919: +#line 99 "cpp.re" { BOOST_WAVE_RET(T_PROTECTED); } -#line 5638 "cpp_re.inc" -yy875: +#line 5940 "cpp_re.inc" +yy920: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy891; + if (yych == 'e') goto yy936; goto yy19; -yy876: +yy921: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy892; + if (yych == 's') goto yy937; goto yy19; -yy877: +yy922: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy893; + if (yych == 's') goto yy938; goto yy19; -yy878: +yy923: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy894; + if (yych == 'c') goto yy939; goto yy19; -yy879: +yy924: ++YYCURSOR; -#line 323 "cpp.re" +#line 331 "cpp.re" { BOOST_WAVE_RET(T_MSEXT_PP_ENDREGION); } -#line 5663 "cpp_re.inc" -yy881: +#line 5965 "cpp_re.inc" +yy926: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy882: +yy927: if (yybm[0+yych] & 64) { - goto yy881; + goto yy926; } if (yych <= 0x1F) goto yy100; - goto yy895; -yy883: + goto yy940; +yy928: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x08) goto yy100; - if (yych <= '\r') goto yy883; + if (yych <= '\r') goto yy928; goto yy100; } else { - if (yych == '*') goto yy897; - goto yy883; + if (yych == '*') goto yy942; + goto yy928; } -yy885: +yy930: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy886: +yy931: if (yybm[0+yych] & 128) { - goto yy885; + goto yy930; } if (yych <= 0x1F) goto yy100; - goto yy899; -yy887: + goto yy944; +yy932: yych = *++YYCURSOR; - if (yych == 'e') goto yy901; + if (yych == 'e') goto yy946; goto yy100; -yy888: - yyaccept = 108; +yy933: + yyaccept = 116; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy889: -#line 62 "cpp.re" +yy934: +#line 66 "cpp.re" { BOOST_WAVE_RET(T_CONSTCAST); } -#line 5711 "cpp_re.inc" -yy890: +#line 6013 "cpp_re.inc" +yy935: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy902; + if (yych == 's') goto yy947; goto yy19; -yy891: +yy936: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy903; + if (yych == 't') goto yy948; goto yy19; -yy892: +yy937: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy904; + if (yych == 'e') goto yy949; goto yy19; -yy893: +yy938: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy905; + if (yych == 't') goto yy950; goto yy19; -yy894: +yy939: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy907; + if (yych == 'a') goto yy952; goto yy19; -yy895: +yy940: ++YYCURSOR; -#line 303 "cpp.re" +#line 311 "cpp.re" { BOOST_WAVE_RET(T_PP_QHEADER); } -#line 5741 "cpp_re.inc" -yy897: +#line 6043 "cpp_re.inc" +yy942: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= ')') { if (yych <= 0x08) goto yy100; - if (yych <= '\r') goto yy883; + if (yych <= '\r') goto yy928; if (yych <= 0x1F) goto yy100; - goto yy883; + goto yy928; } else { - if (yych <= '*') goto yy897; - if (yych == '/') goto yy855; - goto yy883; + if (yych <= '*') goto yy942; + if (yych == '/') goto yy894; + goto yy928; } -yy899: +yy944: ++YYCURSOR; -#line 300 "cpp.re" +#line 308 "cpp.re" { BOOST_WAVE_RET(T_PP_HHEADER); } -#line 5760 "cpp_re.inc" -yy901: +#line 6062 "cpp_re.inc" +yy946: yych = *++YYCURSOR; - if (yych == 'x') goto yy908; + if (yych == 'x') goto yy953; goto yy100; -yy902: +yy947: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy909; + if (yych == 't') goto yy954; goto yy19; -yy903: +yy948: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy911; + if (yych == '_') goto yy956; goto yy19; -yy904: +yy949: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy912; + if (yych == 'r') goto yy957; goto yy19; -yy905: - yyaccept = 109; +yy950: + yyaccept = 117; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy906: -#line 101 "cpp.re" +yy951: +#line 109 "cpp.re" { BOOST_WAVE_RET(T_STATICCAST); } -#line 5791 "cpp_re.inc" -yy907: +#line 6093 "cpp_re.inc" +yy952: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy913; + if (yych == 'l') goto yy958; goto yy19; -yy908: +yy953: yych = *++YYCURSOR; - if (yych == 't') goto yy855; + if (yych == 't') goto yy894; goto yy100; -yy909: - yyaccept = 110; +yy954: + yyaccept = 118; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy910: -#line 69 "cpp.re" +yy955: +#line 76 "cpp.re" { BOOST_WAVE_RET(T_DYNAMICCAST); } -#line 5812 "cpp_re.inc" -yy911: +#line 6114 "cpp_re.inc" +yy956: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy915; + if (yych == 'c') goto yy960; goto yy19; -yy912: +yy957: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy916; + if (yych == 't') goto yy961; goto yy19; -yy913: - yyaccept = 111; +yy958: + yyaccept = 119; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy914: -#line 107 "cpp.re" +yy959: +#line 115 "cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_THREADLOCAL : T_IDENTIFIER); } -#line 5834 "cpp_re.inc" -yy915: +#line 6136 "cpp_re.inc" +yy960: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy918; + if (yych == 'a') goto yy963; goto yy19; -yy916: - yyaccept = 112; +yy961: + yyaccept = 120; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy917: -#line 102 "cpp.re" +yy962: +#line 110 "cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_STATICASSERT : T_IDENTIFIER); } -#line 5851 "cpp_re.inc" -yy918: +#line 6153 "cpp_re.inc" +yy963: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych != 's') goto yy19; yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych != 't') goto yy19; - yyaccept = 113; + yyaccept = 121; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy18; } if (yych == '?') goto yy119; if (yych == '\\') goto yy120; -yy921: -#line 95 "cpp.re" +yy966: +#line 102 "cpp.re" { BOOST_WAVE_RET(T_REINTERPRETCAST); } -#line 5869 "cpp_re.inc" +#line 6171 "cpp_re.inc" } -#line 355 "cpp.re" +#line 363 "cpp.re" ccomment: -#line 5876 "cpp_re.inc" +#line 6178 "cpp_re.inc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '\f') { if (yych <= 0x08) { - if (yych >= 0x01) goto yy926; + if (yych >= 0x01) goto yy971; } else { - if (yych == '\n') goto yy930; - goto yy928; + if (yych == '\n') goto yy975; + goto yy973; } } else { if (yych <= 0x1F) { - if (yych <= '\r') goto yy932; - goto yy926; + if (yych <= '\r') goto yy977; + goto yy971; } else { - if (yych == '*') goto yy933; - goto yy928; + if (yych == '*') goto yy978; + goto yy973; } } ++YYCURSOR; -#line 373 "cpp.re" +#line 381 "cpp.re" { if(cursor == s->eof) { @@ -5910,27 +6212,27 @@ ccomment: "invalid character: '\\000' in input stream"); } } -#line 5914 "cpp_re.inc" -yy926: +#line 6216 "cpp_re.inc" +yy971: ++YYCURSOR; -#line 390 "cpp.re" +#line 398 "cpp.re" { // flag the error BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor (*s->error_proc)(s, lexing_exception::generic_lexing_error, "invalid character '\\%03o' in input stream", *--YYCURSOR); } -#line 5924 "cpp_re.inc" -yy928: +#line 6226 "cpp_re.inc" +yy973: ++YYCURSOR; -yy929: -#line 370 "cpp.re" +yy974: +#line 378 "cpp.re" { goto ccomment; } -#line 5930 "cpp_re.inc" -yy930: +#line 6232 "cpp_re.inc" +yy975: ++YYCURSOR; -yy931: -#line 362 "cpp.re" +yy976: +#line 370 "cpp.re" { /*if(cursor == s->eof) BOOST_WAVE_RET(T_EOF);*/ /*s->tok = cursor; */ @@ -5938,43 +6240,43 @@ yy931: cursor.column = 1; goto ccomment; } -#line 5942 "cpp_re.inc" -yy932: +#line 6244 "cpp_re.inc" +yy977: yych = *++YYCURSOR; - if (yych == '\n') goto yy930; - goto yy931; -yy933: + if (yych == '\n') goto yy975; + goto yy976; +yy978: yych = *++YYCURSOR; - if (yych != '/') goto yy929; + if (yych != '/') goto yy974; ++YYCURSOR; -#line 359 "cpp.re" +#line 367 "cpp.re" { BOOST_WAVE_RET(T_CCOMMENT); } -#line 5953 "cpp_re.inc" +#line 6255 "cpp_re.inc" } -#line 396 "cpp.re" +#line 404 "cpp.re" cppcomment: -#line 5960 "cpp_re.inc" +#line 6262 "cpp_re.inc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '\n') { - if (yych <= 0x00) goto yy938; - if (yych <= 0x08) goto yy940; - if (yych <= '\t') goto yy942; - goto yy944; + if (yych <= 0x00) goto yy983; + if (yych <= 0x08) goto yy985; + if (yych <= '\t') goto yy987; + goto yy989; } else { - if (yych <= '\f') goto yy942; - if (yych <= '\r') goto yy946; - if (yych <= 0x1F) goto yy940; - goto yy942; + if (yych <= '\f') goto yy987; + if (yych <= '\r') goto yy991; + if (yych <= 0x1F) goto yy985; + goto yy987; } -yy938: +yy983: ++YYCURSOR; -#line 412 "cpp.re" +#line 420 "cpp.re" { if (s->eof && cursor != s->eof) { @@ -5993,26 +6295,26 @@ yy938: } BOOST_WAVE_RET(T_CPPCOMMENT); } -#line 5997 "cpp_re.inc" -yy940: +#line 6299 "cpp_re.inc" +yy985: ++YYCURSOR; -#line 432 "cpp.re" +#line 440 "cpp.re" { // flag the error BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor (*s->error_proc)(s, lexing_exception::generic_lexing_error, "invalid character '\\%03o' in input stream", *--YYCURSOR); } -#line 6007 "cpp_re.inc" -yy942: +#line 6309 "cpp_re.inc" +yy987: ++YYCURSOR; -#line 409 "cpp.re" +#line 417 "cpp.re" { goto cppcomment; } -#line 6012 "cpp_re.inc" -yy944: +#line 6314 "cpp_re.inc" +yy989: ++YYCURSOR; -yy945: -#line 401 "cpp.re" +yy990: +#line 409 "cpp.re" { /*if(cursor == s->eof) BOOST_WAVE_RET(T_EOF); */ /*s->tok = cursor; */ @@ -6020,13 +6322,13 @@ yy945: cursor.column = 1; BOOST_WAVE_RET(T_CPPCOMMENT); } -#line 6024 "cpp_re.inc" -yy946: +#line 6326 "cpp_re.inc" +yy991: yych = *++YYCURSOR; - if (yych == '\n') goto yy944; - goto yy945; + if (yych == '\n') goto yy989; + goto yy990; } -#line 438 "cpp.re" +#line 446 "cpp.re" /* this subscanner is called whenever a pp_number has been started */ @@ -6038,7 +6340,7 @@ pp_number: if (s->detect_pp_numbers) { -#line 6042 "cpp_re.inc" +#line 6344 "cpp_re.inc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -6077,223 +6379,223 @@ pp_number: }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if (yych == '.') goto yy951; - if (yych <= '/') goto yy949; - if (yych <= '9') goto yy952; -yy949: + if (yych == '.') goto yy996; + if (yych <= '/') goto yy994; + if (yych <= '9') goto yy997; +yy994: ++YYCURSOR; -yy950: -#line 454 "cpp.re" +yy995: +#line 462 "cpp.re" { BOOST_ASSERT(false); } -#line 6089 "cpp_re.inc" -yy951: +#line 6391 "cpp_re.inc" +yy996: yych = *++YYCURSOR; - if (yych <= '/') goto yy950; - if (yych >= ':') goto yy950; -yy952: + if (yych <= '/') goto yy995; + if (yych >= ':') goto yy995; +yy997: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 64) { - goto yy952; + goto yy997; } if (yych <= 'E') { - if (yych == '?') goto yy955; - if (yych >= 'A') goto yy957; + if (yych == '?') goto yy1000; + if (yych >= 'A') goto yy1002; } else { if (yych <= '\\') { - if (yych >= '\\') goto yy959; + if (yych >= '\\') goto yy1004; } else { - if (yych <= '`') goto yy954; - if (yych <= 'e') goto yy957; + if (yych <= '`') goto yy999; + if (yych <= 'e') goto yy1002; } } -yy954: -#line 450 "cpp.re" +yy999: +#line 458 "cpp.re" { BOOST_WAVE_RET(T_PP_NUMBER); } -#line 6115 "cpp_re.inc" -yy955: +#line 6417 "cpp_re.inc" +yy1000: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych == '?') goto yy960; -yy956: + if (yych == '?') goto yy1005; +yy1001: YYCURSOR = YYMARKER; - goto yy954; -yy957: + goto yy999; +yy1002: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { - goto yy957; + goto yy1002; } if (yych <= '>') { if (yych <= '+') { - if (yych == '$') goto yy952; - if (yych <= '*') goto yy954; - goto yy952; + if (yych == '$') goto yy997; + if (yych <= '*') goto yy999; + goto yy997; } else { if (yych <= '.') { - if (yych <= ',') goto yy954; - goto yy952; + if (yych <= ',') goto yy999; + goto yy997; } else { - if (yych <= '/') goto yy954; - if (yych <= '9') goto yy952; - goto yy954; + if (yych <= '/') goto yy999; + if (yych <= '9') goto yy997; + goto yy999; } } } else { if (yych <= '\\') { if (yych <= '@') { - if (yych <= '?') goto yy955; - goto yy954; + if (yych <= '?') goto yy1000; + goto yy999; } else { - if (yych <= 'Z') goto yy952; - if (yych <= '[') goto yy954; + if (yych <= 'Z') goto yy997; + if (yych <= '[') goto yy999; } } else { if (yych <= '_') { - if (yych <= '^') goto yy954; - goto yy952; + if (yych <= '^') goto yy999; + goto yy997; } else { - if (yych <= '`') goto yy954; - if (yych <= 'z') goto yy952; - goto yy954; + if (yych <= '`') goto yy999; + if (yych <= 'z') goto yy997; + goto yy999; } } } -yy959: +yy1004: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych == 'U') goto yy961; - if (yych == 'u') goto yy962; - goto yy956; -yy960: + if (yych == 'U') goto yy1006; + if (yych == 'u') goto yy1007; + goto yy1001; +yy1005: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych == '/') goto yy959; - goto yy956; -yy961: + if (yych == '/') goto yy1004; + goto yy1001; +yy1006: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy963; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1008; + goto yy1001; } else { - if (yych <= 'F') goto yy963; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy963; - goto yy956; + if (yych <= 'F') goto yy1008; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1008; + goto yy1001; } -yy962: +yy1007: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy964; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1009; + goto yy1001; } else { - if (yych <= 'F') goto yy964; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy964; - goto yy956; + if (yych <= 'F') goto yy1009; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1009; + goto yy1001; } -yy963: +yy1008: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy965; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1010; + goto yy1001; } else { - if (yych <= 'F') goto yy965; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy965; - goto yy956; + if (yych <= 'F') goto yy1010; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1010; + goto yy1001; } -yy964: +yy1009: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy966; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1011; + goto yy1001; } else { - if (yych <= 'F') goto yy966; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy966; - goto yy956; + if (yych <= 'F') goto yy1011; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1011; + goto yy1001; } -yy965: +yy1010: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy967; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1012; + goto yy1001; } else { - if (yych <= 'F') goto yy967; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy967; - goto yy956; + if (yych <= 'F') goto yy1012; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1012; + goto yy1001; } -yy966: +yy1011: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy968; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1013; + goto yy1001; } else { - if (yych <= 'F') goto yy968; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy968; - goto yy956; + if (yych <= 'F') goto yy1013; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1013; + goto yy1001; } -yy967: +yy1012: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy962; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1007; + goto yy1001; } else { - if (yych <= 'F') goto yy962; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy962; - goto yy956; + if (yych <= 'F') goto yy1007; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1007; + goto yy1001; } -yy968: +yy1013: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy952; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy997; + goto yy1001; } else { - if (yych <= 'F') goto yy952; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy952; - goto yy956; + if (yych <= 'F') goto yy997; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy997; + goto yy1001; } } -#line 455 "cpp.re" +#line 463 "cpp.re" } else { -#line 6297 "cpp_re.inc" +#line 6599 "cpp_re.inc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -6334,180 +6636,180 @@ yy968: if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy973; + if (yych == '.') goto yy1018; } else { - if (yych <= '0') goto yy974; - if (yych <= '9') goto yy976; + if (yych <= '0') goto yy1019; + if (yych <= '9') goto yy1021; } ++YYCURSOR; -yy972: -#line 465 "cpp.re" +yy1017: +#line 473 "cpp.re" { BOOST_ASSERT(false); } -#line 6347 "cpp_re.inc" -yy973: +#line 6649 "cpp_re.inc" +yy1018: yych = *++YYCURSOR; - if (yych <= '/') goto yy972; - if (yych <= '9') goto yy978; - goto yy972; -yy974: + if (yych <= '/') goto yy1017; + if (yych <= '9') goto yy1023; + goto yy1017; +yy1019: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'X') goto yy987; - if (yych == 'x') goto yy987; - goto yy982; -yy975: -#line 462 "cpp.re" + if (yych == 'X') goto yy1032; + if (yych == 'x') goto yy1032; + goto yy1027; +yy1020: +#line 470 "cpp.re" { goto integer_suffix; } -#line 6362 "cpp_re.inc" -yy976: +#line 6664 "cpp_re.inc" +yy1021: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yybm[0+yych] & 32) { - goto yy976; + goto yy1021; } if (yych <= 'D') { - if (yych != '.') goto yy975; + if (yych != '.') goto yy1020; } else { - if (yych <= 'E') goto yy986; - if (yych == 'e') goto yy986; - goto yy975; + if (yych <= 'E') goto yy1031; + if (yych == 'e') goto yy1031; + goto yy1020; } -yy978: +yy1023: yyaccept = 1; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= 'K') { if (yych <= 'D') { - if (yych <= '/') goto yy980; - if (yych <= '9') goto yy978; + if (yych <= '/') goto yy1025; + if (yych <= '9') goto yy1023; } else { - if (yych <= 'E') goto yy986; - if (yych <= 'F') goto yy988; + if (yych <= 'E') goto yy1031; + if (yych <= 'F') goto yy1033; } } else { if (yych <= 'e') { - if (yych <= 'L') goto yy989; - if (yych >= 'e') goto yy986; + if (yych <= 'L') goto yy1034; + if (yych >= 'e') goto yy1031; } else { - if (yych <= 'f') goto yy988; - if (yych == 'l') goto yy989; + if (yych <= 'f') goto yy1033; + if (yych == 'l') goto yy1034; } } -yy980: -#line 460 "cpp.re" +yy1025: +#line 468 "cpp.re" { BOOST_WAVE_RET(T_FLOATLIT); } -#line 6403 "cpp_re.inc" -yy981: +#line 6705 "cpp_re.inc" +yy1026: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; -yy982: +yy1027: if (yybm[0+yych] & 64) { - goto yy981; + goto yy1026; } if (yych <= '9') { - if (yych == '.') goto yy978; - if (yych <= '/') goto yy975; + if (yych == '.') goto yy1023; + if (yych <= '/') goto yy1020; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy975; - goto yy986; + if (yych <= 'D') goto yy1020; + goto yy1031; } else { - if (yych == 'e') goto yy986; - goto yy975; + if (yych == 'e') goto yy1031; + goto yy1020; } } -yy983: +yy1028: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= '9') { - if (yych == '.') goto yy978; - if (yych >= '0') goto yy983; + if (yych == '.') goto yy1023; + if (yych >= '0') goto yy1028; } else { if (yych <= 'E') { - if (yych >= 'E') goto yy986; + if (yych >= 'E') goto yy1031; } else { - if (yych == 'e') goto yy986; + if (yych == 'e') goto yy1031; } } -yy985: +yy1030: YYCURSOR = YYMARKER; if (yyaccept == 0) { - goto yy975; + goto yy1020; } else { - goto yy980; + goto yy1025; } -yy986: +yy1031: yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '+') goto yy990; - goto yy985; + if (yych == '+') goto yy1035; + goto yy1030; } else { - if (yych <= '-') goto yy990; - if (yych <= '/') goto yy985; - if (yych <= '9') goto yy991; - goto yy985; + if (yych <= '-') goto yy1035; + if (yych <= '/') goto yy1030; + if (yych <= '9') goto yy1036; + goto yy1030; } -yy987: +yy1032: yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy993; + goto yy1038; } - goto yy985; -yy988: + goto yy1030; +yy1033: yych = *++YYCURSOR; - if (yych == 'L') goto yy995; - if (yych == 'l') goto yy995; - goto yy980; -yy989: + if (yych == 'L') goto yy1040; + if (yych == 'l') goto yy1040; + goto yy1025; +yy1034: yych = *++YYCURSOR; - if (yych == 'F') goto yy995; - if (yych == 'f') goto yy995; - goto yy980; -yy990: + if (yych == 'F') goto yy1040; + if (yych == 'f') goto yy1040; + goto yy1025; +yy1035: yych = *++YYCURSOR; - if (yych <= '/') goto yy985; - if (yych >= ':') goto yy985; -yy991: + if (yych <= '/') goto yy1030; + if (yych >= ':') goto yy1030; +yy1036: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= 'K') { if (yych <= '9') { - if (yych <= '/') goto yy980; - goto yy991; + if (yych <= '/') goto yy1025; + goto yy1036; } else { - if (yych == 'F') goto yy988; - goto yy980; + if (yych == 'F') goto yy1033; + goto yy1025; } } else { if (yych <= 'f') { - if (yych <= 'L') goto yy989; - if (yych <= 'e') goto yy980; - goto yy988; + if (yych <= 'L') goto yy1034; + if (yych <= 'e') goto yy1025; + goto yy1033; } else { - if (yych == 'l') goto yy989; - goto yy980; + if (yych == 'l') goto yy1034; + goto yy1025; } } -yy993: +yy1038: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { - goto yy993; + goto yy1038; } - goto yy975; -yy995: + goto yy1020; +yy1040: ++YYCURSOR; - goto yy980; + goto yy1025; } -#line 466 "cpp.re" +#line 474 "cpp.re" } } @@ -6517,168 +6819,168 @@ integer_suffix: { if (s->enable_ms_extensions) { -#line 6521 "cpp_re.inc" +#line 6823 "cpp_re.inc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *(YYMARKER = YYCURSOR); if (yych <= 'h') { if (yych <= 'L') { - if (yych >= 'L') goto yy999; + if (yych >= 'L') goto yy1044; } else { - if (yych == 'U') goto yy1000; + if (yych == 'U') goto yy1045; } } else { if (yych <= 'l') { - if (yych <= 'i') goto yy1001; - if (yych >= 'l') goto yy1003; + if (yych <= 'i') goto yy1046; + if (yych >= 'l') goto yy1048; } else { - if (yych == 'u') goto yy1004; + if (yych == 'u') goto yy1049; } } -yy998: -#line 479 "cpp.re" +yy1043: +#line 487 "cpp.re" { BOOST_WAVE_RET(T_INTLIT); } -#line 6543 "cpp_re.inc" -yy999: +#line 6845 "cpp_re.inc" +yy1044: yych = *++YYCURSOR; if (yych <= 'T') { - if (yych == 'L') goto yy1005; - goto yy998; + if (yych == 'L') goto yy1050; + goto yy1043; } else { - if (yych <= 'U') goto yy1007; - if (yych == 'u') goto yy1007; - goto yy998; + if (yych <= 'U') goto yy1052; + if (yych == 'u') goto yy1052; + goto yy1043; } -yy1000: +yy1045: yych = *++YYCURSOR; - if (yych == 'L') goto yy1008; - if (yych == 'l') goto yy1009; - goto yy998; -yy1001: + if (yych == 'L') goto yy1053; + if (yych == 'l') goto yy1054; + goto yy1043; +yy1046: yych = *++YYCURSOR; - if (yych == '6') goto yy1010; -yy1002: + if (yych == '6') goto yy1055; +yy1047: YYCURSOR = YYMARKER; - goto yy998; -yy1003: + goto yy1043; +yy1048: yych = *++YYCURSOR; if (yych <= 'k') { - if (yych == 'U') goto yy1007; - goto yy998; + if (yych == 'U') goto yy1052; + goto yy1043; } else { - if (yych <= 'l') goto yy1005; - if (yych == 'u') goto yy1007; - goto yy998; + if (yych <= 'l') goto yy1050; + if (yych == 'u') goto yy1052; + goto yy1043; } -yy1004: +yy1049: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'h') { - if (yych == 'L') goto yy1008; - goto yy998; + if (yych == 'L') goto yy1053; + goto yy1043; } else { - if (yych <= 'i') goto yy1001; - if (yych == 'l') goto yy1009; - goto yy998; + if (yych <= 'i') goto yy1046; + if (yych == 'l') goto yy1054; + goto yy1043; } -yy1005: +yy1050: yych = *++YYCURSOR; - if (yych == 'U') goto yy1011; - if (yych == 'u') goto yy1011; -yy1006: -#line 476 "cpp.re" + if (yych == 'U') goto yy1056; + if (yych == 'u') goto yy1056; +yy1051: +#line 484 "cpp.re" { BOOST_WAVE_RET(T_LONGINTLIT); } -#line 6592 "cpp_re.inc" -yy1007: +#line 6894 "cpp_re.inc" +yy1052: ++YYCURSOR; - goto yy998; -yy1008: + goto yy1043; +yy1053: yych = *++YYCURSOR; - if (yych == 'L') goto yy1011; - goto yy998; -yy1009: + if (yych == 'L') goto yy1056; + goto yy1043; +yy1054: yych = *++YYCURSOR; - if (yych == 'l') goto yy1011; - goto yy998; -yy1010: + if (yych == 'l') goto yy1056; + goto yy1043; +yy1055: yych = *++YYCURSOR; - if (yych != '4') goto yy1002; -yy1011: + if (yych != '4') goto yy1047; +yy1056: ++YYCURSOR; - goto yy1006; + goto yy1051; } -#line 480 "cpp.re" +#line 488 "cpp.re" } else { -#line 6616 "cpp_re.inc" +#line 6918 "cpp_re.inc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= 'U') { - if (yych == 'L') goto yy1015; - if (yych >= 'U') goto yy1016; + if (yych == 'L') goto yy1060; + if (yych >= 'U') goto yy1061; } else { if (yych <= 'l') { - if (yych >= 'l') goto yy1017; + if (yych >= 'l') goto yy1062; } else { - if (yych == 'u') goto yy1016; + if (yych == 'u') goto yy1061; } } -yy1014: -#line 488 "cpp.re" +yy1059: +#line 496 "cpp.re" { BOOST_WAVE_RET(T_INTLIT); } -#line 6634 "cpp_re.inc" -yy1015: +#line 6936 "cpp_re.inc" +yy1060: yych = *++YYCURSOR; if (yych <= 'T') { - if (yych == 'L') goto yy1018; - goto yy1014; + if (yych == 'L') goto yy1063; + goto yy1059; } else { - if (yych <= 'U') goto yy1020; - if (yych == 'u') goto yy1020; - goto yy1014; + if (yych <= 'U') goto yy1065; + if (yych == 'u') goto yy1065; + goto yy1059; } -yy1016: +yy1061: yych = *++YYCURSOR; - if (yych == 'L') goto yy1021; - if (yych == 'l') goto yy1022; - goto yy1014; -yy1017: + if (yych == 'L') goto yy1066; + if (yych == 'l') goto yy1067; + goto yy1059; +yy1062: yych = *++YYCURSOR; if (yych <= 'k') { - if (yych == 'U') goto yy1020; - goto yy1014; + if (yych == 'U') goto yy1065; + goto yy1059; } else { - if (yych <= 'l') goto yy1018; - if (yych == 'u') goto yy1020; - goto yy1014; + if (yych <= 'l') goto yy1063; + if (yych == 'u') goto yy1065; + goto yy1059; } -yy1018: +yy1063: yych = *++YYCURSOR; - if (yych == 'U') goto yy1023; - if (yych == 'u') goto yy1023; -yy1019: -#line 485 "cpp.re" + if (yych == 'U') goto yy1068; + if (yych == 'u') goto yy1068; +yy1064: +#line 493 "cpp.re" { BOOST_WAVE_RET(T_LONGINTLIT); } -#line 6667 "cpp_re.inc" -yy1020: +#line 6969 "cpp_re.inc" +yy1065: ++YYCURSOR; - goto yy1014; -yy1021: + goto yy1059; +yy1066: yych = *++YYCURSOR; - if (yych == 'L') goto yy1023; - goto yy1014; -yy1022: + if (yych == 'L') goto yy1068; + goto yy1059; +yy1067: yych = *++YYCURSOR; - if (yych != 'l') goto yy1014; -yy1023: + if (yych != 'l') goto yy1059; +yy1068: ++YYCURSOR; - goto yy1019; + goto yy1064; } -#line 489 "cpp.re" +#line 497 "cpp.re" } @@ -6691,7 +6993,7 @@ yy1023: extcharlit: { -#line 6695 "cpp_re.inc" +#line 6997 "cpp_re.inc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -6732,284 +7034,284 @@ extcharlit: yych = *YYCURSOR; if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy1026; - if (yych <= '\t') goto yy1028; - goto yy1030; + if (yych <= 0x08) goto yy1071; + if (yych <= '\t') goto yy1073; + goto yy1075; } else { - if (yych <= '\f') goto yy1028; - if (yych <= '\r') goto yy1030; + if (yych <= '\f') goto yy1073; + if (yych <= '\r') goto yy1075; } } else { if (yych <= '>') { - if (yych == '\'') goto yy1030; - goto yy1028; + if (yych == '\'') goto yy1075; + goto yy1073; } else { - if (yych <= '?') goto yy1031; - if (yych == '\\') goto yy1032; - goto yy1028; + if (yych <= '?') goto yy1076; + if (yych == '\\') goto yy1077; + goto yy1073; } } -yy1026: +yy1071: ++YYCURSOR; -#line 501 "cpp.re" +#line 509 "cpp.re" { (*s->error_proc)(s, lexing_exception::generic_lexing_error, "Invalid character in raw string delimiter ('%c')", yych); } -#line 6760 "cpp_re.inc" -yy1028: +#line 7062 "cpp_re.inc" +yy1073: yych = *++YYCURSOR; - if (yych == '\'') goto yy1033; -yy1029: -#line 510 "cpp.re" + if (yych == '\'') goto yy1078; +yy1074: +#line 518 "cpp.re" { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); } -#line 6767 "cpp_re.inc" -yy1030: +#line 7069 "cpp_re.inc" +yy1075: ++YYCURSOR; - goto yy1029; -yy1031: + goto yy1074; +yy1076: yych = *(YYMARKER = ++YYCURSOR); - if (yych == '\'') goto yy1033; - if (yych == '?') goto yy1035; - goto yy1029; -yy1032: + if (yych == '\'') goto yy1078; + if (yych == '?') goto yy1080; + goto yy1074; +yy1077: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych == '"') goto yy1037; - goto yy1029; + if (yych == '"') goto yy1082; + goto yy1074; } else { - if (yych <= '\'') goto yy1037; - if (yych <= '/') goto yy1029; - goto yy1038; + if (yych <= '\'') goto yy1082; + if (yych <= '/') goto yy1074; + goto yy1083; } } else { if (yych <= 'T') { - if (yych == '?') goto yy1039; - goto yy1029; + if (yych == '?') goto yy1084; + goto yy1074; } else { - if (yych <= 'U') goto yy1040; - if (yych == '\\') goto yy1037; - goto yy1029; + if (yych <= 'U') goto yy1085; + if (yych == '\\') goto yy1082; + goto yy1074; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1037; - if (yych <= 'e') goto yy1029; - goto yy1037; + if (yych <= 'b') goto yy1082; + if (yych <= 'e') goto yy1074; + goto yy1082; } else { - if (yych == 'n') goto yy1037; - if (yych <= 'q') goto yy1029; - goto yy1037; + if (yych == 'n') goto yy1082; + if (yych <= 'q') goto yy1074; + goto yy1082; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1029; - if (yych <= 't') goto yy1037; - goto yy1041; + if (yych <= 's') goto yy1074; + if (yych <= 't') goto yy1082; + goto yy1086; } else { - if (yych <= 'v') goto yy1037; - if (yych == 'x') goto yy1042; - goto yy1029; + if (yych <= 'v') goto yy1082; + if (yych == 'x') goto yy1087; + goto yy1074; } } } -yy1033: +yy1078: ++YYCURSOR; -#line 507 "cpp.re" +#line 515 "cpp.re" { BOOST_WAVE_RET(T_CHARLIT); } -#line 6825 "cpp_re.inc" -yy1035: +#line 7127 "cpp_re.inc" +yy1080: yych = *++YYCURSOR; - if (yych == '/') goto yy1043; -yy1036: + if (yych == '/') goto yy1088; +yy1081: YYCURSOR = YYMARKER; - goto yy1029; -yy1037: + goto yy1074; +yy1082: yych = *++YYCURSOR; - if (yych == '\'') goto yy1033; - goto yy1036; -yy1038: + if (yych == '\'') goto yy1078; + goto yy1081; +yy1083: yych = *++YYCURSOR; - if (yych == '\'') goto yy1033; - if (yych <= '/') goto yy1036; - if (yych <= '7') goto yy1044; - goto yy1036; -yy1039: + if (yych == '\'') goto yy1078; + if (yych <= '/') goto yy1081; + if (yych <= '7') goto yy1089; + goto yy1081; +yy1084: yych = *++YYCURSOR; - if (yych == '\'') goto yy1033; - if (yych == '?') goto yy1045; - goto yy1036; -yy1040: + if (yych == '\'') goto yy1078; + if (yych == '?') goto yy1090; + goto yy1081; +yy1085: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1036; - if (yych <= '9') goto yy1046; - goto yy1036; + if (yych <= '/') goto yy1081; + if (yych <= '9') goto yy1091; + goto yy1081; } else { - if (yych <= 'F') goto yy1046; - if (yych <= '`') goto yy1036; - if (yych <= 'f') goto yy1046; - goto yy1036; + if (yych <= 'F') goto yy1091; + if (yych <= '`') goto yy1081; + if (yych <= 'f') goto yy1091; + goto yy1081; } -yy1041: +yy1086: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1036; - if (yych <= '9') goto yy1047; - goto yy1036; + if (yych <= '/') goto yy1081; + if (yych <= '9') goto yy1092; + goto yy1081; } else { - if (yych <= 'F') goto yy1047; - if (yych <= '`') goto yy1036; - if (yych <= 'f') goto yy1047; - goto yy1036; + if (yych <= 'F') goto yy1092; + if (yych <= '`') goto yy1081; + if (yych <= 'f') goto yy1092; + goto yy1081; } -yy1042: +yy1087: yych = *++YYCURSOR; - if (yych == '\'') goto yy1036; - goto yy1049; -yy1043: + if (yych == '\'') goto yy1081; + goto yy1094; +yy1088: yych = *++YYCURSOR; if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych == '"') goto yy1037; - goto yy1036; + if (yych == '"') goto yy1082; + goto yy1081; } else { - if (yych <= '\'') goto yy1037; - if (yych <= '/') goto yy1036; - goto yy1038; + if (yych <= '\'') goto yy1082; + if (yych <= '/') goto yy1081; + goto yy1083; } } else { if (yych <= 'T') { - if (yych == '?') goto yy1039; - goto yy1036; + if (yych == '?') goto yy1084; + goto yy1081; } else { - if (yych <= 'U') goto yy1040; - if (yych == '\\') goto yy1037; - goto yy1036; + if (yych <= 'U') goto yy1085; + if (yych == '\\') goto yy1082; + goto yy1081; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1037; - if (yych <= 'e') goto yy1036; - goto yy1037; + if (yych <= 'b') goto yy1082; + if (yych <= 'e') goto yy1081; + goto yy1082; } else { - if (yych == 'n') goto yy1037; - if (yych <= 'q') goto yy1036; - goto yy1037; + if (yych == 'n') goto yy1082; + if (yych <= 'q') goto yy1081; + goto yy1082; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1036; - if (yych <= 't') goto yy1037; - goto yy1041; + if (yych <= 's') goto yy1081; + if (yych <= 't') goto yy1082; + goto yy1086; } else { - if (yych <= 'v') goto yy1037; - if (yych == 'x') goto yy1042; - goto yy1036; + if (yych <= 'v') goto yy1082; + if (yych == 'x') goto yy1087; + goto yy1081; } } } -yy1044: +yy1089: yych = *++YYCURSOR; - if (yych == '\'') goto yy1033; - if (yych <= '/') goto yy1036; - if (yych <= '7') goto yy1037; - goto yy1036; -yy1045: + if (yych == '\'') goto yy1078; + if (yych <= '/') goto yy1081; + if (yych <= '7') goto yy1082; + goto yy1081; +yy1090: yych = *++YYCURSOR; - if (yych == '/') goto yy1037; - goto yy1036; -yy1046: + if (yych == '/') goto yy1082; + goto yy1081; +yy1091: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1036; - if (yych <= '9') goto yy1050; - goto yy1036; + if (yych <= '/') goto yy1081; + if (yych <= '9') goto yy1095; + goto yy1081; } else { - if (yych <= 'F') goto yy1050; - if (yych <= '`') goto yy1036; - if (yych <= 'f') goto yy1050; - goto yy1036; + if (yych <= 'F') goto yy1095; + if (yych <= '`') goto yy1081; + if (yych <= 'f') goto yy1095; + goto yy1081; } -yy1047: +yy1092: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1036; - if (yych <= '9') goto yy1051; - goto yy1036; + if (yych <= '/') goto yy1081; + if (yych <= '9') goto yy1096; + goto yy1081; } else { - if (yych <= 'F') goto yy1051; - if (yych <= '`') goto yy1036; - if (yych <= 'f') goto yy1051; - goto yy1036; + if (yych <= 'F') goto yy1096; + if (yych <= '`') goto yy1081; + if (yych <= 'f') goto yy1096; + goto yy1081; } -yy1048: +yy1093: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy1049: +yy1094: if (yybm[0+yych] & 128) { - goto yy1048; + goto yy1093; } - if (yych == '\'') goto yy1033; - goto yy1036; -yy1050: + if (yych == '\'') goto yy1078; + goto yy1081; +yy1095: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1036; - if (yych <= '9') goto yy1052; - goto yy1036; + if (yych <= '/') goto yy1081; + if (yych <= '9') goto yy1097; + goto yy1081; } else { - if (yych <= 'F') goto yy1052; - if (yych <= '`') goto yy1036; - if (yych <= 'f') goto yy1052; - goto yy1036; + if (yych <= 'F') goto yy1097; + if (yych <= '`') goto yy1081; + if (yych <= 'f') goto yy1097; + goto yy1081; } -yy1051: +yy1096: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1036; - if (yych <= '9') goto yy1053; - goto yy1036; + if (yych <= '/') goto yy1081; + if (yych <= '9') goto yy1098; + goto yy1081; } else { - if (yych <= 'F') goto yy1053; - if (yych <= '`') goto yy1036; - if (yych <= 'f') goto yy1053; - goto yy1036; + if (yych <= 'F') goto yy1098; + if (yych <= '`') goto yy1081; + if (yych <= 'f') goto yy1098; + goto yy1081; } -yy1052: +yy1097: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1036; - if (yych <= '9') goto yy1041; - goto yy1036; + if (yych <= '/') goto yy1081; + if (yych <= '9') goto yy1086; + goto yy1081; } else { - if (yych <= 'F') goto yy1041; - if (yych <= '`') goto yy1036; - if (yych <= 'f') goto yy1041; - goto yy1036; + if (yych <= 'F') goto yy1086; + if (yych <= '`') goto yy1081; + if (yych <= 'f') goto yy1086; + goto yy1081; } -yy1053: +yy1098: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1036; - if (yych <= '9') goto yy1037; - goto yy1036; + if (yych <= '/') goto yy1081; + if (yych <= '9') goto yy1082; + goto yy1081; } else { - if (yych <= 'F') goto yy1037; - if (yych <= '`') goto yy1036; - if (yych <= 'f') goto yy1037; - goto yy1036; + if (yych <= 'F') goto yy1082; + if (yych <= '`') goto yy1081; + if (yych <= 'f') goto yy1082; + goto yy1081; } } -#line 511 "cpp.re" +#line 519 "cpp.re" } @@ -7017,7 +7319,7 @@ yy1053: extstringlit: { -#line 7021 "cpp_re.inc" +#line 7323 "cpp_re.inc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -7059,345 +7361,345 @@ extstringlit: yych = *YYCURSOR; if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy1056; - if (yych <= '\t') goto yy1058; - goto yy1060; + if (yych <= 0x08) goto yy1101; + if (yych <= '\t') goto yy1103; + goto yy1105; } else { - if (yych <= '\f') goto yy1058; - if (yych <= '\r') goto yy1060; + if (yych <= '\f') goto yy1103; + if (yych <= '\r') goto yy1105; } } else { if (yych <= '>') { - if (yych == '"') goto yy1061; - goto yy1058; + if (yych == '"') goto yy1106; + goto yy1103; } else { - if (yych <= '?') goto yy1063; - if (yych == '\\') goto yy1064; - goto yy1058; + if (yych <= '?') goto yy1108; + if (yych == '\\') goto yy1109; + goto yy1103; } } -yy1056: +yy1101: ++YYCURSOR; -#line 518 "cpp.re" +#line 526 "cpp.re" { (*s->error_proc)(s, lexing_exception::generic_lexing_error, "Invalid character in raw string delimiter ('%c')", yych); } -#line 7087 "cpp_re.inc" -yy1058: +#line 7389 "cpp_re.inc" +yy1103: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '\n') { - if (yych == '\t') goto yy1066; + if (yych == '\t') goto yy1111; } else { - if (yych <= '\f') goto yy1066; - if (yych >= ' ') goto yy1066; + if (yych <= '\f') goto yy1111; + if (yych >= ' ') goto yy1111; } -yy1059: -#line 527 "cpp.re" +yy1104: +#line 535 "cpp.re" { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); } -#line 7100 "cpp_re.inc" -yy1060: +#line 7402 "cpp_re.inc" +yy1105: ++YYCURSOR; - goto yy1059; -yy1061: + goto yy1104; +yy1106: ++YYCURSOR; -yy1062: -#line 524 "cpp.re" +yy1107: +#line 532 "cpp.re" { BOOST_WAVE_RET(T_STRINGLIT); } -#line 7109 "cpp_re.inc" -yy1063: +#line 7411 "cpp_re.inc" +yy1108: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 64) { - goto yy1070; + goto yy1115; } if (yych <= '\n') { - if (yych == '\t') goto yy1066; - goto yy1059; + if (yych == '\t') goto yy1111; + goto yy1104; } else { - if (yych <= '\f') goto yy1066; - if (yych <= 0x1F) goto yy1059; - goto yy1066; + if (yych <= '\f') goto yy1111; + if (yych <= 0x1F) goto yy1104; + goto yy1111; } -yy1064: +yy1109: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych != '"') goto yy1059; + if (yych != '"') goto yy1104; } else { - if (yych <= '\'') goto yy1065; - if (yych <= '/') goto yy1059; + if (yych <= '\'') goto yy1110; + if (yych <= '/') goto yy1104; } } else { if (yych <= 'T') { - if (yych != '?') goto yy1059; + if (yych != '?') goto yy1104; } else { - if (yych <= 'U') goto yy1072; - if (yych != '\\') goto yy1059; + if (yych <= 'U') goto yy1117; + if (yych != '\\') goto yy1104; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1065; - if (yych <= 'e') goto yy1059; + if (yych <= 'b') goto yy1110; + if (yych <= 'e') goto yy1104; } else { - if (yych == 'n') goto yy1065; - if (yych <= 'q') goto yy1059; + if (yych == 'n') goto yy1110; + if (yych <= 'q') goto yy1104; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1059; - if (yych >= 'u') goto yy1073; + if (yych <= 's') goto yy1104; + if (yych >= 'u') goto yy1118; } else { - if (yych <= 'v') goto yy1065; - if (yych == 'x') goto yy1074; - goto yy1059; + if (yych <= 'v') goto yy1110; + if (yych == 'x') goto yy1119; + goto yy1104; } } } -yy1065: +yy1110: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy1066: +yy1111: if (yybm[0+yych] & 32) { - goto yy1065; + goto yy1110; } - if (yych <= 0x1F) goto yy1067; - if (yych <= '"') goto yy1061; - if (yych <= '?') goto yy1068; - goto yy1069; -yy1067: + if (yych <= 0x1F) goto yy1112; + if (yych <= '"') goto yy1106; + if (yych <= '?') goto yy1113; + goto yy1114; +yy1112: YYCURSOR = YYMARKER; if (yyaccept == 0) { - goto yy1059; + goto yy1104; } else { - goto yy1062; + goto yy1107; } -yy1068: +yy1113: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { - goto yy1065; + goto yy1110; } - if (yych <= 0x1F) goto yy1067; - if (yych <= '"') goto yy1061; - if (yych <= '?') goto yy1070; -yy1069: + if (yych <= 0x1F) goto yy1112; + if (yych <= '"') goto yy1106; + if (yych <= '?') goto yy1115; +yy1114: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych == '"') goto yy1065; - goto yy1067; + if (yych == '"') goto yy1110; + goto yy1112; } else { - if (yych <= '\'') goto yy1065; - if (yych <= '/') goto yy1067; - goto yy1065; + if (yych <= '\'') goto yy1110; + if (yych <= '/') goto yy1112; + goto yy1110; } } else { if (yych <= 'T') { - if (yych == '?') goto yy1065; - goto yy1067; + if (yych == '?') goto yy1110; + goto yy1112; } else { - if (yych <= 'U') goto yy1072; - if (yych == '\\') goto yy1065; - goto yy1067; + if (yych <= 'U') goto yy1117; + if (yych == '\\') goto yy1110; + goto yy1112; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1065; - if (yych <= 'e') goto yy1067; - goto yy1065; + if (yych <= 'b') goto yy1110; + if (yych <= 'e') goto yy1112; + goto yy1110; } else { - if (yych == 'n') goto yy1065; - if (yych <= 'q') goto yy1067; - goto yy1065; + if (yych == 'n') goto yy1110; + if (yych <= 'q') goto yy1112; + goto yy1110; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1067; - if (yych <= 't') goto yy1065; - goto yy1073; + if (yych <= 's') goto yy1112; + if (yych <= 't') goto yy1110; + goto yy1118; } else { - if (yych <= 'v') goto yy1065; - if (yych == 'x') goto yy1074; - goto yy1067; + if (yych <= 'v') goto yy1110; + if (yych == 'x') goto yy1119; + goto yy1112; } } } -yy1070: +yy1115: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 64) { - goto yy1070; + goto yy1115; } if (yych <= '!') { if (yych <= '\n') { - if (yych == '\t') goto yy1065; - goto yy1067; + if (yych == '\t') goto yy1110; + goto yy1112; } else { - if (yych <= '\f') goto yy1065; - if (yych <= 0x1F) goto yy1067; - goto yy1065; + if (yych <= '\f') goto yy1110; + if (yych <= 0x1F) goto yy1112; + goto yy1110; } } else { if (yych <= '/') { - if (yych <= '"') goto yy1061; - if (yych <= '.') goto yy1065; - goto yy1075; + if (yych <= '"') goto yy1106; + if (yych <= '.') goto yy1110; + goto yy1120; } else { - if (yych == '\\') goto yy1069; - goto yy1065; + if (yych == '\\') goto yy1114; + goto yy1110; } } -yy1072: +yy1117: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1067; - if (yych <= '9') goto yy1077; - goto yy1067; + if (yych <= '/') goto yy1112; + if (yych <= '9') goto yy1122; + goto yy1112; } else { - if (yych <= 'F') goto yy1077; - if (yych <= '`') goto yy1067; - if (yych <= 'f') goto yy1077; - goto yy1067; + if (yych <= 'F') goto yy1122; + if (yych <= '`') goto yy1112; + if (yych <= 'f') goto yy1122; + goto yy1112; } -yy1073: +yy1118: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1067; - if (yych <= '9') goto yy1078; - goto yy1067; + if (yych <= '/') goto yy1112; + if (yych <= '9') goto yy1123; + goto yy1112; } else { - if (yych <= 'F') goto yy1078; - if (yych <= '`') goto yy1067; - if (yych <= 'f') goto yy1078; - goto yy1067; + if (yych <= 'F') goto yy1123; + if (yych <= '`') goto yy1112; + if (yych <= 'f') goto yy1123; + goto yy1112; } -yy1074: +yy1119: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1067; - if (yych <= '9') goto yy1065; - goto yy1067; + if (yych <= '/') goto yy1112; + if (yych <= '9') goto yy1110; + goto yy1112; } else { - if (yych <= 'F') goto yy1065; - if (yych <= '`') goto yy1067; - if (yych <= 'f') goto yy1065; - goto yy1067; + if (yych <= 'F') goto yy1110; + if (yych <= '`') goto yy1112; + if (yych <= 'f') goto yy1110; + goto yy1112; } -yy1075: +yy1120: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { - goto yy1065; + goto yy1110; } - if (yych <= 0x1F) goto yy1067; - if (yych <= '"') goto yy1079; - if (yych <= '?') goto yy1068; - goto yy1075; -yy1077: + if (yych <= 0x1F) goto yy1112; + if (yych <= '"') goto yy1124; + if (yych <= '?') goto yy1113; + goto yy1120; +yy1122: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1067; - if (yych <= '9') goto yy1080; - goto yy1067; + if (yych <= '/') goto yy1112; + if (yych <= '9') goto yy1125; + goto yy1112; } else { - if (yych <= 'F') goto yy1080; - if (yych <= '`') goto yy1067; - if (yych <= 'f') goto yy1080; - goto yy1067; + if (yych <= 'F') goto yy1125; + if (yych <= '`') goto yy1112; + if (yych <= 'f') goto yy1125; + goto yy1112; } -yy1078: +yy1123: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1067; - if (yych <= '9') goto yy1081; - goto yy1067; + if (yych <= '/') goto yy1112; + if (yych <= '9') goto yy1126; + goto yy1112; } else { - if (yych <= 'F') goto yy1081; - if (yych <= '`') goto yy1067; - if (yych <= 'f') goto yy1081; - goto yy1067; + if (yych <= 'F') goto yy1126; + if (yych <= '`') goto yy1112; + if (yych <= 'f') goto yy1126; + goto yy1112; } -yy1079: +yy1124: yyaccept = 1; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { - goto yy1065; + goto yy1110; } - if (yych <= 0x1F) goto yy1062; - if (yych <= '"') goto yy1061; - if (yych <= '?') goto yy1068; - goto yy1069; -yy1080: + if (yych <= 0x1F) goto yy1107; + if (yych <= '"') goto yy1106; + if (yych <= '?') goto yy1113; + goto yy1114; +yy1125: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1067; - if (yych <= '9') goto yy1082; - goto yy1067; + if (yych <= '/') goto yy1112; + if (yych <= '9') goto yy1127; + goto yy1112; } else { - if (yych <= 'F') goto yy1082; - if (yych <= '`') goto yy1067; - if (yych <= 'f') goto yy1082; - goto yy1067; + if (yych <= 'F') goto yy1127; + if (yych <= '`') goto yy1112; + if (yych <= 'f') goto yy1127; + goto yy1112; } -yy1081: +yy1126: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1067; - if (yych <= '9') goto yy1074; - goto yy1067; + if (yych <= '/') goto yy1112; + if (yych <= '9') goto yy1119; + goto yy1112; } else { - if (yych <= 'F') goto yy1074; - if (yych <= '`') goto yy1067; - if (yych <= 'f') goto yy1074; - goto yy1067; + if (yych <= 'F') goto yy1119; + if (yych <= '`') goto yy1112; + if (yych <= 'f') goto yy1119; + goto yy1112; } -yy1082: +yy1127: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1067; - if (yych <= '9') goto yy1073; - goto yy1067; + if (yych <= '/') goto yy1112; + if (yych <= '9') goto yy1118; + goto yy1112; } else { - if (yych <= 'F') goto yy1073; - if (yych <= '`') goto yy1067; - if (yych <= 'f') goto yy1073; - goto yy1067; + if (yych <= 'F') goto yy1118; + if (yych <= '`') goto yy1112; + if (yych <= 'f') goto yy1118; + goto yy1112; } } -#line 528 "cpp.re" +#line 536 "cpp.re" } @@ -7407,30 +7709,30 @@ extrawstringlit: // at this point we may see a delimiter -#line 7411 "cpp_re.inc" +#line 7713 "cpp_re.inc" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '(') { - if (yych <= 0x1F) goto yy1085; - if (yych <= '\'') goto yy1087; - goto yy1089; + if (yych <= 0x1F) goto yy1130; + if (yych <= '\'') goto yy1132; + goto yy1134; } else { - if (yych <= ')') goto yy1085; - if (yych != '\\') goto yy1087; + if (yych <= ')') goto yy1130; + if (yych != '\\') goto yy1132; } -yy1085: +yy1130: ++YYCURSOR; -#line 537 "cpp.re" +#line 545 "cpp.re" { (*s->error_proc)(s, lexing_exception::generic_lexing_error, "Invalid character in raw string delimiter ('%c')", yych); } -#line 7431 "cpp_re.inc" -yy1087: +#line 7733 "cpp_re.inc" +yy1132: ++YYCURSOR; -#line 544 "cpp.re" +#line 552 "cpp.re" { rawstringdelim += yych; if (rawstringdelim.size() > 16) @@ -7441,24 +7743,24 @@ yy1087: } goto extrawstringlit; } -#line 7445 "cpp_re.inc" -yy1089: +#line 7747 "cpp_re.inc" +yy1134: ++YYCURSOR; -#line 556 "cpp.re" +#line 564 "cpp.re" { rawstringdelim = ")" + rawstringdelim; goto extrawstringbody; } -#line 7453 "cpp_re.inc" +#line 7755 "cpp_re.inc" } -#line 561 "cpp.re" +#line 569 "cpp.re" } extrawstringbody: { -#line 7462 "cpp_re.inc" +#line 7764 "cpp_re.inc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -7499,56 +7801,56 @@ extrawstringbody: yych = *YYCURSOR; if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy1093; - if (yych <= '\t') goto yy1095; - goto yy1097; + if (yych <= 0x08) goto yy1138; + if (yych <= '\t') goto yy1140; + goto yy1142; } else { - if (yych <= '\f') goto yy1095; - if (yych <= '\r') goto yy1099; + if (yych <= '\f') goto yy1140; + if (yych <= '\r') goto yy1144; } } else { if (yych <= '>') { - if (yych == '"') goto yy1100; - goto yy1095; + if (yych == '"') goto yy1145; + goto yy1140; } else { - if (yych <= '?') goto yy1102; - if (yych == '\\') goto yy1103; - goto yy1095; + if (yych <= '?') goto yy1147; + if (yych == '\\') goto yy1148; + goto yy1140; } } -yy1093: +yy1138: ++YYCURSOR; -#line 568 "cpp.re" +#line 576 "cpp.re" { (*s->error_proc)(s, lexing_exception::generic_lexing_error, "Invalid character in raw string body ('%c')", yych); } -#line 7527 "cpp_re.inc" -yy1095: +#line 7829 "cpp_re.inc" +yy1140: ++YYCURSOR; -yy1096: -#line 581 "cpp.re" +yy1141: +#line 589 "cpp.re" { goto extrawstringbody; } -#line 7535 "cpp_re.inc" -yy1097: +#line 7837 "cpp_re.inc" +yy1142: ++YYCURSOR; -yy1098: -#line 574 "cpp.re" +yy1143: +#line 582 "cpp.re" { s->line += count_backslash_newlines(s, cursor) +1; cursor.column = 1; goto extrawstringbody; } -#line 7545 "cpp_re.inc" -yy1099: +#line 7847 "cpp_re.inc" +yy1144: yych = *++YYCURSOR; - if (yych == '\n') goto yy1097; - goto yy1098; -yy1100: + if (yych == '\n') goto yy1142; + goto yy1143; +yy1145: ++YYCURSOR; -#line 586 "cpp.re" +#line 594 "cpp.re" { // check to see if we have completed a delimiter if (string_type((char *)(YYCURSOR - rawstringdelim.size() - 1), @@ -7559,236 +7861,236 @@ yy1100: goto extrawstringbody; } } -#line 7563 "cpp_re.inc" -yy1102: +#line 7865 "cpp_re.inc" +yy1147: yych = *(YYMARKER = ++YYCURSOR); - if (yych == '?') goto yy1104; - goto yy1096; -yy1103: + if (yych == '?') goto yy1149; + goto yy1141; +yy1148: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych == '"') goto yy1095; - goto yy1096; + if (yych == '"') goto yy1140; + goto yy1141; } else { - if (yych <= '\'') goto yy1095; - if (yych <= '/') goto yy1096; - goto yy1106; + if (yych <= '\'') goto yy1140; + if (yych <= '/') goto yy1141; + goto yy1151; } } else { if (yych <= 'T') { - if (yych == '?') goto yy1107; - goto yy1096; + if (yych == '?') goto yy1152; + goto yy1141; } else { - if (yych <= 'U') goto yy1108; - if (yych == '\\') goto yy1095; - goto yy1096; + if (yych <= 'U') goto yy1153; + if (yych == '\\') goto yy1140; + goto yy1141; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1095; - if (yych <= 'e') goto yy1096; - goto yy1095; + if (yych <= 'b') goto yy1140; + if (yych <= 'e') goto yy1141; + goto yy1140; } else { - if (yych == 'n') goto yy1095; - if (yych <= 'q') goto yy1096; - goto yy1095; + if (yych == 'n') goto yy1140; + if (yych <= 'q') goto yy1141; + goto yy1140; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1096; - if (yych <= 't') goto yy1095; - goto yy1109; + if (yych <= 's') goto yy1141; + if (yych <= 't') goto yy1140; + goto yy1154; } else { - if (yych <= 'v') goto yy1095; - if (yych == 'x') goto yy1110; - goto yy1096; + if (yych <= 'v') goto yy1140; + if (yych == 'x') goto yy1155; + goto yy1141; } } } -yy1104: +yy1149: yych = *++YYCURSOR; - if (yych == '/') goto yy1111; -yy1105: + if (yych == '/') goto yy1156; +yy1150: YYCURSOR = YYMARKER; - goto yy1096; -yy1106: + goto yy1141; +yy1151: yych = *++YYCURSOR; - if (yych <= '/') goto yy1096; - if (yych <= '7') goto yy1112; - goto yy1096; -yy1107: + if (yych <= '/') goto yy1141; + if (yych <= '7') goto yy1157; + goto yy1141; +yy1152: yych = *(YYMARKER = ++YYCURSOR); - if (yych == '?') goto yy1113; - goto yy1096; -yy1108: + if (yych == '?') goto yy1158; + goto yy1141; +yy1153: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1105; - if (yych <= '9') goto yy1114; - goto yy1105; + if (yych <= '/') goto yy1150; + if (yych <= '9') goto yy1159; + goto yy1150; } else { - if (yych <= 'F') goto yy1114; - if (yych <= '`') goto yy1105; - if (yych <= 'f') goto yy1114; - goto yy1105; + if (yych <= 'F') goto yy1159; + if (yych <= '`') goto yy1150; + if (yych <= 'f') goto yy1159; + goto yy1150; } -yy1109: +yy1154: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1105; - if (yych <= '9') goto yy1115; - goto yy1105; + if (yych <= '/') goto yy1150; + if (yych <= '9') goto yy1160; + goto yy1150; } else { - if (yych <= 'F') goto yy1115; - if (yych <= '`') goto yy1105; - if (yych <= 'f') goto yy1115; - goto yy1105; + if (yych <= 'F') goto yy1160; + if (yych <= '`') goto yy1150; + if (yych <= 'f') goto yy1160; + goto yy1150; } -yy1110: +yy1155: yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy1116; + goto yy1161; } - goto yy1105; -yy1111: + goto yy1150; +yy1156: yych = *++YYCURSOR; if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych == '"') goto yy1095; - goto yy1105; + if (yych == '"') goto yy1140; + goto yy1150; } else { - if (yych <= '\'') goto yy1095; - if (yych <= '/') goto yy1105; - goto yy1106; + if (yych <= '\'') goto yy1140; + if (yych <= '/') goto yy1150; + goto yy1151; } } else { if (yych <= 'T') { - if (yych == '?') goto yy1107; - goto yy1105; + if (yych == '?') goto yy1152; + goto yy1150; } else { - if (yych <= 'U') goto yy1108; - if (yych == '\\') goto yy1095; - goto yy1105; + if (yych <= 'U') goto yy1153; + if (yych == '\\') goto yy1140; + goto yy1150; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1095; - if (yych <= 'e') goto yy1105; - goto yy1095; + if (yych <= 'b') goto yy1140; + if (yych <= 'e') goto yy1150; + goto yy1140; } else { - if (yych == 'n') goto yy1095; - if (yych <= 'q') goto yy1105; - goto yy1095; + if (yych == 'n') goto yy1140; + if (yych <= 'q') goto yy1150; + goto yy1140; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1105; - if (yych <= 't') goto yy1095; - goto yy1109; + if (yych <= 's') goto yy1150; + if (yych <= 't') goto yy1140; + goto yy1154; } else { - if (yych <= 'v') goto yy1095; - if (yych == 'x') goto yy1110; - goto yy1105; + if (yych <= 'v') goto yy1140; + if (yych == 'x') goto yy1155; + goto yy1150; } } } -yy1112: +yy1157: yych = *++YYCURSOR; - if (yych <= '/') goto yy1096; - if (yych <= '7') goto yy1095; - goto yy1096; -yy1113: + if (yych <= '/') goto yy1141; + if (yych <= '7') goto yy1140; + goto yy1141; +yy1158: yych = *++YYCURSOR; - if (yych == '/') goto yy1095; - goto yy1105; -yy1114: + if (yych == '/') goto yy1140; + goto yy1150; +yy1159: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1105; - if (yych <= '9') goto yy1118; - goto yy1105; + if (yych <= '/') goto yy1150; + if (yych <= '9') goto yy1163; + goto yy1150; } else { - if (yych <= 'F') goto yy1118; - if (yych <= '`') goto yy1105; - if (yych <= 'f') goto yy1118; - goto yy1105; + if (yych <= 'F') goto yy1163; + if (yych <= '`') goto yy1150; + if (yych <= 'f') goto yy1163; + goto yy1150; } -yy1115: +yy1160: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1105; - if (yych <= '9') goto yy1119; - goto yy1105; + if (yych <= '/') goto yy1150; + if (yych <= '9') goto yy1164; + goto yy1150; } else { - if (yych <= 'F') goto yy1119; - if (yych <= '`') goto yy1105; - if (yych <= 'f') goto yy1119; - goto yy1105; + if (yych <= 'F') goto yy1164; + if (yych <= '`') goto yy1150; + if (yych <= 'f') goto yy1164; + goto yy1150; } -yy1116: +yy1161: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { - goto yy1116; + goto yy1161; } - goto yy1096; -yy1118: + goto yy1141; +yy1163: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1105; - if (yych <= '9') goto yy1120; - goto yy1105; + if (yych <= '/') goto yy1150; + if (yych <= '9') goto yy1165; + goto yy1150; } else { - if (yych <= 'F') goto yy1120; - if (yych <= '`') goto yy1105; - if (yych <= 'f') goto yy1120; - goto yy1105; + if (yych <= 'F') goto yy1165; + if (yych <= '`') goto yy1150; + if (yych <= 'f') goto yy1165; + goto yy1150; } -yy1119: +yy1164: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1105; - if (yych <= '9') goto yy1121; - goto yy1105; + if (yych <= '/') goto yy1150; + if (yych <= '9') goto yy1166; + goto yy1150; } else { - if (yych <= 'F') goto yy1121; - if (yych <= '`') goto yy1105; - if (yych <= 'f') goto yy1121; - goto yy1105; + if (yych <= 'F') goto yy1166; + if (yych <= '`') goto yy1150; + if (yych <= 'f') goto yy1166; + goto yy1150; } -yy1120: +yy1165: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1105; - if (yych <= '9') goto yy1109; - goto yy1105; + if (yych <= '/') goto yy1150; + if (yych <= '9') goto yy1154; + goto yy1150; } else { - if (yych <= 'F') goto yy1109; - if (yych <= '`') goto yy1105; - if (yych <= 'f') goto yy1109; - goto yy1105; + if (yych <= 'F') goto yy1154; + if (yych <= '`') goto yy1150; + if (yych <= 'f') goto yy1154; + goto yy1150; } -yy1121: +yy1166: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1105; - if (yych <= '9') goto yy1095; - goto yy1105; + if (yych <= '/') goto yy1150; + if (yych <= '9') goto yy1140; + goto yy1150; } else { - if (yych <= 'F') goto yy1095; - if (yych <= '`') goto yy1105; - if (yych <= 'f') goto yy1095; - goto yy1105; + if (yych <= 'F') goto yy1140; + if (yych <= '`') goto yy1150; + if (yych <= 'f') goto yy1140; + goto yy1150; } } -#line 596 "cpp.re" +#line 604 "cpp.re" } diff --git a/include/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp b/include/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp index aefe73e51..51b404009 100644 --- a/include/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp +++ b/include/boost/wave/cpplexer/re2clex/cpp_re2c_lexer.hpp @@ -153,6 +153,14 @@ lexer::lexer(IteratorT const &first, #else scanner.act_in_cpp0x_mode = false; #endif + +#if BOOST_WAVE_SUPPORT_CPP2A != 0 + scanner.act_in_cpp2a_mode = boost::wave::need_cpp2a(language_); + scanner.act_in_cpp0x_mode = boost::wave::need_cpp2a(language_) + || boost::wave::need_cpp0x(language_); +#else + scanner.act_in_cpp2a_mode = false; +#endif } template diff --git a/include/boost/wave/cpplexer/re2clex/scanner.hpp b/include/boost/wave/cpplexer/re2clex/scanner.hpp index d2cb2f669..81e5428c9 100644 --- a/include/boost/wave/cpplexer/re2clex/scanner.hpp +++ b/include/boost/wave/cpplexer/re2clex/scanner.hpp @@ -74,6 +74,7 @@ struct Scanner { bool enable_import_keyword; /* recognize import as a keyword */ bool single_line_only; /* don't report missing eol's in C++ comments */ bool act_in_cpp0x_mode; /* lexer works in C++11 mode */ + bool act_in_cpp2a_mode; /* lexer works in C++20 mode */ }; /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/wave/cpplexer/re2clex/strict_cpp.re b/include/boost/wave/cpplexer/re2clex/strict_cpp.re index 70323ea29..280ebc5f0 100644 --- a/include/boost/wave/cpplexer/re2clex/strict_cpp.re +++ b/include/boost/wave/cpplexer/re2clex/strict_cpp.re @@ -53,13 +53,20 @@ NonDigit = [a-zA-Z_] | UniversalChar; "case" { BOOST_WAVE_RET(T_CASE); } "catch" { BOOST_WAVE_RET(T_CATCH); } "char" { BOOST_WAVE_RET(T_CHAR); } + "char8_t" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CHAR8_T : T_IDENTIFIER); } "char16_t" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR16_T : T_IDENTIFIER); } "char32_t" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR32_T : T_IDENTIFIER); } "class" { BOOST_WAVE_RET(T_CLASS); } + "concept" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONCEPT : T_IDENTIFIER); } "const" { BOOST_WAVE_RET(T_CONST); } + "consteval" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTEVAL : T_IDENTIFIER); } "constexpr" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CONSTEXPR : T_IDENTIFIER); } + "constinit" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTINIT : T_IDENTIFIER); } "const_cast" { BOOST_WAVE_RET(T_CONSTCAST); } "continue" { BOOST_WAVE_RET(T_CONTINUE); } + "co_await" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_AWAIT : T_IDENTIFIER); } + "co_return" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_RETURN : T_IDENTIFIER); } + "co_yield" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_YIELD : T_IDENTIFIER); } "decltype" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_DECLTYPE : T_IDENTIFIER); } "default" { BOOST_WAVE_RET(T_DEFAULT); } "delete" { BOOST_WAVE_RET(T_DELETE); } @@ -92,6 +99,7 @@ NonDigit = [a-zA-Z_] | UniversalChar; "public" { BOOST_WAVE_RET(T_PUBLIC); } "register" { BOOST_WAVE_RET(T_REGISTER); } "reinterpret_cast" { BOOST_WAVE_RET(T_REINTERPRETCAST); } + "requires" { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_REQUIRES : T_IDENTIFIER); } "return" { BOOST_WAVE_RET(T_RETURN); } "short" { BOOST_WAVE_RET(T_SHORT); } "signed" { BOOST_WAVE_RET(T_SIGNED); } diff --git a/include/boost/wave/cpplexer/re2clex/strict_cpp_re.inc b/include/boost/wave/cpplexer/re2clex/strict_cpp_re.inc index a49688e3f..46eb70848 100644 --- a/include/boost/wave/cpplexer/re2clex/strict_cpp_re.inc +++ b/include/boost/wave/cpplexer/re2clex/strict_cpp_re.inc @@ -1,4 +1,4 @@ -/* Generated by re2c 1.0.2 on Wed Mar 18 15:39:34 2020 */ +/* Generated by re2c 1.0.2 on Tue Aug 11 13:13:38 2020 */ #line 1 "strict_cpp.re" /*============================================================================= Boost.Wave: A Standard compliant C++ preprocessor library @@ -227,7 +227,7 @@ } yy2: ++YYCURSOR; -#line 335 "strict_cpp.re" +#line 343 "strict_cpp.re" { if (s->eof && cursor != s->eof) { @@ -240,7 +240,7 @@ yy2: #line 241 "strict_cpp_re.inc" yy4: ++YYCURSOR; -#line 348 "strict_cpp.re" +#line 356 "strict_cpp.re" { // flag the error BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor @@ -255,13 +255,13 @@ yy6: if (yybm[256+yych] & 64) { goto yy6; } -#line 325 "strict_cpp.re" +#line 333 "strict_cpp.re" { BOOST_WAVE_RET(T_SPACE); } #line 261 "strict_cpp_re.inc" yy9: ++YYCURSOR; yy10: -#line 328 "strict_cpp.re" +#line 336 "strict_cpp.re" { s->line++; cursor.column = 1; @@ -275,7 +275,7 @@ yy11: yy12: yych = *++YYCURSOR; if (yych == '=') goto yy96; -#line 201 "strict_cpp.re" +#line 209 "strict_cpp.re" { BOOST_WAVE_RET(T_NOT); } #line 281 "strict_cpp_re.inc" yy14: @@ -288,7 +288,7 @@ yy14: if (yych >= ' ') goto yy99; } yy15: -#line 345 "strict_cpp.re" +#line 353 "strict_cpp.re" { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); } #line 294 "strict_cpp_re.inc" yy16: @@ -329,7 +329,7 @@ yy16: } } yy17: -#line 150 "strict_cpp.re" +#line 158 "strict_cpp.re" { BOOST_WAVE_RET(T_POUND); } #line 335 "strict_cpp_re.inc" yy18: @@ -343,14 +343,14 @@ yy19: if (yych <= '=') goto yy121; if (yych <= '>') goto yy123; } -#line 189 "strict_cpp.re" +#line 197 "strict_cpp.re" { BOOST_WAVE_RET(T_PERCENT); } #line 349 "strict_cpp_re.inc" yy21: yych = *++YYCURSOR; if (yych == '&') goto yy125; if (yych == '=') goto yy127; -#line 193 "strict_cpp.re" +#line 201 "strict_cpp.re" { BOOST_WAVE_RET(T_AND); } #line 356 "strict_cpp_re.inc" yy23: @@ -367,30 +367,30 @@ yy23: } yy24: ++YYCURSOR; -#line 158 "strict_cpp.re" +#line 166 "strict_cpp.re" { BOOST_WAVE_RET(T_LEFTPAREN); } #line 373 "strict_cpp_re.inc" yy26: ++YYCURSOR; -#line 159 "strict_cpp.re" +#line 167 "strict_cpp.re" { BOOST_WAVE_RET(T_RIGHTPAREN); } #line 378 "strict_cpp_re.inc" yy28: yych = *++YYCURSOR; if (yych == '=') goto yy133; -#line 187 "strict_cpp.re" +#line 195 "strict_cpp.re" { BOOST_WAVE_RET(T_STAR); } #line 384 "strict_cpp_re.inc" yy30: yych = *++YYCURSOR; if (yych == '+') goto yy135; if (yych == '=') goto yy137; -#line 185 "strict_cpp.re" +#line 193 "strict_cpp.re" { BOOST_WAVE_RET(T_PLUS); } #line 391 "strict_cpp_re.inc" yy32: ++YYCURSOR; -#line 237 "strict_cpp.re" +#line 245 "strict_cpp.re" { BOOST_WAVE_RET(T_COMMA); } #line 396 "strict_cpp_re.inc" yy34: @@ -401,7 +401,7 @@ yy34: if (yych <= '=') goto yy141; if (yych <= '>') goto yy143; } -#line 186 "strict_cpp.re" +#line 194 "strict_cpp.re" { BOOST_WAVE_RET(T_MINUS); } #line 407 "strict_cpp_re.inc" yy36: @@ -415,7 +415,7 @@ yy36: if (yych <= '9') goto yy40; } yy37: -#line 174 "strict_cpp.re" +#line 182 "strict_cpp.re" { BOOST_WAVE_RET(T_DOT); } #line 421 "strict_cpp_re.inc" yy38: @@ -426,7 +426,7 @@ yy38: if (yych <= '/') goto yy150; if (yych == '=') goto yy152; } -#line 188 "strict_cpp.re" +#line 196 "strict_cpp.re" { BOOST_WAVE_RET(T_DIVIDE); } #line 432 "strict_cpp_re.inc" yy40: @@ -438,12 +438,12 @@ yy42: yych = *++YYCURSOR; if (yych == ':') goto yy154; if (yych == '>') goto yy156; -#line 161 "strict_cpp.re" +#line 169 "strict_cpp.re" { BOOST_WAVE_RET(T_COLON); } #line 444 "strict_cpp_re.inc" yy44: ++YYCURSOR; -#line 160 "strict_cpp.re" +#line 168 "strict_cpp.re" { BOOST_WAVE_RET(T_SEMICOLON); } #line 449 "strict_cpp_re.inc" yy46: @@ -457,13 +457,13 @@ yy46: if (yych <= '=') goto yy164; } yy47: -#line 204 "strict_cpp.re" +#line 212 "strict_cpp.re" { BOOST_WAVE_RET(T_LESS); } #line 463 "strict_cpp_re.inc" yy48: yych = *++YYCURSOR; if (yych == '=') goto yy166; -#line 203 "strict_cpp.re" +#line 211 "strict_cpp.re" { BOOST_WAVE_RET(T_ASSIGN); } #line 469 "strict_cpp_re.inc" yy50: @@ -472,7 +472,7 @@ yy50: if (yych <= '=') goto yy168; if (yych <= '>') goto yy170; yy51: -#line 205 "strict_cpp.re" +#line 213 "strict_cpp.re" { BOOST_WAVE_RET(T_GREATER); } #line 478 "strict_cpp_re.inc" yy52: @@ -480,7 +480,7 @@ yy52: yych = *(YYMARKER = ++YYCURSOR); if (yych == '?') goto yy172; yy53: -#line 163 "strict_cpp.re" +#line 171 "strict_cpp.re" { BOOST_WAVE_RET(T_QUESTION_MARK); } #line 486 "strict_cpp_re.inc" yy54: @@ -495,7 +495,7 @@ yy55: if (yych == '?') goto yy173; if (yych == '\\') goto yy174; yy56: -#line 296 "strict_cpp.re" +#line 304 "strict_cpp.re" { BOOST_WAVE_RET(T_IDENTIFIER); } #line 501 "strict_cpp_re.inc" yy57: @@ -526,7 +526,7 @@ yy59: } yy60: ++YYCURSOR; -#line 144 "strict_cpp.re" +#line 152 "strict_cpp.re" { BOOST_WAVE_RET(T_LEFTBRACKET); } #line 532 "strict_cpp_re.inc" yy62: @@ -537,13 +537,13 @@ yy62: goto yy15; yy63: ++YYCURSOR; -#line 147 "strict_cpp.re" +#line 155 "strict_cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACKET); } #line 543 "strict_cpp_re.inc" yy65: yych = *++YYCURSOR; if (yych == '=') goto yy185; -#line 190 "strict_cpp.re" +#line 198 "strict_cpp.re" { BOOST_WAVE_RET(T_XOR); } #line 549 "strict_cpp_re.inc" yy67: @@ -740,7 +740,7 @@ yy87: goto yy55; yy88: ++YYCURSOR; -#line 138 "strict_cpp.re" +#line 146 "strict_cpp.re" { BOOST_WAVE_RET(T_LEFTBRACE); } #line 746 "strict_cpp_re.inc" yy90: @@ -753,22 +753,22 @@ yy90: if (yych == '|') goto yy253; } yy91: -#line 195 "strict_cpp.re" +#line 203 "strict_cpp.re" { BOOST_WAVE_RET(T_OR); } #line 759 "strict_cpp_re.inc" yy92: ++YYCURSOR; -#line 141 "strict_cpp.re" +#line 149 "strict_cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACE); } #line 764 "strict_cpp_re.inc" yy94: ++YYCURSOR; -#line 198 "strict_cpp.re" +#line 206 "strict_cpp.re" { BOOST_WAVE_RET(T_COMPL); } #line 769 "strict_cpp_re.inc" yy96: ++YYCURSOR; -#line 224 "strict_cpp.re" +#line 232 "strict_cpp.re" { BOOST_WAVE_RET(T_NOTEQUAL); } #line 774 "strict_cpp_re.inc" yy98: @@ -785,9 +785,9 @@ yy99: goto yy104; yy100: YYCURSOR = YYMARKER; - if (yyaccept <= 56) { - if (yyaccept <= 28) { - if (yyaccept <= 14) { + if (yyaccept <= 60) { + if (yyaccept <= 30) { + if (yyaccept <= 15) { if (yyaccept <= 7) { if (yyaccept <= 3) { if (yyaccept <= 1) { @@ -841,397 +841,429 @@ yy100: goto yy306; } } else { - goto yy328; + if (yyaccept == 14) { + goto yy328; + } else { + goto yy330; + } } } } } else { - if (yyaccept <= 21) { - if (yyaccept <= 18) { - if (yyaccept <= 16) { - if (yyaccept == 15) { - goto yy330; + if (yyaccept <= 23) { + if (yyaccept <= 19) { + if (yyaccept <= 17) { + if (yyaccept == 16) { + goto yy354; } else { - goto yy353; + goto yy360; } } else { - if (yyaccept == 17) { - goto yy359; + if (yyaccept == 18) { + goto yy365; } else { - goto yy364; + goto yy368; } } } else { - if (yyaccept <= 20) { - if (yyaccept == 19) { - goto yy367; + if (yyaccept <= 21) { + if (yyaccept == 20) { + goto yy390; } else { - goto yy388; + goto yy401; } } else { - goto yy399; + if (yyaccept == 22) { + goto yy448; + } else { + goto yy458; + } } } } else { - if (yyaccept <= 25) { - if (yyaccept <= 23) { - if (yyaccept == 22) { - goto yy446; + if (yyaccept <= 27) { + if (yyaccept <= 25) { + if (yyaccept == 24) { + goto yy462; } else { - goto yy456; + goto yy465; } } else { - if (yyaccept == 24) { - goto yy460; + if (yyaccept == 26) { + goto yy468; } else { - goto yy463; + goto yy483; } } } else { - if (yyaccept <= 27) { - if (yyaccept == 26) { - goto yy466; + if (yyaccept <= 29) { + if (yyaccept == 28) { + goto yy485; } else { - goto yy477; + goto yy493; } } else { - goto yy479; + goto yy497; } } } } } else { - if (yyaccept <= 42) { - if (yyaccept <= 35) { - if (yyaccept <= 32) { - if (yyaccept <= 30) { - if (yyaccept == 29) { - goto yy487; + if (yyaccept <= 45) { + if (yyaccept <= 38) { + if (yyaccept <= 34) { + if (yyaccept <= 32) { + if (yyaccept == 31) { + goto yy520; } else { - goto yy491; + goto yy524; } } else { - if (yyaccept == 31) { - goto yy513; + if (yyaccept == 33) { + goto yy531; } else { - goto yy517; + goto yy102; } } } else { - if (yyaccept <= 34) { - if (yyaccept == 33) { - goto yy524; + if (yyaccept <= 36) { + if (yyaccept == 35) { + goto yy277; } else { - goto yy102; + goto yy570; } } else { - goto yy277; + if (yyaccept == 37) { + goto yy581; + } else { + goto yy583; + } } } } else { - if (yyaccept <= 39) { - if (yyaccept <= 37) { - if (yyaccept == 36) { - goto yy563; + if (yyaccept <= 42) { + if (yyaccept <= 40) { + if (yyaccept == 39) { + goto yy585; } else { - goto yy574; + goto yy590; } } else { - if (yyaccept == 38) { - goto yy576; + if (yyaccept == 41) { + goto yy595; } else { - goto yy578; + goto yy598; } } } else { - if (yyaccept <= 41) { - if (yyaccept == 40) { - goto yy582; + if (yyaccept <= 44) { + if (yyaccept == 43) { + goto yy609; } else { - goto yy584; + goto yy611; } } else { - goto yy586; + goto yy622; } } } } else { - if (yyaccept <= 49) { - if (yyaccept <= 46) { - if (yyaccept <= 44) { - if (yyaccept == 43) { - goto yy597; + if (yyaccept <= 53) { + if (yyaccept <= 49) { + if (yyaccept <= 47) { + if (yyaccept == 46) { + goto yy631; } else { - goto yy599; + goto yy640; } } else { - if (yyaccept == 45) { - goto yy610; + if (yyaccept == 48) { + goto yy645; } else { - goto yy618; + goto yy648; } } } else { - if (yyaccept <= 48) { - if (yyaccept == 47) { - goto yy627; + if (yyaccept <= 51) { + if (yyaccept == 50) { + goto yy653; } else { - goto yy632; + goto yy682; } } else { - goto yy635; + if (yyaccept == 52) { + goto yy685; + } else { + goto yy687; + } } } } else { - if (yyaccept <= 53) { - if (yyaccept <= 51) { - if (yyaccept == 50) { - goto yy640; + if (yyaccept <= 57) { + if (yyaccept <= 55) { + if (yyaccept == 54) { + goto yy695; } else { - goto yy669; + goto yy697; } } else { - if (yyaccept == 52) { - goto yy672; + if (yyaccept == 56) { + goto yy712; } else { - goto yy674; + goto yy714; } } } else { - if (yyaccept <= 55) { - if (yyaccept == 54) { - goto yy682; + if (yyaccept <= 59) { + if (yyaccept == 58) { + goto yy718; } else { - goto yy684; + goto yy720; } } else { - goto yy693; + goto yy722; } } } } } } else { - if (yyaccept <= 85) { - if (yyaccept <= 71) { - if (yyaccept <= 64) { - if (yyaccept <= 60) { - if (yyaccept <= 58) { - if (yyaccept == 57) { - goto yy695; + if (yyaccept <= 91) { + if (yyaccept <= 76) { + if (yyaccept <= 68) { + if (yyaccept <= 64) { + if (yyaccept <= 62) { + if (yyaccept == 61) { + goto yy724; } else { - goto yy699; + goto yy726; } } else { - if (yyaccept == 59) { - goto yy701; + if (yyaccept == 63) { + goto yy731; } else { - goto yy703; + goto yy737; } } } else { - if (yyaccept <= 62) { - if (yyaccept == 61) { - goto yy705; + if (yyaccept <= 66) { + if (yyaccept == 65) { + goto yy742; } else { - goto yy707; + goto yy744; } } else { - if (yyaccept == 63) { - goto yy712; + if (yyaccept == 67) { + goto yy746; } else { - goto yy718; + goto yy748; } } } } else { - if (yyaccept <= 68) { - if (yyaccept <= 66) { - if (yyaccept == 65) { - goto yy722; + if (yyaccept <= 72) { + if (yyaccept <= 70) { + if (yyaccept == 69) { + goto yy750; } else { - goto yy724; + goto yy752; } } else { - if (yyaccept == 67) { - goto yy726; + if (yyaccept == 71) { + goto yy757; } else { - goto yy728; + goto yy764; } } } else { - if (yyaccept <= 70) { - if (yyaccept == 69) { - goto yy730; + if (yyaccept <= 74) { + if (yyaccept == 73) { + goto yy779; } else { - goto yy732; + goto yy781; } } else { - goto yy737; + if (yyaccept == 75) { + goto yy783; + } else { + goto yy785; + } } } } } else { - if (yyaccept <= 78) { - if (yyaccept <= 75) { - if (yyaccept <= 73) { - if (yyaccept == 72) { - goto yy744; + if (yyaccept <= 84) { + if (yyaccept <= 80) { + if (yyaccept <= 78) { + if (yyaccept == 77) { + goto yy789; } else { - goto yy759; + goto yy792; } } else { - if (yyaccept == 74) { - goto yy761; + if (yyaccept == 79) { + goto yy794; } else { - goto yy763; + goto yy798; } } } else { - if (yyaccept <= 77) { - if (yyaccept == 76) { - goto yy765; + if (yyaccept <= 82) { + if (yyaccept == 81) { + goto yy803; } else { - goto yy769; + goto yy811; } } else { - goto yy772; + if (yyaccept == 83) { + goto yy815; + } else { + goto yy819; + } } } } else { - if (yyaccept <= 82) { - if (yyaccept <= 80) { - if (yyaccept == 79) { - goto yy774; + if (yyaccept <= 88) { + if (yyaccept <= 86) { + if (yyaccept == 85) { + goto yy822; } else { - goto yy782; + goto yy831; } } else { - if (yyaccept == 81) { - goto yy786; + if (yyaccept == 87) { + goto yy835; } else { - goto yy790; + goto yy838; } } } else { - if (yyaccept <= 84) { - if (yyaccept == 83) { - goto yy793; + if (yyaccept <= 90) { + if (yyaccept == 89) { + goto yy841; } else { - goto yy801; + goto yy845; } } else { - goto yy805; + goto yy850; } } } } } else { - if (yyaccept <= 99) { - if (yyaccept <= 92) { - if (yyaccept <= 89) { - if (yyaccept <= 87) { - if (yyaccept == 86) { - goto yy808; + if (yyaccept <= 106) { + if (yyaccept <= 99) { + if (yyaccept <= 95) { + if (yyaccept <= 93) { + if (yyaccept == 92) { + goto yy852; } else { - goto yy811; + goto yy854; } } else { - if (yyaccept == 88) { - goto yy815; + if (yyaccept == 94) { + goto yy856; } else { - goto yy820; + goto yy859; } } } else { - if (yyaccept <= 91) { - if (yyaccept == 90) { - goto yy822; - } else { - goto yy824; - } - } else { - goto yy828; - } - } - } else { - if (yyaccept <= 96) { - if (yyaccept <= 94) { - if (yyaccept == 93) { - goto yy830; + if (yyaccept <= 97) { + if (yyaccept == 96) { + goto yy865; } else { - goto yy833; + goto yy867; } } else { - if (yyaccept == 95) { - goto yy836; - } else { - goto yy838; - } - } - } else { - if (yyaccept <= 98) { - if (yyaccept == 97) { - goto yy841; + if (yyaccept == 98) { + goto yy870; } else { - goto yy846; + goto yy873; } - } else { - goto yy849; } } - } - } else { - if (yyaccept <= 106) { + } else { if (yyaccept <= 103) { if (yyaccept <= 101) { if (yyaccept == 100) { - goto yy851; + goto yy875; } else { - goto yy853; + goto yy878; } } else { if (yyaccept == 102) { - goto yy862; + goto yy881; } else { - goto yy864; + goto yy885; } } } else { if (yyaccept <= 105) { if (yyaccept == 104) { - goto yy866; + goto yy888; } else { - goto yy869; + goto yy890; } } else { - goto yy872; + goto yy892; } } - } else { + } + } else { + if (yyaccept <= 114) { if (yyaccept <= 110) { if (yyaccept <= 108) { if (yyaccept == 107) { - goto yy874; + goto yy901; } else { - goto yy889; + goto yy903; } } else { if (yyaccept == 109) { - goto yy906; + goto yy905; } else { - goto yy910; + goto yy907; } } } else { if (yyaccept <= 112) { if (yyaccept == 111) { + goto yy910; + } else { + goto yy912; + } + } else { + if (yyaccept == 113) { goto yy914; } else { goto yy917; } + } + } + } else { + if (yyaccept <= 118) { + if (yyaccept <= 116) { + if (yyaccept == 115) { + goto yy919; + } else { + goto yy934; + } + } else { + if (yyaccept == 117) { + goto yy951; + } else { + goto yy955; + } + } + } else { + if (yyaccept <= 120) { + if (yyaccept == 119) { + goto yy959; + } else { + goto yy962; + } } else { - goto yy921; + goto yy966; } } } @@ -1241,9 +1273,9 @@ yy100: yy101: ++YYCURSOR; yy102: -#line 255 "strict_cpp.re" +#line 263 "strict_cpp.re" { BOOST_WAVE_RET(T_STRINGLIT); } -#line 1247 "strict_cpp_re.inc" +#line 1279 "strict_cpp_re.inc" yy103: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -1349,9 +1381,9 @@ yy106: } yy107: ++YYCURSOR; -#line 153 "strict_cpp.re" +#line 161 "strict_cpp.re" { BOOST_WAVE_RET(T_POUND_POUND); } -#line 1355 "strict_cpp_re.inc" +#line 1387 "strict_cpp_re.inc" yy109: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -1438,29 +1470,29 @@ yy119: } } yy120: -#line 151 "strict_cpp.re" +#line 159 "strict_cpp.re" { BOOST_WAVE_RET(T_POUND_ALT); } -#line 1444 "strict_cpp_re.inc" +#line 1476 "strict_cpp_re.inc" yy121: ++YYCURSOR; -#line 210 "strict_cpp.re" +#line 218 "strict_cpp.re" { BOOST_WAVE_RET(T_PERCENTASSIGN); } -#line 1449 "strict_cpp_re.inc" +#line 1481 "strict_cpp_re.inc" yy123: ++YYCURSOR; -#line 143 "strict_cpp.re" +#line 151 "strict_cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACE_ALT); } -#line 1454 "strict_cpp_re.inc" +#line 1486 "strict_cpp_re.inc" yy125: ++YYCURSOR; -#line 228 "strict_cpp.re" +#line 236 "strict_cpp.re" { BOOST_WAVE_RET(T_ANDAND); } -#line 1459 "strict_cpp_re.inc" +#line 1491 "strict_cpp_re.inc" yy127: ++YYCURSOR; -#line 214 "strict_cpp.re" +#line 222 "strict_cpp.re" { BOOST_WAVE_RET(T_ANDASSIGN); } -#line 1464 "strict_cpp_re.inc" +#line 1496 "strict_cpp_re.inc" yy129: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -1531,38 +1563,38 @@ yy132: } yy133: ++YYCURSOR; -#line 208 "strict_cpp.re" +#line 216 "strict_cpp.re" { BOOST_WAVE_RET(T_STARASSIGN); } -#line 1537 "strict_cpp_re.inc" +#line 1569 "strict_cpp_re.inc" yy135: ++YYCURSOR; -#line 235 "strict_cpp.re" +#line 243 "strict_cpp.re" { BOOST_WAVE_RET(T_PLUSPLUS); } -#line 1542 "strict_cpp_re.inc" +#line 1574 "strict_cpp_re.inc" yy137: ++YYCURSOR; -#line 206 "strict_cpp.re" +#line 214 "strict_cpp.re" { BOOST_WAVE_RET(T_PLUSASSIGN); } -#line 1547 "strict_cpp_re.inc" +#line 1579 "strict_cpp_re.inc" yy139: ++YYCURSOR; -#line 236 "strict_cpp.re" +#line 244 "strict_cpp.re" { BOOST_WAVE_RET(T_MINUSMINUS); } -#line 1552 "strict_cpp_re.inc" +#line 1584 "strict_cpp_re.inc" yy141: ++YYCURSOR; -#line 207 "strict_cpp.re" +#line 215 "strict_cpp.re" { BOOST_WAVE_RET(T_MINUSASSIGN); } -#line 1557 "strict_cpp_re.inc" +#line 1589 "strict_cpp_re.inc" yy143: yych = *++YYCURSOR; if (yych == '*') goto yy283; -#line 248 "strict_cpp.re" +#line 256 "strict_cpp.re" { BOOST_WAVE_RET(T_ARROW); } -#line 1563 "strict_cpp_re.inc" +#line 1595 "strict_cpp_re.inc" yy145: ++YYCURSOR; -#line 176 "strict_cpp.re" +#line 184 "strict_cpp.re" { if (s->act_in_c99_mode) { --YYCURSOR; @@ -1572,7 +1604,7 @@ yy145: BOOST_WAVE_RET(T_DOTSTAR); } } -#line 1576 "strict_cpp_re.inc" +#line 1608 "strict_cpp_re.inc" yy147: yych = *++YYCURSOR; if (yych == '.') goto yy285; @@ -1581,20 +1613,20 @@ yy148: ++YYCURSOR; #line 43 "strict_cpp.re" { goto ccomment; } -#line 1585 "strict_cpp_re.inc" +#line 1617 "strict_cpp_re.inc" yy150: ++YYCURSOR; #line 44 "strict_cpp.re" { goto cppcomment; } -#line 1590 "strict_cpp_re.inc" +#line 1622 "strict_cpp_re.inc" yy152: ++YYCURSOR; -#line 209 "strict_cpp.re" +#line 217 "strict_cpp.re" { BOOST_WAVE_RET(T_DIVIDEASSIGN); } -#line 1595 "strict_cpp_re.inc" +#line 1627 "strict_cpp_re.inc" yy154: ++YYCURSOR; -#line 165 "strict_cpp.re" +#line 173 "strict_cpp.re" { if (s->act_in_c99_mode) { --YYCURSOR; @@ -1604,49 +1636,49 @@ yy154: BOOST_WAVE_RET(T_COLON_COLON); } } -#line 1608 "strict_cpp_re.inc" +#line 1640 "strict_cpp_re.inc" yy156: ++YYCURSOR; -#line 149 "strict_cpp.re" +#line 157 "strict_cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACKET_ALT); } -#line 1613 "strict_cpp_re.inc" +#line 1645 "strict_cpp_re.inc" yy158: ++YYCURSOR; -#line 140 "strict_cpp.re" +#line 148 "strict_cpp.re" { BOOST_WAVE_RET(T_LEFTBRACE_ALT); } -#line 1618 "strict_cpp_re.inc" +#line 1650 "strict_cpp_re.inc" yy160: ++YYCURSOR; -#line 146 "strict_cpp.re" +#line 154 "strict_cpp.re" { BOOST_WAVE_RET(T_LEFTBRACKET_ALT); } -#line 1623 "strict_cpp_re.inc" +#line 1655 "strict_cpp_re.inc" yy162: yych = *++YYCURSOR; if (yych == '=') goto yy287; -#line 219 "strict_cpp.re" +#line 227 "strict_cpp.re" { BOOST_WAVE_RET(T_SHIFTLEFT); } -#line 1629 "strict_cpp_re.inc" +#line 1661 "strict_cpp_re.inc" yy164: ++YYCURSOR; -#line 226 "strict_cpp.re" +#line 234 "strict_cpp.re" { BOOST_WAVE_RET(T_LESSEQUAL); } -#line 1634 "strict_cpp_re.inc" +#line 1666 "strict_cpp_re.inc" yy166: ++YYCURSOR; -#line 223 "strict_cpp.re" +#line 231 "strict_cpp.re" { BOOST_WAVE_RET(T_EQUAL); } -#line 1639 "strict_cpp_re.inc" +#line 1671 "strict_cpp_re.inc" yy168: ++YYCURSOR; -#line 227 "strict_cpp.re" +#line 235 "strict_cpp.re" { BOOST_WAVE_RET(T_GREATEREQUAL); } -#line 1644 "strict_cpp_re.inc" +#line 1676 "strict_cpp_re.inc" yy170: yych = *++YYCURSOR; if (yych == '=') goto yy289; -#line 220 "strict_cpp.re" +#line 228 "strict_cpp.re" { BOOST_WAVE_RET(T_SHIFTRIGHT); } -#line 1650 "strict_cpp_re.inc" +#line 1682 "strict_cpp_re.inc" yy172: yych = *++YYCURSOR; switch (yych) { @@ -1680,7 +1712,7 @@ yy175: goto yy130; yy176: ++YYCURSOR; -#line 258 "strict_cpp.re" +#line 266 "strict_cpp.re" { if (s->act_in_cpp0x_mode) { @@ -1690,27 +1722,27 @@ yy176: --YYCURSOR; BOOST_WAVE_RET(T_IDENTIFIER); } -#line 1694 "strict_cpp_re.inc" +#line 1726 "strict_cpp_re.inc" yy178: ++YYCURSOR; -#line 277 "strict_cpp.re" +#line 285 "strict_cpp.re" { if (s->act_in_cpp0x_mode) goto extstringlit; --YYCURSOR; BOOST_WAVE_RET(T_IDENTIFIER); } -#line 1704 "strict_cpp_re.inc" +#line 1736 "strict_cpp_re.inc" yy180: ++YYCURSOR; -#line 269 "strict_cpp.re" +#line 277 "strict_cpp.re" { if (s->act_in_cpp0x_mode) goto extcharlit; --YYCURSOR; BOOST_WAVE_RET(T_IDENTIFIER); } -#line 1714 "strict_cpp_re.inc" +#line 1746 "strict_cpp_re.inc" yy182: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); @@ -1746,9 +1778,9 @@ yy184: } yy185: ++YYCURSOR; -#line 211 "strict_cpp.re" +#line 219 "strict_cpp.re" { BOOST_WAVE_RET(T_XORASSIGN); } -#line 1752 "strict_cpp_re.inc" +#line 1784 "strict_cpp_re.inc" yy187: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); @@ -1855,19 +1887,23 @@ yy204: yy205: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'l') goto yy55; - if (yych <= 'm') goto yy339; - if (yych <= 'n') goto yy340; - goto yy55; + if (yych <= 'l') { + if (yych == '_') goto yy339; + goto yy55; + } else { + if (yych <= 'm') goto yy340; + if (yych <= 'n') goto yy341; + goto yy55; + } yy206: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'e') { - if (yych == 'c') goto yy341; + if (yych == 'c') goto yy342; goto yy55; } else { - if (yych <= 'f') goto yy342; - if (yych == 'l') goto yy343; + if (yych <= 'f') goto yy343; + if (yych == 'l') goto yy344; goto yy55; } yy207: @@ -1887,59 +1923,59 @@ yy207: if (yych <= '\\') goto yy174; if (yych == '_') goto yy54; } else { - if (yych == 'u') goto yy344; + if (yych == 'u') goto yy345; if (yych <= 'z') goto yy54; } } yy208: -#line 66 "strict_cpp.re" +#line 73 "strict_cpp.re" { BOOST_WAVE_RET(T_DO); } -#line 1898 "strict_cpp_re.inc" +#line 1934 "strict_cpp_re.inc" yy209: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy345; + if (yych == 'n') goto yy346; goto yy55; yy210: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy346; + if (yych == 's') goto yy347; goto yy55; yy211: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy347; + if (yych == 'u') goto yy348; goto yy55; yy212: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy348; - if (yych == 't') goto yy349; + if (yych == 'p') goto yy349; + if (yych == 't') goto yy350; goto yy55; yy213: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy350; + if (yych == 'l') goto yy351; goto yy55; yy214: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy351; + if (yych == 'o') goto yy352; goto yy55; yy215: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy352; + if (yych == 'r') goto yy353; goto yy55; yy216: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy354; + if (yych == 'i') goto yy355; goto yy55; yy217: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy355; + if (yych == 't') goto yy356; goto yy55; yy218: yyaccept = 8; @@ -1950,55 +1986,55 @@ yy218: if (yych == '?') goto yy173; if (yych == '\\') goto yy174; yy219: -#line 79 "strict_cpp.re" +#line 86 "strict_cpp.re" { BOOST_WAVE_RET(T_IF); } -#line 1956 "strict_cpp_re.inc" +#line 1992 "strict_cpp_re.inc" yy220: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy356; + if (yych == 'p') goto yy357; goto yy55; yy221: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy357; - if (yych == 't') goto yy358; + if (yych == 'l') goto yy358; + if (yych == 't') goto yy359; goto yy55; yy222: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy360; + if (yych == 'n') goto yy361; goto yy55; yy223: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy361; + if (yych == 't') goto yy362; goto yy55; yy224: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy362; + if (yych == 'm') goto yy363; goto yy55; yy225: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'w') goto yy363; + if (yych == 'w') goto yy364; goto yy55; yy226: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy365; - if (yych == 't') goto yy366; + if (yych == 'e') goto yy366; + if (yych == 't') goto yy367; goto yy55; yy227: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy368; + if (yych == 'l') goto yy369; goto yy55; yy228: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy369; + if (yych == 'e') goto yy370; goto yy55; yy229: yyaccept = 9; @@ -2015,80 +2051,79 @@ yy229: if (yych <= '^') { if (yych == '\\') goto yy174; } else { - if (yych <= '_') goto yy370; + if (yych <= '_') goto yy371; if (yych <= '`') goto yy230; if (yych <= 'z') goto yy54; } } yy230: -#line 233 "strict_cpp.re" +#line 241 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_OROR_ALT); } -#line 2027 "strict_cpp_re.inc" +#line 2063 "strict_cpp_re.inc" yy231: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy371; - if (yych == 'o') goto yy372; + if (yych == 'i') goto yy372; + if (yych == 'o') goto yy373; goto yy55; yy232: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'b') goto yy373; + if (yych == 'b') goto yy374; goto yy55; yy233: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'h') { - if (yych == 'g') goto yy374; - goto yy55; - } else { - if (yych <= 'i') goto yy375; - if (yych == 't') goto yy376; - goto yy55; + switch (yych) { + case 'g': goto yy375; + case 'i': goto yy376; + case 'q': goto yy377; + case 't': goto yy378; + default: goto yy55; } yy234: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy377; + if (yych == 'o') goto yy379; goto yy55; yy235: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy378; - if (yych == 'z') goto yy379; + if (yych == 'g') goto yy380; + if (yych == 'z') goto yy381; goto yy55; yy236: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy380; - if (yych == 'r') goto yy381; + if (yych == 'a') goto yy382; + if (yych == 'r') goto yy383; goto yy55; yy237: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy382; + if (yych == 'i') goto yy384; goto yy55; yy238: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy383; + if (yych == 'm') goto yy385; goto yy55; yy239: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy384; - if (yych == 'r') goto yy385; + if (yych == 'i') goto yy386; + if (yych == 'r') goto yy387; goto yy55; yy240: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy386; - if (yych == 'y') goto yy387; + if (yych == 'u') goto yy388; + if (yych == 'y') goto yy389; goto yy55; yy241: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy389; + if (yych == 'p') goto yy391; goto yy55; yy242: yyaccept = 4; @@ -2099,54 +2134,54 @@ yy242: yy243: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy390; - if (yych == 's') goto yy391; + if (yych == 'i') goto yy392; + if (yych == 's') goto yy393; goto yy55; yy244: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy392; + if (yych == 'i') goto yy394; goto yy55; yy245: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy393; + if (yych == 'r') goto yy395; goto yy55; yy246: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy394; - if (yych == 'l') goto yy395; + if (yych == 'i') goto yy396; + if (yych == 'l') goto yy397; goto yy55; yy247: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'h') goto yy396; + if (yych == 'h') goto yy398; goto yy55; yy248: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy397; + if (yych == 'i') goto yy399; goto yy55; yy249: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy398; + if (yych == 'r') goto yy400; goto yy55; yy250: ++YYCURSOR; -#line 216 "strict_cpp.re" +#line 224 "strict_cpp.re" { BOOST_WAVE_RET(T_ORASSIGN); } -#line 2141 "strict_cpp_re.inc" +#line 2176 "strict_cpp_re.inc" yy252: yych = *++YYCURSOR; - if (yych == '?') goto yy400; + if (yych == '?') goto yy402; goto yy100; yy253: ++YYCURSOR; -#line 230 "strict_cpp.re" +#line 238 "strict_cpp.re" { BOOST_WAVE_RET(T_OROR); } -#line 2150 "strict_cpp_re.inc" +#line 2185 "strict_cpp_re.inc" yy255: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -2167,7 +2202,7 @@ yy255: if (yych <= '/') { if (yych <= '"') goto yy101; if (yych <= '.') goto yy98; - goto yy401; + goto yy403; } else { if (yych == '\\') goto yy104; goto yy98; @@ -2179,12 +2214,12 @@ yy257: yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy403; + if (yych <= '9') goto yy405; goto yy100; } else { - if (yych <= 'F') goto yy403; + if (yych <= 'F') goto yy405; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy403; + if (yych <= 'f') goto yy405; goto yy100; } yy258: @@ -2193,12 +2228,12 @@ yy258: yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy404; + if (yych <= '9') goto yy406; goto yy100; } else { - if (yych <= 'F') goto yy404; + if (yych <= 'F') goto yy406; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy404; + if (yych <= 'f') goto yy406; goto yy100; } yy259: @@ -2223,71 +2258,71 @@ yy260: goto yy260; } if (yych <= 0x1F) goto yy100; - goto yy405; + goto yy407; yy262: yych = *++YYCURSOR; - if (yych == '=') goto yy407; + if (yych == '=') goto yy409; goto yy100; yy263: yych = *++YYCURSOR; - if (yych == 'f') goto yy409; + if (yych == 'f') goto yy411; goto yy100; yy264: yych = *++YYCURSOR; - if (yych == 'i') goto yy410; - if (yych == 's') goto yy411; + if (yych == 'i') goto yy412; + if (yych == 's') goto yy413; goto yy100; yy265: yych = *++YYCURSOR; - if (yych == 'd') goto yy412; + if (yych == 'd') goto yy414; goto yy100; yy266: yych = *++YYCURSOR; - if (yych == 'r') goto yy413; + if (yych == 'r') goto yy415; goto yy100; yy267: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy414; - if (yych == 'n') goto yy415; + if (yych == 'd') goto yy416; + if (yych == 'n') goto yy417; yy268: -#line 307 "strict_cpp.re" +#line 315 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_IF); } -#line 2257 "strict_cpp_re.inc" +#line 2292 "strict_cpp_re.inc" yy269: yych = *++YYCURSOR; - if (yych == 'c') goto yy416; + if (yych == 'c') goto yy418; goto yy100; yy270: yych = *++YYCURSOR; - if (yych == 'n') goto yy417; + if (yych == 'n') goto yy419; goto yy100; yy271: yych = *++YYCURSOR; - if (yych == 'a') goto yy418; + if (yych == 'a') goto yy420; goto yy100; yy272: yych = *++YYCURSOR; - if (yych == 'g') goto yy419; + if (yych == 'g') goto yy421; goto yy100; yy273: yych = *++YYCURSOR; - if (yych == 'd') goto yy420; + if (yych == 'd') goto yy422; goto yy100; yy274: yych = *++YYCURSOR; - if (yych == 'r') goto yy421; + if (yych == 'r') goto yy423; goto yy100; yy275: yych = *++YYCURSOR; - if (yych == ':') goto yy422; + if (yych == ':') goto yy424; goto yy100; yy276: ++YYCURSOR; yy277: -#line 252 "strict_cpp.re" +#line 260 "strict_cpp.re" { BOOST_WAVE_RET(T_CHARLIT); } -#line 2291 "strict_cpp_re.inc" +#line 2326 "strict_cpp_re.inc" yy278: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -2304,7 +2339,7 @@ yy278: } } else { if (yych <= '>') { - if (yych == '/') goto yy424; + if (yych == '/') goto yy426; goto yy129; } else { if (yych <= '?') goto yy278; @@ -2318,12 +2353,12 @@ yy280: yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy426; + if (yych <= '9') goto yy428; goto yy100; } else { - if (yych <= 'F') goto yy426; + if (yych <= 'F') goto yy428; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy426; + if (yych <= 'f') goto yy428; goto yy100; } yy281: @@ -2332,12 +2367,12 @@ yy281: yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy427; + if (yych <= '9') goto yy429; goto yy100; } else { - if (yych <= 'F') goto yy427; + if (yych <= 'F') goto yy429; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy427; + if (yych <= 'f') goto yy429; goto yy100; } yy282: @@ -2356,7 +2391,7 @@ yy282: } yy283: ++YYCURSOR; -#line 239 "strict_cpp.re" +#line 247 "strict_cpp.re" { if (s->act_in_c99_mode) { --YYCURSOR; @@ -2366,70 +2401,70 @@ yy283: BOOST_WAVE_RET(T_ARROWSTAR); } } -#line 2370 "strict_cpp_re.inc" +#line 2405 "strict_cpp_re.inc" yy285: ++YYCURSOR; -#line 162 "strict_cpp.re" +#line 170 "strict_cpp.re" { BOOST_WAVE_RET(T_ELLIPSIS); } -#line 2375 "strict_cpp_re.inc" +#line 2410 "strict_cpp_re.inc" yy287: ++YYCURSOR; -#line 222 "strict_cpp.re" +#line 230 "strict_cpp.re" { BOOST_WAVE_RET(T_SHIFTLEFTASSIGN); } -#line 2380 "strict_cpp_re.inc" +#line 2415 "strict_cpp_re.inc" yy289: ++YYCURSOR; -#line 221 "strict_cpp.re" +#line 229 "strict_cpp.re" { BOOST_WAVE_RET(T_SHIFTRIGHTASSIGN); } -#line 2385 "strict_cpp_re.inc" +#line 2420 "strict_cpp_re.inc" yy291: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '>') { - if (yych == '=') goto yy428; + if (yych == '=') goto yy430; } else { - if (yych <= '?') goto yy430; - if (yych == '|') goto yy431; + if (yych <= '?') goto yy432; + if (yych == '|') goto yy433; } yy292: -#line 197 "strict_cpp.re" +#line 205 "strict_cpp.re" { BOOST_WAVE_RET(T_OR_TRIGRAPH); } -#line 2398 "strict_cpp_re.inc" +#line 2433 "strict_cpp_re.inc" yy293: yych = *++YYCURSOR; - if (yych == '=') goto yy433; -#line 191 "strict_cpp.re" + if (yych == '=') goto yy435; +#line 199 "strict_cpp.re" { BOOST_WAVE_RET(T_XOR_TRIGRAPH); } -#line 2404 "strict_cpp_re.inc" +#line 2439 "strict_cpp_re.inc" yy295: ++YYCURSOR; -#line 145 "strict_cpp.re" +#line 153 "strict_cpp.re" { BOOST_WAVE_RET(T_LEFTBRACKET_TRIGRAPH); } -#line 2409 "strict_cpp_re.inc" +#line 2444 "strict_cpp_re.inc" yy297: ++YYCURSOR; -#line 148 "strict_cpp.re" +#line 156 "strict_cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACKET_TRIGRAPH); } -#line 2414 "strict_cpp_re.inc" +#line 2449 "strict_cpp_re.inc" yy299: ++YYCURSOR; -#line 199 "strict_cpp.re" +#line 207 "strict_cpp.re" { BOOST_WAVE_RET(T_COMPL_TRIGRAPH); } -#line 2419 "strict_cpp_re.inc" +#line 2454 "strict_cpp_re.inc" yy301: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy183; if (yych == 'u') goto yy184; yy302: -#line 249 "strict_cpp.re" +#line 257 "strict_cpp.re" { BOOST_WAVE_RET(T_ANY_TRIGRAPH); } -#line 2428 "strict_cpp_re.inc" +#line 2463 "strict_cpp_re.inc" yy303: ++YYCURSOR; -#line 139 "strict_cpp.re" +#line 147 "strict_cpp.re" { BOOST_WAVE_RET(T_LEFTBRACE_TRIGRAPH); } -#line 2433 "strict_cpp_re.inc" +#line 2468 "strict_cpp_re.inc" yy305: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); @@ -2443,10 +2478,10 @@ yy305: } } else { if (yych <= '.') { - if (yych == '#') goto yy435; + if (yych == '#') goto yy437; } else { if (yych <= '/') goto yy106; - if (yych == '?') goto yy437; + if (yych == '?') goto yy439; } } } else { @@ -2468,14 +2503,14 @@ yy305: } } yy306: -#line 152 "strict_cpp.re" +#line 160 "strict_cpp.re" { BOOST_WAVE_RET(T_POUND_TRIGRAPH); } -#line 2474 "strict_cpp_re.inc" +#line 2509 "strict_cpp_re.inc" yy307: ++YYCURSOR; -#line 142 "strict_cpp.re" +#line 150 "strict_cpp.re" { BOOST_WAVE_RET(T_RIGHTBRACE_TRIGRAPH); } -#line 2479 "strict_cpp_re.inc" +#line 2514 "strict_cpp_re.inc" yy309: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -2484,7 +2519,7 @@ yy309: goto yy100; yy310: ++YYCURSOR; -#line 285 "strict_cpp.re" +#line 293 "strict_cpp.re" { if (s->act_in_cpp0x_mode) { @@ -2494,19 +2529,19 @@ yy310: --YYCURSOR; BOOST_WAVE_RET(T_IDENTIFIER); } -#line 2498 "strict_cpp_re.inc" +#line 2533 "strict_cpp_re.inc" yy312: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy438; + if (yych <= '9') goto yy440; goto yy100; } else { - if (yych <= 'F') goto yy438; + if (yych <= 'F') goto yy440; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy438; + if (yych <= 'f') goto yy440; goto yy100; } yy313: @@ -2515,79 +2550,79 @@ yy313: yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy439; + if (yych <= '9') goto yy441; goto yy100; } else { - if (yych <= 'F') goto yy439; + if (yych <= 'F') goto yy441; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy439; + if (yych <= 'f') goto yy441; goto yy100; } yy314: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'x') goto yy440; + if (yych == 'x') goto yy442; goto yy55; yy315: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'a') goto yy323; - if (yych == 'i') goto yy441; + if (yych == 'i') goto yy443; goto yy55; yy316: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy442; + if (yych == 'n') goto yy444; goto yy55; yy317: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy443; + if (yych == 'e') goto yy445; goto yy55; yy318: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy444; + if (yych == 'r') goto yy446; goto yy55; yy319: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy445; + if (yych == 'm') goto yy447; goto yy55; yy320: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy447; + if (yych == 's') goto yy449; goto yy55; yy321: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy448; + if (yych == 'e') goto yy450; goto yy55; yy322: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy449; + if (yych == 'c') goto yy451; goto yy55; yy323: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy450; + if (yych == 's') goto yy452; goto yy55; yy324: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy451; + if (yych == 'l') goto yy453; goto yy55; yy325: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy452; + if (yych == 'd') goto yy454; goto yy55; yy326: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy453; + if (yych == 'g') goto yy455; goto yy55; yy327: yyaccept = 14; @@ -2604,15 +2639,15 @@ yy327: if (yych <= '^') { if (yych == '\\') goto yy174; } else { - if (yych <= '_') goto yy454; + if (yych <= '_') goto yy456; if (yych <= '`') goto yy328; if (yych <= 'z') goto yy54; } } yy328: -#line 229 "strict_cpp.re" +#line 237 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ANDAND_ALT); } -#line 2616 "strict_cpp_re.inc" +#line 2651 "strict_cpp_re.inc" yy329: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); @@ -2624,117 +2659,132 @@ yy329: yy330: #line 49 "strict_cpp.re" { BOOST_WAVE_RET(T_ASM); } -#line 2628 "strict_cpp_re.inc" +#line 2663 "strict_cpp_re.inc" yy331: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy455; + if (yych == 'o') goto yy457; goto yy55; yy332: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy457; - if (yych == 'o') goto yy458; + if (yych == 'a') goto yy459; + if (yych == 'o') goto yy460; goto yy55; yy333: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy459; + if (yych == 'l') goto yy461; goto yy55; yy334: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy461; + if (yych == 'a') goto yy463; goto yy55; yy335: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy462; + if (yych == 'e') goto yy464; goto yy55; yy336: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy464; + if (yych == 'c') goto yy466; goto yy55; yy337: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy465; + if (yych == 'r') goto yy467; goto yy55; yy338: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy467; + if (yych == 's') goto yy469; goto yy55; yy339: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy468; - goto yy55; + if (yych <= 'q') { + if (yych == 'a') goto yy470; + goto yy55; + } else { + if (yych <= 'r') goto yy471; + if (yych == 'y') goto yy472; + goto yy55; + } yy340: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'r') goto yy55; - if (yych <= 's') goto yy469; - if (yych <= 't') goto yy470; + if (yych == 'p') goto yy473; goto yy55; yy341: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy471; - goto yy55; + if (yych <= 'r') { + if (yych == 'c') goto yy474; + goto yy55; + } else { + if (yych <= 's') goto yy475; + if (yych <= 't') goto yy476; + goto yy55; + } yy342: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy472; + if (yych == 'l') goto yy477; goto yy55; yy343: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy473; + if (yych == 'a') goto yy478; goto yy55; yy344: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'b') goto yy474; + if (yych == 'e') goto yy479; goto yy55; yy345: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy475; + if (yych == 'b') goto yy480; goto yy55; yy346: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy476; + if (yych == 'a') goto yy481; goto yy55; yy347: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy478; + if (yych == 'e') goto yy482; goto yy55; yy348: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy480; - if (yych == 'o') goto yy481; + if (yych == 'm') goto yy484; goto yy55; yy349: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy482; + if (yych == 'l') goto yy486; + if (yych == 'o') goto yy487; goto yy55; yy350: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy483; + if (yych == 'e') goto yy488; goto yy55; yy351: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy484; + if (yych == 's') goto yy489; goto yy55; yy352: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'a') goto yy490; + goto yy55; +yy353: yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -2742,31 +2792,31 @@ yy352: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy353: -#line 76 "strict_cpp.re" - { BOOST_WAVE_RET(T_FOR); } -#line 2749 "strict_cpp_re.inc" yy354: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy485; - goto yy55; +#line 83 "strict_cpp.re" + { BOOST_WAVE_RET(T_FOR); } +#line 2799 "strict_cpp_re.inc" yy355: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy486; + if (yych == 'e') goto yy491; goto yy55; yy356: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy488; + if (yych == 'o') goto yy492; goto yy55; yy357: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy489; + if (yych == 'o') goto yy494; goto yy55; yy358: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'i') goto yy495; + goto yy55; +yy359: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -2774,26 +2824,26 @@ yy358: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy359: -#line 82 "strict_cpp.re" - { BOOST_WAVE_RET(T_INT); } -#line 2781 "strict_cpp_re.inc" yy360: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy490; - goto yy55; +#line 89 "strict_cpp.re" + { BOOST_WAVE_RET(T_INT); } +#line 2831 "strict_cpp_re.inc" yy361: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy492; + if (yych == 'g') goto yy496; goto yy55; yy362: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy493; + if (yych == 'a') goto yy498; goto yy55; yy363: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy499; + goto yy55; +yy364: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -2801,21 +2851,21 @@ yy363: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy364: -#line 86 "strict_cpp.re" - { BOOST_WAVE_RET(T_NEW); } -#line 2808 "strict_cpp_re.inc" yy365: +#line 93 "strict_cpp.re" + { BOOST_WAVE_RET(T_NEW); } +#line 2858 "strict_cpp_re.inc" +yy366: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'x') goto yy494; + if (yych == 'x') goto yy500; goto yy55; -yy366: +yy367: yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Z') { if (yych <= '>') { - if (yych <= '/') goto yy367; + if (yych <= '/') goto yy368; if (yych <= '9') goto yy54; } else { if (yych <= '?') goto yy173; @@ -2825,112 +2875,117 @@ yy366: if (yych <= '^') { if (yych == '\\') goto yy174; } else { - if (yych <= '_') goto yy495; - if (yych <= '`') goto yy367; + if (yych <= '_') goto yy501; + if (yych <= '`') goto yy368; if (yych <= 'z') goto yy54; } } -yy367: -#line 202 "strict_cpp.re" - { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_NOT_ALT); } -#line 2837 "strict_cpp_re.inc" yy368: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy496; - goto yy55; +#line 210 "strict_cpp.re" + { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_NOT_ALT); } +#line 2887 "strict_cpp_re.inc" yy369: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy497; + if (yych == 'l') goto yy502; goto yy55; yy370: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy498; + if (yych == 'r') goto yy503; goto yy55; yy371: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'v') goto yy499; + if (yych == 'e') goto yy504; goto yy55; yy372: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy500; + if (yych == 'v') goto yy505; goto yy55; yy373: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy501; + if (yych == 't') goto yy506; goto yy55; yy374: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy502; + if (yych == 'l') goto yy507; goto yy55; yy375: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy503; + if (yych == 'i') goto yy508; goto yy55; yy376: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy504; + if (yych == 'n') goto yy509; goto yy55; yy377: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy505; + if (yych == 'u') goto yy510; goto yy55; yy378: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy506; + if (yych == 'u') goto yy511; goto yy55; yy379: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy507; + if (yych == 'r') goto yy512; goto yy55; yy380: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy508; + if (yych == 'n') goto yy513; goto yy55; yy381: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy509; + if (yych == 'e') goto yy514; goto yy55; yy382: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy510; + if (yych == 't') goto yy515; goto yy55; yy383: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy511; + if (yych == 'u') goto yy516; goto yy55; yy384: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy512; + if (yych == 't') goto yy517; goto yy55; yy385: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy514; - if (yych == 'o') goto yy515; + if (yych == 'p') goto yy518; goto yy55; yy386: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy516; + if (yych == 's') goto yy519; goto yy55; yy387: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy521; + if (yych == 'o') goto yy522; + goto yy55; +yy388: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy523; + goto yy55; +yy389: yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -2938,61 +2993,61 @@ yy387: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy388: -#line 109 "strict_cpp.re" - { BOOST_WAVE_RET(T_TRY); } -#line 2945 "strict_cpp_re.inc" -yy389: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy518; - goto yy55; yy390: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy519; - goto yy55; +#line 117 "strict_cpp.re" + { BOOST_WAVE_RET(T_TRY); } +#line 3000 "strict_cpp_re.inc" yy391: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy520; + if (yych == 'e') goto yy525; goto yy55; yy392: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy521; + if (yych == 'o') goto yy526; goto yy55; yy393: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy522; + if (yych == 'i') goto yy527; goto yy55; yy394: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy523; + if (yych == 'n') goto yy528; goto yy55; yy395: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy525; + if (yych == 't') goto yy529; goto yy55; yy396: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy526; + if (yych == 'd') goto yy530; goto yy55; yy397: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy527; + if (yych == 'a') goto yy532; goto yy55; yy398: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'a') goto yy533; + goto yy55; +yy399: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'l') goto yy534; + goto yy55; +yy400: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Z') { if (yych <= '>') { - if (yych <= '/') goto yy399; + if (yych <= '/') goto yy401; if (yych <= '9') goto yy54; } else { if (yych <= '?') goto yy173; @@ -3002,20 +3057,20 @@ yy398: if (yych <= '^') { if (yych == '\\') goto yy174; } else { - if (yych <= '_') goto yy528; - if (yych <= '`') goto yy399; + if (yych <= '_') goto yy535; + if (yych <= '`') goto yy401; if (yych <= 'z') goto yy54; } } -yy399: -#line 192 "strict_cpp.re" +yy401: +#line 200 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_XOR_ALT); } -#line 3014 "strict_cpp_re.inc" -yy400: +#line 3069 "strict_cpp_re.inc" +yy402: yych = *++YYCURSOR; - if (yych == '!') goto yy529; + if (yych == '!') goto yy536; goto yy100; -yy401: +yy403: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3023,43 +3078,43 @@ yy401: goto yy98; } if (yych <= 0x1F) goto yy100; - if (yych <= '"') goto yy531; + if (yych <= '"') goto yy538; if (yych <= '?') goto yy103; - goto yy401; -yy403: + goto yy403; +yy405: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy532; + if (yych <= '9') goto yy539; goto yy100; } else { - if (yych <= 'F') goto yy532; + if (yych <= 'F') goto yy539; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy532; + if (yych <= 'f') goto yy539; goto yy100; } -yy404: +yy406: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy533; + if (yych <= '9') goto yy540; goto yy100; } else { - if (yych <= 'F') goto yy533; + if (yych <= 'F') goto yy540; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy533; + if (yych <= 'f') goto yy540; goto yy100; } -yy405: +yy407: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { - goto yy405; + goto yy407; } if (yych <= 0x1F) { if (yych <= 0x08) goto yy100; @@ -3069,70 +3124,70 @@ yy405: if (yych == '/') goto yy105; goto yy260; } -yy407: +yy409: ++YYCURSOR; -#line 154 "strict_cpp.re" +#line 162 "strict_cpp.re" { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); } -#line 3077 "strict_cpp_re.inc" -yy409: - yych = *++YYCURSOR; - if (yych == 'i') goto yy534; - goto yy100; -yy410: - yych = *++YYCURSOR; - if (yych == 'f') goto yy535; - goto yy100; +#line 3132 "strict_cpp_re.inc" yy411: yych = *++YYCURSOR; - if (yych == 'e') goto yy537; + if (yych == 'i') goto yy541; goto yy100; yy412: yych = *++YYCURSOR; - if (yych == 'i') goto yy539; - if (yych == 'r') goto yy540; + if (yych == 'f') goto yy542; goto yy100; yy413: yych = *++YYCURSOR; - if (yych == 'o') goto yy541; + if (yych == 'e') goto yy544; goto yy100; yy414: yych = *++YYCURSOR; - if (yych == 'e') goto yy542; + if (yych == 'i') goto yy546; + if (yych == 'r') goto yy547; goto yy100; yy415: yych = *++YYCURSOR; - if (yych == 'd') goto yy543; + if (yych == 'o') goto yy548; goto yy100; yy416: yych = *++YYCURSOR; - if (yych == 'l') goto yy544; + if (yych == 'e') goto yy549; goto yy100; yy417: yych = *++YYCURSOR; - if (yych == 'e') goto yy545; + if (yych == 'd') goto yy550; goto yy100; yy418: yych = *++YYCURSOR; - if (yych == 'g') goto yy547; + if (yych == 'l') goto yy551; goto yy100; yy419: yych = *++YYCURSOR; - if (yych == 'i') goto yy548; + if (yych == 'e') goto yy552; goto yy100; yy420: yych = *++YYCURSOR; - if (yych == 'e') goto yy549; + if (yych == 'g') goto yy554; goto yy100; yy421: yych = *++YYCURSOR; - if (yych == 'n') goto yy550; + if (yych == 'i') goto yy555; goto yy100; yy422: + yych = *++YYCURSOR; + if (yych == 'e') goto yy556; + goto yy100; +yy423: + yych = *++YYCURSOR; + if (yych == 'n') goto yy557; + goto yy100; +yy424: ++YYCURSOR; -#line 157 "strict_cpp.re" +#line 165 "strict_cpp.re" { BOOST_WAVE_RET(T_POUND_POUND_ALT); } -#line 3135 "strict_cpp_re.inc" -yy424: +#line 3190 "strict_cpp_re.inc" +yy426: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3140,120 +3195,120 @@ yy424: goto yy129; } if (yych <= 0x1F) goto yy100; - if (yych <= '\'') goto yy551; + if (yych <= '\'') goto yy558; if (yych <= '?') goto yy131; - goto yy424; -yy426: + goto yy426; +yy428: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy552; + if (yych <= '9') goto yy559; goto yy100; } else { - if (yych <= 'F') goto yy552; + if (yych <= 'F') goto yy559; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy552; + if (yych <= 'f') goto yy559; goto yy100; } -yy427: +yy429: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy553; + if (yych <= '9') goto yy560; goto yy100; } else { - if (yych <= 'F') goto yy553; + if (yych <= 'F') goto yy560; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy553; + if (yych <= 'f') goto yy560; goto yy100; } -yy428: +yy430: ++YYCURSOR; -#line 218 "strict_cpp.re" +#line 226 "strict_cpp.re" { BOOST_WAVE_RET(T_ORASSIGN_TRIGRAPH); } -#line 3179 "strict_cpp_re.inc" -yy430: +#line 3234 "strict_cpp_re.inc" +yy432: yych = *++YYCURSOR; - if (yych == '?') goto yy554; + if (yych == '?') goto yy561; goto yy100; -yy431: +yy433: ++YYCURSOR; -#line 231 "strict_cpp.re" +#line 239 "strict_cpp.re" { BOOST_WAVE_RET(T_OROR_TRIGRAPH); } -#line 3188 "strict_cpp_re.inc" -yy433: +#line 3243 "strict_cpp_re.inc" +yy435: ++YYCURSOR; -#line 213 "strict_cpp.re" +#line 221 "strict_cpp.re" { BOOST_WAVE_RET(T_XORASSIGN_TRIGRAPH); } -#line 3193 "strict_cpp_re.inc" -yy435: +#line 3248 "strict_cpp_re.inc" +yy437: ++YYCURSOR; -#line 155 "strict_cpp.re" +#line 163 "strict_cpp.re" { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); } -#line 3198 "strict_cpp_re.inc" -yy437: +#line 3253 "strict_cpp_re.inc" +yy439: yych = *++YYCURSOR; - if (yych == '?') goto yy555; + if (yych == '?') goto yy562; goto yy100; -yy438: +yy440: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy556; + if (yych <= '9') goto yy563; goto yy100; } else { - if (yych <= 'F') goto yy556; + if (yych <= 'F') goto yy563; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy556; + if (yych <= 'f') goto yy563; goto yy100; } -yy439: +yy441: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy557; + if (yych <= '9') goto yy564; goto yy100; } else { - if (yych <= 'F') goto yy557; + if (yych <= 'F') goto yy564; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy557; + if (yych <= 'f') goto yy564; goto yy100; } -yy440: +yy442: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy558; + if (yych == 'c') goto yy565; goto yy55; -yy441: +yy443: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy559; + if (yych == 'n') goto yy566; goto yy55; -yy442: +yy444: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy451; - if (yych == 't') goto yy560; + if (yych == 'l') goto yy453; + if (yych == 't') goto yy567; goto yy55; -yy443: +yy445: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy561; + if (yych == 'a') goto yy568; goto yy55; -yy444: +yy446: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'y') goto yy562; + if (yych == 'y') goto yy569; goto yy55; -yy445: +yy447: yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3261,51 +3316,51 @@ yy445: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy446: -#line 136 "strict_cpp.re" - { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_ASM : T_IDENTIFIER); } -#line 3268 "strict_cpp_re.inc" -yy447: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy564; - goto yy55; yy448: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy565; - goto yy55; +#line 144 "strict_cpp.re" + { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_ASM : T_IDENTIFIER); } +#line 3323 "strict_cpp_re.inc" yy449: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy566; + if (yych == 'e') goto yy571; goto yy55; yy450: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy567; + if (yych == 'c') goto yy572; goto yy55; yy451: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy568; + if (yych == 'l') goto yy573; goto yy55; yy452: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy569; + if (yych == 't') goto yy574; goto yy55; yy453: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy570; + if (yych == 'i') goto yy575; goto yy55; yy454: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy571; + if (yych == 'c') goto yy576; goto yy55; yy455: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'n') goto yy577; + goto yy55; +yy456: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy578; + goto yy55; +yy457: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3313,21 +3368,21 @@ yy455: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy456: +yy458: #line 50 "strict_cpp.re" { BOOST_WAVE_RET(T_AUTO); } -#line 3320 "strict_cpp_re.inc" -yy457: +#line 3375 "strict_cpp_re.inc" +yy459: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy572; + if (yych == 'n') goto yy579; goto yy55; -yy458: +yy460: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy573; + if (yych == 'r') goto yy580; goto yy55; -yy459: +yy461: yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3335,16 +3390,16 @@ yy459: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy460: +yy462: #line 51 "strict_cpp.re" { BOOST_WAVE_RET(T_BOOL); } -#line 3342 "strict_cpp_re.inc" -yy461: +#line 3397 "strict_cpp_re.inc" +yy463: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'k') goto yy575; + if (yych == 'k') goto yy582; goto yy55; -yy462: +yy464: yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3352,280 +3407,312 @@ yy462: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy463: +yy465: #line 53 "strict_cpp.re" { BOOST_WAVE_RET(T_CASE); } -#line 3359 "strict_cpp_re.inc" -yy464: +#line 3414 "strict_cpp_re.inc" +yy466: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'h') goto yy577; + if (yych == 'h') goto yy584; goto yy55; -yy465: +yy467: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '?') { + if (yych <= '>') { if (yych <= '2') { - if (yych <= '/') goto yy466; - if (yych == '1') goto yy579; + if (yych <= '/') goto yy468; + if (yych == '1') goto yy586; goto yy54; } else { - if (yych <= '3') goto yy580; - if (yych <= '9') goto yy54; - if (yych >= '?') goto yy173; + if (yych <= '7') { + if (yych <= '3') goto yy587; + goto yy54; + } else { + if (yych <= '8') goto yy588; + if (yych <= '9') goto yy54; + } } } else { if (yych <= '\\') { - if (yych <= '@') goto yy466; - if (yych <= 'Z') goto yy54; - if (yych >= '\\') goto yy174; + if (yych <= '@') { + if (yych <= '?') goto yy173; + } else { + if (yych <= 'Z') goto yy54; + if (yych >= '\\') goto yy174; + } } else { if (yych <= '_') { if (yych >= '_') goto yy54; } else { - if (yych <= '`') goto yy466; + if (yych <= '`') goto yy468; if (yych <= 'z') goto yy54; } } } -yy466: +yy468: #line 55 "strict_cpp.re" { BOOST_WAVE_RET(T_CHAR); } -#line 3395 "strict_cpp_re.inc" -yy467: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy581; - goto yy55; -yy468: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy583; - goto yy55; +#line 3457 "strict_cpp_re.inc" yy469: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy585; + if (yych == 's') goto yy589; goto yy55; yy470: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy587; + if (yych == 'w') goto yy591; goto yy55; yy471: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy588; + if (yych == 'e') goto yy592; goto yy55; yy472: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy589; + if (yych == 'i') goto yy593; goto yy55; yy473: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy590; + if (yych == 'l') goto yy594; goto yy55; yy474: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy591; + if (yych == 'e') goto yy596; goto yy55; yy475: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy592; + if (yych == 't') goto yy597; goto yy55; yy476: - yyaccept = 27; + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[256+yych] & 128) { - goto yy54; - } - if (yych == '?') goto yy173; - if (yych == '\\') goto yy174; + if (yych == 'i') goto yy599; + goto yy55; yy477: -#line 69 "strict_cpp.re" - { BOOST_WAVE_RET(T_ELSE); } -#line 3452 "strict_cpp_re.inc" + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy600; + goto yy55; yy478: - yyaccept = 28; + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[256+yych] & 128) { - goto yy54; - } - if (yych == '?') goto yy173; - if (yych == '\\') goto yy174; + if (yych == 'u') goto yy601; + goto yy55; yy479: -#line 70 "strict_cpp.re" - { BOOST_WAVE_RET(T_ENUM); } -#line 3464 "strict_cpp_re.inc" + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy602; + goto yy55; yy480: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy593; + if (yych == 'l') goto yy603; goto yy55; yy481: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy594; + if (yych == 'm') goto yy604; goto yy55; yy482: - yyaccept = 4; + yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy595; - goto yy55; + if (yybm[256+yych] & 128) { + goto yy54; + } + if (yych == '?') goto yy173; + if (yych == '\\') goto yy174; yy483: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy596; - goto yy55; +#line 76 "strict_cpp.re" + { BOOST_WAVE_RET(T_ELSE); } +#line 3534 "strict_cpp_re.inc" yy484: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy598; - goto yy55; -yy485: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy600; - goto yy55; -yy486: - yyaccept = 29; + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; +yy485: +#line 77 "strict_cpp.re" + { BOOST_WAVE_RET(T_ENUM); } +#line 3546 "strict_cpp_re.inc" +yy486: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'i') goto yy605; + goto yy55; yy487: -#line 78 "strict_cpp.re" - { BOOST_WAVE_RET(T_GOTO); } -#line 3506 "strict_cpp_re.inc" + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'r') goto yy606; + goto yy55; yy488: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy601; + if (yych == 'r') goto yy607; goto yy55; yy489: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy602; + if (yych == 'e') goto yy608; goto yy55; yy490: - yyaccept = 30; + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy610; + goto yy55; +yy491: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'n') goto yy612; + goto yy55; +yy492: + yyaccept = 29; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy491: -#line 83 "strict_cpp.re" - { BOOST_WAVE_RET(T_LONG); } -#line 3528 "strict_cpp_re.inc" -yy492: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'b') goto yy603; - goto yy55; yy493: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy604; - goto yy55; +#line 85 "strict_cpp.re" + { BOOST_WAVE_RET(T_GOTO); } +#line 3588 "strict_cpp_re.inc" yy494: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy605; + if (yych == 'r') goto yy613; goto yy55; yy495: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy606; + if (yych == 'n') goto yy614; goto yy55; yy496: - yyaccept = 4; + yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy607; - goto yy55; + if (yybm[256+yych] & 128) { + goto yy54; + } + if (yych == '?') goto yy173; + if (yych == '\\') goto yy174; yy497: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy608; - goto yy55; +#line 90 "strict_cpp.re" + { BOOST_WAVE_RET(T_LONG); } +#line 3610 "strict_cpp_re.inc" yy498: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'q') goto yy609; + if (yych == 'b') goto yy615; goto yy55; yy499: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy611; + if (yych == 's') goto yy616; goto yy55; yy500: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy612; + if (yych == 'c') goto yy617; goto yy55; yy501: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy613; + if (yych == 'e') goto yy618; goto yy55; yy502: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy614; + if (yych == 'p') goto yy619; goto yy55; yy503: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy615; + if (yych == 'a') goto yy620; goto yy55; yy504: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy616; + if (yych == 'q') goto yy621; goto yy55; yy505: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy617; + if (yych == 'a') goto yy623; goto yy55; yy506: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy619; + if (yych == 'e') goto yy624; goto yy55; yy507: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy620; + if (yych == 'i') goto yy625; goto yy55; yy508: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy621; + if (yych == 's') goto yy626; goto yy55; yy509: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy622; + if (yych == 't') goto yy627; goto yy55; yy510: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy623; + if (yych == 'i') goto yy628; goto yy55; yy511: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy624; + if (yych == 'r') goto yy629; goto yy55; yy512: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy630; + goto yy55; +yy513: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy632; + goto yy55; +yy514: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'o') goto yy633; + goto yy55; +yy515: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'i') goto yy634; + goto yy55; +yy516: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'c') goto yy635; + goto yy55; +yy517: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'c') goto yy636; + goto yy55; +yy518: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'l') goto yy637; + goto yy55; +yy519: yyaccept = 31; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3633,21 +3720,21 @@ yy512: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy513: -#line 105 "strict_cpp.re" +yy520: +#line 113 "strict_cpp.re" { BOOST_WAVE_RET(T_THIS); } -#line 3640 "strict_cpp_re.inc" -yy514: +#line 3727 "strict_cpp_re.inc" +yy521: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy625; + if (yych == 'a') goto yy638; goto yy55; -yy515: +yy522: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'w') goto yy626; + if (yych == 'w') goto yy639; goto yy55; -yy516: +yy523: yyaccept = 32; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3655,42 +3742,42 @@ yy516: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy517: -#line 108 "strict_cpp.re" +yy524: +#line 116 "strict_cpp.re" { BOOST_WAVE_RET(T_TRUE); } -#line 3662 "strict_cpp_re.inc" -yy518: +#line 3749 "strict_cpp_re.inc" +yy525: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'h') { - if (yych == 'd') goto yy628; + if (yych == 'd') goto yy641; goto yy55; } else { - if (yych <= 'i') goto yy629; - if (yych == 'n') goto yy630; + if (yych <= 'i') goto yy642; + if (yych == 'n') goto yy643; goto yy55; } -yy519: +yy526: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy631; + if (yych == 'n') goto yy644; goto yy55; -yy520: +yy527: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy633; + if (yych == 'g') goto yy646; goto yy55; -yy521: +yy528: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'g') goto yy634; + if (yych == 'g') goto yy647; goto yy55; -yy522: +yy529: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy636; + if (yych == 'u') goto yy649; goto yy55; -yy523: +yy530: yyaccept = 33; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3698,36 +3785,36 @@ yy523: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy524: -#line 117 "strict_cpp.re" +yy531: +#line 125 "strict_cpp.re" { BOOST_WAVE_RET(T_VOID); } -#line 3705 "strict_cpp_re.inc" -yy525: +#line 3792 "strict_cpp_re.inc" +yy532: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy637; + if (yych == 't') goto yy650; goto yy55; -yy526: +yy533: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy638; + if (yych == 'r') goto yy651; goto yy55; -yy527: +yy534: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy639; + if (yych == 'e') goto yy652; goto yy55; -yy528: +yy535: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy641; + if (yych == 'e') goto yy654; goto yy55; -yy529: +yy536: ++YYCURSOR; -#line 232 "strict_cpp.re" +#line 240 "strict_cpp.re" { BOOST_WAVE_RET(T_OROR_TRIGRAPH); } -#line 3730 "strict_cpp_re.inc" -yy531: +#line 3817 "strict_cpp_re.inc" +yy538: yyaccept = 34; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -3739,21 +3826,21 @@ yy531: if (yych <= '"') goto yy101; if (yych <= '?') goto yy103; goto yy104; -yy532: +yy539: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy642; + if (yych <= '9') goto yy655; goto yy100; } else { - if (yych <= 'F') goto yy642; + if (yych <= 'F') goto yy655; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy642; + if (yych <= 'f') goto yy655; goto yy100; } -yy533: +yy540: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3767,66 +3854,66 @@ yy533: if (yych <= 'f') goto yy259; goto yy100; } -yy534: +yy541: yych = *++YYCURSOR; - if (yych == 'n') goto yy643; + if (yych == 'n') goto yy656; goto yy100; -yy535: +yy542: ++YYCURSOR; -#line 311 "strict_cpp.re" +#line 319 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_ELIF); } -#line 3779 "strict_cpp_re.inc" -yy537: +#line 3866 "strict_cpp_re.inc" +yy544: ++YYCURSOR; -#line 310 "strict_cpp.re" +#line 318 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_ELSE); } -#line 3784 "strict_cpp_re.inc" -yy539: +#line 3871 "strict_cpp_re.inc" +yy546: yych = *++YYCURSOR; - if (yych == 'f') goto yy644; + if (yych == 'f') goto yy657; goto yy100; -yy540: +yy547: yych = *++YYCURSOR; - if (yych == 'e') goto yy646; + if (yych == 'e') goto yy659; goto yy100; -yy541: +yy548: yych = *++YYCURSOR; - if (yych == 'r') goto yy647; + if (yych == 'r') goto yy660; goto yy100; -yy542: +yy549: yych = *++YYCURSOR; - if (yych == 'f') goto yy649; + if (yych == 'f') goto yy662; goto yy100; -yy543: +yy550: yych = *++YYCURSOR; - if (yych == 'e') goto yy651; + if (yych == 'e') goto yy664; goto yy100; -yy544: +yy551: yych = *++YYCURSOR; - if (yych == 'u') goto yy652; + if (yych == 'u') goto yy665; goto yy100; -yy545: +yy552: ++YYCURSOR; -#line 315 "strict_cpp.re" +#line 323 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_LINE); } -#line 3813 "strict_cpp_re.inc" -yy547: +#line 3900 "strict_cpp_re.inc" +yy554: yych = *++YYCURSOR; - if (yych == 'm') goto yy653; + if (yych == 'm') goto yy666; goto yy100; -yy548: +yy555: yych = *++YYCURSOR; - if (yych == 'o') goto yy654; + if (yych == 'o') goto yy667; goto yy100; -yy549: +yy556: yych = *++YYCURSOR; - if (yych == 'f') goto yy655; + if (yych == 'f') goto yy668; goto yy100; -yy550: +yy557: yych = *++YYCURSOR; - if (yych == 'i') goto yy657; + if (yych == 'i') goto yy670; goto yy100; -yy551: +yy558: yyaccept = 35; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -3838,21 +3925,21 @@ yy551: if (yych <= '\'') goto yy276; if (yych <= '?') goto yy131; goto yy132; -yy552: +yy559: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy100; - if (yych <= '9') goto yy658; + if (yych <= '9') goto yy671; goto yy100; } else { - if (yych <= 'F') goto yy658; + if (yych <= 'F') goto yy671; if (yych <= '`') goto yy100; - if (yych <= 'f') goto yy658; + if (yych <= 'f') goto yy671; goto yy100; } -yy553: +yy560: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3866,15 +3953,15 @@ yy553: if (yych <= 'f') goto yy282; goto yy100; } -yy554: +yy561: yych = *++YYCURSOR; - if (yych == '!') goto yy659; + if (yych == '!') goto yy672; goto yy100; -yy555: +yy562: yych = *++YYCURSOR; - if (yych == '=') goto yy661; + if (yych == '=') goto yy674; goto yy100; -yy556: +yy563: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3888,7 +3975,7 @@ yy556: if (yych <= 'f') goto yy184; goto yy100; } -yy557: +yy564: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3902,32 +3989,32 @@ yy557: if (yych <= 'f') goto yy54; goto yy100; } -yy558: +yy565: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy663; + if (yych == 'e') goto yy676; goto yy55; -yy559: +yy566: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy664; + if (yych == 'a') goto yy677; goto yy55; -yy560: +yy567: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '1': goto yy665; - case '3': goto yy666; - case '6': goto yy667; - case '8': goto yy668; + case '1': goto yy678; + case '3': goto yy679; + case '6': goto yy680; + case '8': goto yy681; default: goto yy55; } -yy561: +yy568: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'v') goto yy670; + if (yych == 'v') goto yy683; goto yy55; -yy562: +yy569: yyaccept = 36; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3935,57 +4022,57 @@ yy562: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy563: -#line 131 "strict_cpp.re" +yy570: +#line 139 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_TRY : T_IDENTIFIER); } -#line 3942 "strict_cpp_re.inc" -yy564: +#line 4029 "strict_cpp_re.inc" +yy571: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy671; + if (yych == 'd') goto yy684; goto yy55; -yy565: +yy572: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy673; + if (yych == 'l') goto yy686; goto yy55; -yy566: +yy573: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy675; + if (yych == 's') goto yy688; goto yy55; -yy567: +yy574: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy676; + if (yych == 'c') goto yy689; goto yy55; -yy568: +yy575: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy677; + if (yych == 'n') goto yy690; goto yy55; -yy569: +yy576: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy678; + if (yych == 'a') goto yy691; goto yy55; -yy570: +yy577: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy679; - if (yych == 'o') goto yy680; + if (yych == 'a') goto yy692; + if (yych == 'o') goto yy693; goto yy55; -yy571: +yy578: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'q') goto yy681; + if (yych == 'q') goto yy694; goto yy55; -yy572: +yy579: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy683; + if (yych == 'd') goto yy696; goto yy55; -yy573: +yy580: yyaccept = 37; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -3993,11 +4080,11 @@ yy573: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy574: -#line 196 "strict_cpp.re" +yy581: +#line 204 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_OR_ALT); } -#line 4000 "strict_cpp_re.inc" -yy575: +#line 4087 "strict_cpp_re.inc" +yy582: yyaccept = 38; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4005,11 +4092,11 @@ yy575: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy576: +yy583: #line 52 "strict_cpp.re" { BOOST_WAVE_RET(T_BREAK); } -#line 4012 "strict_cpp_re.inc" -yy577: +#line 4099 "strict_cpp_re.inc" +yy584: yyaccept = 39; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4017,21 +4104,26 @@ yy577: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy578: +yy585: #line 54 "strict_cpp.re" { BOOST_WAVE_RET(T_CATCH); } -#line 4024 "strict_cpp_re.inc" -yy579: +#line 4111 "strict_cpp_re.inc" +yy586: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '6') goto yy685; + if (yych == '6') goto yy698; goto yy55; -yy580: +yy587: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '2') goto yy686; + if (yych == '2') goto yy699; goto yy55; -yy581: +yy588: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '_') goto yy700; + goto yy55; +yy589: yyaccept = 40; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4039,93 +4131,119 @@ yy581: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy582: -#line 58 "strict_cpp.re" +yy590: +#line 59 "strict_cpp.re" { BOOST_WAVE_RET(T_CLASS); } -#line 4046 "strict_cpp_re.inc" -yy583: - yyaccept = 41; +#line 4138 "strict_cpp_re.inc" +yy591: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[256+yych] & 128) { - goto yy54; - } - if (yych == '?') goto yy173; + if (yych == 'a') goto yy701; + goto yy55; +yy592: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy702; + goto yy55; +yy593: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy703; + goto yy55; +yy594: + yyaccept = 41; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy54; + } + if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy584: -#line 200 "strict_cpp.re" +yy595: +#line 208 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_COMPL_ALT); } -#line 4058 "strict_cpp_re.inc" -yy585: +#line 4165 "strict_cpp_re.inc" +yy596: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'p') goto yy704; + goto yy55; +yy597: yyaccept = 42; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '[') { - if (yych <= '>') { - if (yych <= '/') goto yy586; + if (yych <= '\\') { + if (yych <= '?') { + if (yych <= '/') goto yy598; if (yych <= '9') goto yy54; + if (yych >= '?') goto yy173; } else { - if (yych <= '?') goto yy173; - if (yych <= '@') goto yy586; + if (yych <= '@') goto yy598; if (yych <= 'Z') goto yy54; + if (yych >= '\\') goto yy174; } } else { - if (yych <= '`') { - if (yych <= '\\') goto yy174; - if (yych == '_') goto yy687; + if (yych <= 'd') { + if (yych == '_') goto yy705; + if (yych >= 'a') goto yy54; } else { - if (yych == 'e') goto yy688; - if (yych <= 'z') goto yy54; + if (yych <= 'h') { + if (yych <= 'e') goto yy706; + goto yy54; + } else { + if (yych <= 'i') goto yy707; + if (yych <= 'z') goto yy54; + } } } -yy586: -#line 59 "strict_cpp.re" +yy598: +#line 61 "strict_cpp.re" { BOOST_WAVE_RET(T_CONST); } -#line 4083 "strict_cpp_re.inc" -yy587: +#line 4201 "strict_cpp_re.inc" +yy599: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy689; + if (yych == 'n') goto yy708; goto yy55; -yy588: +yy600: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'y') goto yy690; + if (yych == 'y') goto yy709; goto yy55; -yy589: +yy601: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy691; + if (yych == 'l') goto yy710; goto yy55; -yy590: +yy602: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy692; + if (yych == 'e') goto yy711; goto yy55; -yy591: +yy603: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy694; + if (yych == 'e') goto yy713; goto yy55; -yy592: +yy604: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy696; + if (yych == 'i') goto yy715; goto yy55; -yy593: +yy605: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy697; + if (yych == 'c') goto yy716; goto yy55; -yy594: +yy606: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy698; + if (yych == 't') goto yy717; goto yy55; -yy595: +yy607: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy700; + if (yych == 'n') goto yy719; goto yy55; -yy596: +yy608: yyaccept = 43; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4133,11 +4251,11 @@ yy596: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy597: -#line 74 "strict_cpp.re" +yy609: +#line 81 "strict_cpp.re" { BOOST_WAVE_RET(T_FALSE); } -#line 4140 "strict_cpp_re.inc" -yy598: +#line 4258 "strict_cpp_re.inc" +yy610: yyaccept = 44; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4145,56 +4263,56 @@ yy598: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy599: -#line 75 "strict_cpp.re" +yy611: +#line 82 "strict_cpp.re" { BOOST_WAVE_RET(T_FLOAT); } -#line 4152 "strict_cpp_re.inc" -yy600: +#line 4270 "strict_cpp_re.inc" +yy612: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy702; + if (yych == 'd') goto yy721; goto yy55; -yy601: +yy613: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy704; + if (yych == 't') goto yy723; goto yy55; -yy602: +yy614: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy706; + if (yych == 'e') goto yy725; goto yy55; -yy603: +yy615: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy708; + if (yych == 'l') goto yy727; goto yy55; -yy604: +yy616: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy709; + if (yych == 'p') goto yy728; goto yy55; -yy605: +yy617: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy710; + if (yych == 'e') goto yy729; goto yy55; -yy606: +yy618: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'q') goto yy711; + if (yych == 'q') goto yy730; goto yy55; -yy607: +yy619: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy713; + if (yych == 't') goto yy732; goto yy55; -yy608: +yy620: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy714; + if (yych == 't') goto yy733; goto yy55; -yy609: +yy621: yyaccept = 45; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4202,41 +4320,46 @@ yy609: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy610: -#line 217 "strict_cpp.re" +yy622: +#line 225 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ORASSIGN_ALT); } -#line 4209 "strict_cpp_re.inc" -yy611: +#line 4327 "strict_cpp_re.inc" +yy623: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy715; + if (yych == 't') goto yy734; goto yy55; -yy612: +yy624: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy716; + if (yych == 'c') goto yy735; goto yy55; -yy613: +yy625: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy717; + if (yych == 'c') goto yy736; goto yy55; -yy614: +yy626: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy719; + if (yych == 't') goto yy738; goto yy55; -yy615: +yy627: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy720; + if (yych == 'e') goto yy739; goto yy55; -yy616: +yy628: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy721; + if (yych == 'r') goto yy740; goto yy55; -yy617: +yy629: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'n') goto yy741; + goto yy55; +yy630: yyaccept = 46; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4244,46 +4367,46 @@ yy617: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy618: -#line 96 "strict_cpp.re" +yy631: +#line 104 "strict_cpp.re" { BOOST_WAVE_RET(T_SHORT); } -#line 4251 "strict_cpp_re.inc" -yy619: +#line 4374 "strict_cpp_re.inc" +yy632: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy723; + if (yych == 'd') goto yy743; goto yy55; -yy620: +yy633: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'f') goto yy725; + if (yych == 'f') goto yy745; goto yy55; -yy621: +yy634: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy727; + if (yych == 'c') goto yy747; goto yy55; -yy622: +yy635: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy729; + if (yych == 't') goto yy749; goto yy55; -yy623: +yy636: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'h') goto yy731; + if (yych == 'h') goto yy751; goto yy55; -yy624: +yy637: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy733; + if (yych == 'a') goto yy753; goto yy55; -yy625: +yy638: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy734; + if (yych == 'd') goto yy754; goto yy55; -yy626: +yy639: yyaccept = 47; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4291,26 +4414,26 @@ yy626: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy627: -#line 107 "strict_cpp.re" +yy640: +#line 115 "strict_cpp.re" { BOOST_WAVE_RET(T_THROW); } -#line 4298 "strict_cpp_re.inc" -yy628: +#line 4421 "strict_cpp_re.inc" +yy641: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy735; + if (yych == 'e') goto yy755; goto yy55; -yy629: +yy642: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy736; + if (yych == 'd') goto yy756; goto yy55; -yy630: +yy643: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy738; + if (yych == 'a') goto yy758; goto yy55; -yy631: +yy644: yyaccept = 48; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4318,16 +4441,16 @@ yy631: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy632: -#line 113 "strict_cpp.re" +yy645: +#line 121 "strict_cpp.re" { BOOST_WAVE_RET(T_UNION); } -#line 4325 "strict_cpp_re.inc" -yy633: +#line 4448 "strict_cpp_re.inc" +yy646: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy739; + if (yych == 'n') goto yy759; goto yy55; -yy634: +yy647: yyaccept = 49; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4335,26 +4458,26 @@ yy634: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy635: -#line 115 "strict_cpp.re" +yy648: +#line 123 "strict_cpp.re" { BOOST_WAVE_RET(T_USING); } -#line 4342 "strict_cpp_re.inc" -yy636: +#line 4465 "strict_cpp_re.inc" +yy649: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy740; + if (yych == 'a') goto yy760; goto yy55; -yy637: +yy650: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy741; + if (yych == 'i') goto yy761; goto yy55; -yy638: +yy651: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy742; + if (yych == '_') goto yy762; goto yy55; -yy639: +yy652: yyaccept = 50; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4362,16 +4485,16 @@ yy639: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy640: -#line 120 "strict_cpp.re" +yy653: +#line 128 "strict_cpp.re" { BOOST_WAVE_RET(T_WHILE); } -#line 4369 "strict_cpp_re.inc" -yy641: +#line 4492 "strict_cpp_re.inc" +yy654: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'q') goto yy743; + if (yych == 'q') goto yy763; goto yy55; -yy642: +yy655: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -4385,55 +4508,55 @@ yy642: if (yych <= 'f') goto yy258; goto yy100; } -yy643: +yy656: yych = *++YYCURSOR; - if (yych == 'e') goto yy745; + if (yych == 'e') goto yy765; goto yy100; -yy644: +yy657: ++YYCURSOR; -#line 312 "strict_cpp.re" +#line 320 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_ENDIF); } -#line 4397 "strict_cpp_re.inc" -yy646: +#line 4520 "strict_cpp_re.inc" +yy659: yych = *++YYCURSOR; - if (yych == 'g') goto yy747; + if (yych == 'g') goto yy767; goto yy100; -yy647: +yy660: ++YYCURSOR; -#line 316 "strict_cpp.re" +#line 324 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_ERROR); } -#line 4406 "strict_cpp_re.inc" -yy649: +#line 4529 "strict_cpp_re.inc" +yy662: ++YYCURSOR; -#line 308 "strict_cpp.re" +#line 316 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_IFDEF); } -#line 4411 "strict_cpp_re.inc" -yy651: +#line 4534 "strict_cpp_re.inc" +yy664: yych = *++YYCURSOR; - if (yych == 'f') goto yy748; + if (yych == 'f') goto yy768; goto yy100; -yy652: +yy665: yych = *++YYCURSOR; - if (yych == 'd') goto yy750; + if (yych == 'd') goto yy770; goto yy100; -yy653: +yy666: yych = *++YYCURSOR; - if (yych == 'a') goto yy751; + if (yych == 'a') goto yy771; goto yy100; -yy654: +yy667: yych = *++YYCURSOR; - if (yych == 'n') goto yy753; + if (yych == 'n') goto yy773; goto yy100; -yy655: +yy668: ++YYCURSOR; -#line 314 "strict_cpp.re" +#line 322 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_UNDEF); } -#line 4432 "strict_cpp_re.inc" -yy657: +#line 4555 "strict_cpp_re.inc" +yy670: yych = *++YYCURSOR; - if (yych == 'n') goto yy755; + if (yych == 'n') goto yy775; goto yy100; -yy658: +yy671: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -4447,42 +4570,42 @@ yy658: if (yych <= 'f') goto yy281; goto yy100; } -yy659: +yy672: ++YYCURSOR; -#line 234 "strict_cpp.re" +#line 242 "strict_cpp.re" { BOOST_WAVE_RET(T_OROR_TRIGRAPH); } -#line 4455 "strict_cpp_re.inc" -yy661: +#line 4578 "strict_cpp_re.inc" +yy674: ++YYCURSOR; -#line 156 "strict_cpp.re" +#line 164 "strict_cpp.re" { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); } -#line 4460 "strict_cpp_re.inc" -yy663: +#line 4583 "strict_cpp_re.inc" +yy676: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy756; + if (yych == 'p') goto yy776; goto yy55; -yy664: +yy677: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy757; + if (yych == 'l') goto yy777; goto yy55; -yy665: +yy678: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '6') goto yy758; + if (yych == '6') goto yy778; goto yy55; -yy666: +yy679: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '2') goto yy760; + if (yych == '2') goto yy780; goto yy55; -yy667: +yy680: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '4') goto yy762; + if (yych == '4') goto yy782; goto yy55; -yy668: +yy681: yyaccept = 51; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4490,16 +4613,16 @@ yy668: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy669: -#line 122 "strict_cpp.re" +yy682: +#line 130 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT8 : T_IDENTIFIER); } -#line 4497 "strict_cpp_re.inc" -yy670: +#line 4620 "strict_cpp_re.inc" +yy683: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy764; + if (yych == 'e') goto yy784; goto yy55; -yy671: +yy684: yyaccept = 52; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4507,11 +4630,11 @@ yy671: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy672: -#line 126 "strict_cpp.re" +yy685: +#line 134 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_BASED : T_IDENTIFIER); } -#line 4514 "strict_cpp_re.inc" -yy673: +#line 4637 "strict_cpp_re.inc" +yy686: yyaccept = 53; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4519,41 +4642,41 @@ yy673: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy674: -#line 128 "strict_cpp.re" +yy687: +#line 136 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_CDECL : T_IDENTIFIER); } -#line 4526 "strict_cpp_re.inc" -yy675: +#line 4649 "strict_cpp_re.inc" +yy688: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy766; + if (yych == 'p') goto yy786; goto yy55; -yy676: +yy689: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy767; + if (yych == 'a') goto yy787; goto yy55; -yy677: +yy690: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy768; + if (yych == 'e') goto yy788; goto yy55; -yy678: +yy691: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy770; + if (yych == 'l') goto yy790; goto yy55; -yy679: +yy692: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy771; + if (yych == 's') goto yy791; goto yy55; -yy680: +yy693: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'f') goto yy773; + if (yych == 'f') goto yy793; goto yy55; -yy681: +yy694: yyaccept = 54; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4561,11 +4684,11 @@ yy681: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy682: -#line 215 "strict_cpp.re" +yy695: +#line 223 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ANDASSIGN_ALT); } -#line 4568 "strict_cpp_re.inc" -yy683: +#line 4691 "strict_cpp_re.inc" +yy696: yyaccept = 55; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4573,46 +4696,77 @@ yy683: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy684: -#line 194 "strict_cpp.re" +yy697: +#line 202 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_AND_ALT); } -#line 4580 "strict_cpp_re.inc" -yy685: +#line 4703 "strict_cpp_re.inc" +yy698: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy775; + if (yych == '_') goto yy795; goto yy55; -yy686: +yy699: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy776; + if (yych == '_') goto yy796; goto yy55; -yy687: +yy700: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy777; + if (yych == 't') goto yy797; goto yy55; -yy688: +yy701: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'x') goto yy778; + if (yych == 'i') goto yy799; goto yy55; -yy689: +yy702: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy779; + if (yych == 'u') goto yy800; goto yy55; -yy690: +yy703: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy780; + if (yych == 'l') goto yy801; goto yy55; -yy691: +yy704: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy781; + if (yych == 't') goto yy802; goto yy55; -yy692: +yy705: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'c') goto yy804; + goto yy55; +yy706: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'v') goto yy805; + if (yych == 'x') goto yy806; + goto yy55; +yy707: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'n') goto yy807; + goto yy55; +yy708: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'u') goto yy808; + goto yy55; +yy709: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'p') goto yy809; + goto yy55; +yy710: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy810; + goto yy55; +yy711: yyaccept = 56; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4620,11 +4774,11 @@ yy692: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy693: -#line 65 "strict_cpp.re" +yy712: +#line 72 "strict_cpp.re" { BOOST_WAVE_RET(T_DELETE); } -#line 4627 "strict_cpp_re.inc" -yy694: +#line 4781 "strict_cpp_re.inc" +yy713: yyaccept = 57; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4632,21 +4786,21 @@ yy694: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy695: -#line 67 "strict_cpp.re" +yy714: +#line 74 "strict_cpp.re" { BOOST_WAVE_RET(T_DOUBLE); } -#line 4639 "strict_cpp_re.inc" -yy696: +#line 4793 "strict_cpp_re.inc" +yy715: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy783; + if (yych == 'c') goto yy812; goto yy55; -yy697: +yy716: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy784; + if (yych == 'i') goto yy813; goto yy55; -yy698: +yy717: yyaccept = 58; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4654,11 +4808,11 @@ yy698: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy699: -#line 72 "strict_cpp.re" +yy718: +#line 79 "strict_cpp.re" { BOOST_WAVE_RET(T_EXPORT); } -#line 4661 "strict_cpp_re.inc" -yy700: +#line 4815 "strict_cpp_re.inc" +yy719: yyaccept = 59; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4666,11 +4820,11 @@ yy700: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy701: -#line 73 "strict_cpp.re" +yy720: +#line 80 "strict_cpp.re" { BOOST_WAVE_RET(T_EXTERN); } -#line 4673 "strict_cpp_re.inc" -yy702: +#line 4827 "strict_cpp_re.inc" +yy721: yyaccept = 60; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4678,11 +4832,11 @@ yy702: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy703: -#line 77 "strict_cpp.re" +yy722: +#line 84 "strict_cpp.re" { BOOST_WAVE_RET(T_FRIEND); } -#line 4685 "strict_cpp_re.inc" -yy704: +#line 4839 "strict_cpp_re.inc" +yy723: yyaccept = 61; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4690,11 +4844,11 @@ yy704: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy705: -#line 80 "strict_cpp.re" +yy724: +#line 87 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_import_keyword ? T_IMPORT : T_IDENTIFIER); } -#line 4697 "strict_cpp_re.inc" -yy706: +#line 4851 "strict_cpp_re.inc" +yy725: yyaccept = 62; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4702,26 +4856,26 @@ yy706: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy707: -#line 81 "strict_cpp.re" +yy726: +#line 88 "strict_cpp.re" { BOOST_WAVE_RET(T_INLINE); } -#line 4709 "strict_cpp_re.inc" -yy708: +#line 4863 "strict_cpp_re.inc" +yy727: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy785; + if (yych == 'e') goto yy814; goto yy55; -yy709: +yy728: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy787; + if (yych == 'a') goto yy816; goto yy55; -yy710: +yy729: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy788; + if (yych == 'p') goto yy817; goto yy55; -yy711: +yy730: yyaccept = 63; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4729,31 +4883,31 @@ yy711: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy712: -#line 225 "strict_cpp.re" +yy731: +#line 233 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_NOTEQUAL_ALT); } -#line 4736 "strict_cpp_re.inc" -yy713: +#line 4890 "strict_cpp_re.inc" +yy732: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy789; + if (yych == 'r') goto yy818; goto yy55; -yy714: +yy733: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy791; + if (yych == 'o') goto yy820; goto yy55; -yy715: +yy734: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy792; + if (yych == 'e') goto yy821; goto yy55; -yy716: +yy735: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy794; + if (yych == 't') goto yy823; goto yy55; -yy717: +yy736: yyaccept = 64; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4761,21 +4915,26 @@ yy717: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy718: -#line 92 "strict_cpp.re" +yy737: +#line 99 "strict_cpp.re" { BOOST_WAVE_RET(T_PUBLIC); } -#line 4768 "strict_cpp_re.inc" -yy719: +#line 4922 "strict_cpp_re.inc" +yy738: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy795; + if (yych == 'e') goto yy824; goto yy55; -yy720: +yy739: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy796; + if (yych == 'r') goto yy825; goto yy55; -yy721: +yy740: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy826; + goto yy55; +yy741: yyaccept = 65; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4783,11 +4942,11 @@ yy721: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy722: -#line 95 "strict_cpp.re" +yy742: +#line 103 "strict_cpp.re" { BOOST_WAVE_RET(T_RETURN); } -#line 4790 "strict_cpp_re.inc" -yy723: +#line 4949 "strict_cpp_re.inc" +yy743: yyaccept = 66; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4795,11 +4954,11 @@ yy723: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy724: -#line 97 "strict_cpp.re" +yy744: +#line 105 "strict_cpp.re" { BOOST_WAVE_RET(T_SIGNED); } -#line 4802 "strict_cpp_re.inc" -yy725: +#line 4961 "strict_cpp_re.inc" +yy745: yyaccept = 67; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4807,16 +4966,16 @@ yy725: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy726: -#line 98 "strict_cpp.re" +yy746: +#line 106 "strict_cpp.re" { BOOST_WAVE_RET(T_SIZEOF); } -#line 4814 "strict_cpp_re.inc" -yy727: +#line 4973 "strict_cpp_re.inc" +yy747: yyaccept = 68; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Z') { if (yych <= '>') { - if (yych <= '/') goto yy728; + if (yych <= '/') goto yy748; if (yych <= '9') goto yy54; } else { if (yych <= '?') goto yy173; @@ -4826,16 +4985,16 @@ yy727: if (yych <= '^') { if (yych == '\\') goto yy174; } else { - if (yych <= '_') goto yy797; - if (yych <= '`') goto yy728; + if (yych <= '_') goto yy827; + if (yych <= '`') goto yy748; if (yych <= 'z') goto yy54; } } -yy728: -#line 99 "strict_cpp.re" +yy748: +#line 107 "strict_cpp.re" { BOOST_WAVE_RET(T_STATIC); } -#line 4838 "strict_cpp_re.inc" -yy729: +#line 4997 "strict_cpp_re.inc" +yy749: yyaccept = 69; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4843,11 +5002,11 @@ yy729: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy730: -#line 102 "strict_cpp.re" +yy750: +#line 110 "strict_cpp.re" { BOOST_WAVE_RET(T_STRUCT); } -#line 4850 "strict_cpp_re.inc" -yy731: +#line 5009 "strict_cpp_re.inc" +yy751: yyaccept = 70; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4855,26 +5014,26 @@ yy731: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy732: -#line 103 "strict_cpp.re" +yy752: +#line 111 "strict_cpp.re" { BOOST_WAVE_RET(T_SWITCH); } -#line 4862 "strict_cpp_re.inc" -yy733: +#line 5021 "strict_cpp_re.inc" +yy753: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy798; + if (yych == 't') goto yy828; goto yy55; -yy734: +yy754: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy799; + if (yych == '_') goto yy829; goto yy55; -yy735: +yy755: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'f') goto yy800; + if (yych == 'f') goto yy830; goto yy55; -yy736: +yy756: yyaccept = 71; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4882,36 +5041,36 @@ yy736: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy737: -#line 111 "strict_cpp.re" +yy757: +#line 119 "strict_cpp.re" { BOOST_WAVE_RET(T_TYPEID); } -#line 4889 "strict_cpp_re.inc" -yy738: +#line 5048 "strict_cpp_re.inc" +yy758: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'm') goto yy802; + if (yych == 'm') goto yy832; goto yy55; -yy739: +yy759: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy803; + if (yych == 'e') goto yy833; goto yy55; -yy740: +yy760: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy804; + if (yych == 'l') goto yy834; goto yy55; -yy741: +yy761: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy806; + if (yych == 'l') goto yy836; goto yy55; -yy742: +yy762: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy807; + if (yych == 't') goto yy837; goto yy55; -yy743: +yy763: yyaccept = 72; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4919,53 +5078,53 @@ yy743: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy744: -#line 212 "strict_cpp.re" +yy764: +#line 220 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_XORASSIGN_ALT); } -#line 4926 "strict_cpp_re.inc" -yy745: +#line 5085 "strict_cpp_re.inc" +yy765: ++YYCURSOR; -#line 313 "strict_cpp.re" +#line 321 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_DEFINE); } -#line 4931 "strict_cpp_re.inc" -yy747: +#line 5090 "strict_cpp_re.inc" +yy767: yych = *++YYCURSOR; - if (yych == 'i') goto yy809; + if (yych == 'i') goto yy839; goto yy100; -yy748: +yy768: ++YYCURSOR; -#line 309 "strict_cpp.re" +#line 317 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_IFNDEF); } -#line 4940 "strict_cpp_re.inc" -yy750: +#line 5099 "strict_cpp_re.inc" +yy770: yych = *++YYCURSOR; - if (yych == 'e') goto yy810; + if (yych == 'e') goto yy840; goto yy100; -yy751: +yy771: ++YYCURSOR; -#line 317 "strict_cpp.re" +#line 325 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_PRAGMA); } -#line 4949 "strict_cpp_re.inc" -yy753: +#line 5108 "strict_cpp_re.inc" +yy773: ++YYCURSOR; -#line 321 "strict_cpp.re" +#line 329 "strict_cpp.re" { BOOST_WAVE_RET(T_MSEXT_PP_REGION); } -#line 4954 "strict_cpp_re.inc" -yy755: +#line 5113 "strict_cpp_re.inc" +yy775: yych = *++YYCURSOR; - if (yych == 'g') goto yy812; + if (yych == 'g') goto yy842; goto yy100; -yy756: +yy776: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy814; + if (yych == 't') goto yy844; goto yy55; -yy757: +yy777: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy816; + if (yych == 'l') goto yy846; goto yy55; -yy758: +yy778: yyaccept = 73; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4973,11 +5132,11 @@ yy758: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy759: -#line 123 "strict_cpp.re" +yy779: +#line 131 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT16 : T_IDENTIFIER); } -#line 4980 "strict_cpp_re.inc" -yy760: +#line 5139 "strict_cpp_re.inc" +yy780: yyaccept = 74; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4985,11 +5144,11 @@ yy760: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy761: -#line 124 "strict_cpp.re" +yy781: +#line 132 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT32 : T_IDENTIFIER); } -#line 4992 "strict_cpp_re.inc" -yy762: +#line 5151 "strict_cpp_re.inc" +yy782: yyaccept = 75; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -4997,11 +5156,11 @@ yy762: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy763: -#line 125 "strict_cpp.re" +yy783: +#line 133 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT64 : T_IDENTIFIER); } -#line 5004 "strict_cpp_re.inc" -yy764: +#line 5163 "strict_cpp_re.inc" +yy784: yyaccept = 76; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -5009,21 +5168,21 @@ yy764: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy765: -#line 134 "strict_cpp.re" +yy785: +#line 142 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_LEAVE : T_IDENTIFIER); } -#line 5016 "strict_cpp_re.inc" -yy766: +#line 5175 "strict_cpp_re.inc" +yy786: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy817; + if (yych == 'e') goto yy847; goto yy55; -yy767: +yy787: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy818; + if (yych == 'l') goto yy848; goto yy55; -yy768: +yy788: yyaccept = 77; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -5031,16 +5190,16 @@ yy768: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy769: -#line 135 "strict_cpp.re" +yy789: +#line 143 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INLINE : T_IDENTIFIER); } -#line 5038 "strict_cpp_re.inc" -yy770: +#line 5197 "strict_cpp_re.inc" +yy790: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy819; + if (yych == 'l') goto yy849; goto yy55; -yy771: +yy791: yyaccept = 78; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -5048,11 +5207,11 @@ yy771: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy772: +yy792: #line 47 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_ALIGNAS : T_IDENTIFIER); } -#line 5055 "strict_cpp_re.inc" -yy773: +#line 5214 "strict_cpp_re.inc" +yy793: yyaccept = 79; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { @@ -5060,828 +5219,969 @@ yy773: } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy774: +yy794: #line 48 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_ALIGNOF : T_IDENTIFIER); } -#line 5067 "strict_cpp_re.inc" -yy775: +#line 5226 "strict_cpp_re.inc" +yy795: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy821; + if (yych == 't') goto yy851; goto yy55; -yy776: +yy796: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy823; + if (yych == 't') goto yy853; goto yy55; -yy777: +yy797: + yyaccept = 80; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy54; + } + if (yych == '?') goto yy173; + if (yych == '\\') goto yy174; +yy798: +#line 56 "strict_cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CHAR8_T : T_IDENTIFIER); } +#line 5248 "strict_cpp_re.inc" +yy799: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy825; + if (yych == 't') goto yy855; goto yy55; -yy778: +yy800: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy826; + if (yych == 'r') goto yy857; goto yy55; -yy779: +yy801: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy827; + if (yych == 'd') goto yy858; goto yy55; -yy780: +yy802: + yyaccept = 81; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy54; + } + if (yych == '?') goto yy173; + if (yych == '\\') goto yy174; +yy803: +#line 60 "strict_cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONCEPT : T_IDENTIFIER); } +#line 5275 "strict_cpp_re.inc" +yy804: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy829; + if (yych == 'a') goto yy860; goto yy55; -yy781: - yyaccept = 80; +yy805: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'a') goto yy861; + goto yy55; +yy806: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'p') goto yy862; + goto yy55; +yy807: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'i') goto yy863; + goto yy55; +yy808: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy864; + goto yy55; +yy809: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'e') goto yy866; + goto yy55; +yy810: + yyaccept = 82; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy782: -#line 64 "strict_cpp.re" +yy811: +#line 71 "strict_cpp.re" { BOOST_WAVE_RET(T_DEFAULT); } -#line 5109 "strict_cpp_re.inc" -yy783: +#line 5317 "strict_cpp_re.inc" +yy812: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy831; + if (yych == '_') goto yy868; goto yy55; -yy784: +yy813: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy832; + if (yych == 't') goto yy869; goto yy55; -yy785: - yyaccept = 81; +yy814: + yyaccept = 83; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy786: -#line 84 "strict_cpp.re" +yy815: +#line 91 "strict_cpp.re" { BOOST_WAVE_RET(T_MUTABLE); } -#line 5131 "strict_cpp_re.inc" -yy787: +#line 5339 "strict_cpp_re.inc" +yy816: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy834; + if (yych == 'c') goto yy871; goto yy55; -yy788: +yy817: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy835; + if (yych == 't') goto yy872; goto yy55; -yy789: - yyaccept = 82; +yy818: + yyaccept = 84; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy790: -#line 88 "strict_cpp.re" +yy819: +#line 95 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_NULLPTR : T_IDENTIFIER); } -#line 5153 "strict_cpp_re.inc" -yy791: +#line 5361 "strict_cpp_re.inc" +yy820: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy837; + if (yych == 'r') goto yy874; goto yy55; -yy792: - yyaccept = 83; +yy821: + yyaccept = 85; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy793: -#line 90 "strict_cpp.re" +yy822: +#line 97 "strict_cpp.re" { BOOST_WAVE_RET(T_PRIVATE); } -#line 5170 "strict_cpp_re.inc" -yy794: +#line 5378 "strict_cpp_re.inc" +yy823: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy839; + if (yych == 'e') goto yy876; goto yy55; -yy795: +yy824: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy840; + if (yych == 'r') goto yy877; goto yy55; -yy796: +yy825: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'p') goto yy842; + if (yych == 'p') goto yy879; goto yy55; -yy797: +yy826: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy843; - if (yych == 'c') goto yy844; + if (yych == 's') goto yy880; goto yy55; -yy798: +yy827: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy845; + if (yych == 'a') goto yy882; + if (yych == 'c') goto yy883; goto yy55; -yy799: +yy828: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy847; + if (yych == 'e') goto yy884; goto yy55; -yy800: - yyaccept = 84; +yy829: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'l') goto yy886; + goto yy55; +yy830: + yyaccept = 86; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy801: -#line 110 "strict_cpp.re" +yy831: +#line 118 "strict_cpp.re" { BOOST_WAVE_RET(T_TYPEDEF); } -#line 5213 "strict_cpp_re.inc" -yy802: +#line 5426 "strict_cpp_re.inc" +yy832: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy848; + if (yych == 'e') goto yy887; goto yy55; -yy803: +yy833: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy850; + if (yych == 'd') goto yy889; goto yy55; -yy804: - yyaccept = 85; +yy834: + yyaccept = 87; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy805: -#line 116 "strict_cpp.re" +yy835: +#line 124 "strict_cpp.re" { BOOST_WAVE_RET(T_VIRTUAL); } -#line 5235 "strict_cpp_re.inc" -yy806: +#line 5448 "strict_cpp_re.inc" +yy836: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy852; + if (yych == 'e') goto yy891; goto yy55; -yy807: - yyaccept = 86; +yy837: + yyaccept = 88; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy808: -#line 119 "strict_cpp.re" +yy838: +#line 127 "strict_cpp.re" { BOOST_WAVE_RET(T_WCHART); } -#line 5252 "strict_cpp_re.inc" -yy809: +#line 5465 "strict_cpp_re.inc" +yy839: yych = *++YYCURSOR; - if (yych == 'o') goto yy854; + if (yych == 'o') goto yy893; goto yy100; -yy810: - yyaccept = 87; +yy840: + yyaccept = 89; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy860; - goto yy856; -yy811: -#line 305 "strict_cpp.re" + if (yych == '_') goto yy899; + goto yy895; +yy841: +#line 313 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_INCLUDE); } -#line 5265 "strict_cpp_re.inc" -yy812: +#line 5478 "strict_cpp_re.inc" +yy842: ++YYCURSOR; -#line 319 "strict_cpp.re" +#line 327 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_WARNING); } -#line 5270 "strict_cpp_re.inc" -yy814: - yyaccept = 88; +#line 5483 "strict_cpp_re.inc" +yy844: + yyaccept = 90; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy815: -#line 132 "strict_cpp.re" +yy845: +#line 140 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_EXCEPT : T_IDENTIFIER); } -#line 5282 "strict_cpp_re.inc" -yy816: +#line 5495 "strict_cpp_re.inc" +yy846: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'y') goto yy861; + if (yych == 'y') goto yy900; goto yy55; -yy817: +yy847: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy863; + if (yych == 'c') goto yy902; goto yy55; -yy818: +yy848: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy865; + if (yych == 'l') goto yy904; goto yy55; -yy819: - yyaccept = 89; +yy849: + yyaccept = 91; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy820: -#line 130 "strict_cpp.re" +yy850: +#line 138 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_STDCALL : T_IDENTIFIER); } -#line 5309 "strict_cpp_re.inc" -yy821: - yyaccept = 90; +#line 5522 "strict_cpp_re.inc" +yy851: + yyaccept = 92; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy822: -#line 56 "strict_cpp.re" +yy852: +#line 57 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR16_T : T_IDENTIFIER); } -#line 5321 "strict_cpp_re.inc" -yy823: - yyaccept = 91; +#line 5534 "strict_cpp_re.inc" +yy853: + yyaccept = 93; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy824: -#line 57 "strict_cpp.re" +yy854: +#line 58 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR32_T : T_IDENTIFIER); } -#line 5333 "strict_cpp_re.inc" -yy825: +#line 5546 "strict_cpp_re.inc" +yy855: + yyaccept = 94; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy54; + } + if (yych == '?') goto yy173; + if (yych == '\\') goto yy174; +yy856: +#line 67 "strict_cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_AWAIT : T_IDENTIFIER); } +#line 5558 "strict_cpp_re.inc" +yy857: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy867; + if (yych == 'n') goto yy906; goto yy55; -yy826: +yy858: + yyaccept = 95; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy54; + } + if (yych == '?') goto yy173; + if (yych == '\\') goto yy174; +yy859: +#line 69 "strict_cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_YIELD : T_IDENTIFIER); } +#line 5575 "strict_cpp_re.inc" +yy860: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy868; + if (yych == 's') goto yy908; goto yy55; -yy827: - yyaccept = 92; +yy861: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'l') goto yy909; + goto yy55; +yy862: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'r') goto yy911; + goto yy55; +yy863: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy913; + goto yy55; +yy864: + yyaccept = 96; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy828: -#line 62 "strict_cpp.re" +yy865: +#line 66 "strict_cpp.re" { BOOST_WAVE_RET(T_CONTINUE); } -#line 5355 "strict_cpp_re.inc" -yy829: - yyaccept = 93; +#line 5607 "strict_cpp_re.inc" +yy866: + yyaccept = 97; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy830: -#line 63 "strict_cpp.re" +yy867: +#line 70 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_DECLTYPE : T_IDENTIFIER); } -#line 5367 "strict_cpp_re.inc" -yy831: +#line 5619 "strict_cpp_re.inc" +yy868: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy870; + if (yych == 'c') goto yy915; goto yy55; -yy832: - yyaccept = 94; +yy869: + yyaccept = 98; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy833: -#line 71 "strict_cpp.re" +yy870: +#line 78 "strict_cpp.re" { BOOST_WAVE_RET(T_EXPLICIT); } -#line 5384 "strict_cpp_re.inc" -yy834: +#line 5636 "strict_cpp_re.inc" +yy871: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy871; + if (yych == 'e') goto yy916; goto yy55; -yy835: - yyaccept = 95; +yy872: + yyaccept = 99; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy836: -#line 87 "strict_cpp.re" +yy873: +#line 94 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_NOEXCEPT : T_IDENTIFIER); } -#line 5401 "strict_cpp_re.inc" -yy837: - yyaccept = 96; +#line 5653 "strict_cpp_re.inc" +yy874: + yyaccept = 100; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy838: -#line 89 "strict_cpp.re" +yy875: +#line 96 "strict_cpp.re" { BOOST_WAVE_RET(T_OPERATOR); } -#line 5413 "strict_cpp_re.inc" -yy839: +#line 5665 "strict_cpp_re.inc" +yy876: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy873; + if (yych == 'd') goto yy918; goto yy55; -yy840: - yyaccept = 97; +yy877: + yyaccept = 101; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy841: -#line 93 "strict_cpp.re" +yy878: +#line 100 "strict_cpp.re" { BOOST_WAVE_RET(T_REGISTER); } -#line 5430 "strict_cpp_re.inc" -yy842: +#line 5682 "strict_cpp_re.inc" +yy879: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy875; + if (yych == 'r') goto yy920; goto yy55; -yy843: +yy880: + yyaccept = 102; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy54; + } + if (yych == '?') goto yy173; + if (yych == '\\') goto yy174; +yy881: +#line 102 "strict_cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_REQUIRES : T_IDENTIFIER); } +#line 5699 "strict_cpp_re.inc" +yy882: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy876; + if (yych == 's') goto yy921; goto yy55; -yy844: +yy883: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy877; + if (yych == 'a') goto yy922; goto yy55; -yy845: - yyaccept = 98; +yy884: + yyaccept = 103; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy846: -#line 104 "strict_cpp.re" +yy885: +#line 112 "strict_cpp.re" { BOOST_WAVE_RET(T_TEMPLATE); } -#line 5457 "strict_cpp_re.inc" -yy847: +#line 5721 "strict_cpp_re.inc" +yy886: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy878; + if (yych == 'o') goto yy923; goto yy55; -yy848: - yyaccept = 99; +yy887: + yyaccept = 104; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy849: -#line 112 "strict_cpp.re" +yy888: +#line 120 "strict_cpp.re" { BOOST_WAVE_RET(T_TYPENAME); } -#line 5474 "strict_cpp_re.inc" -yy850: - yyaccept = 100; +#line 5738 "strict_cpp_re.inc" +yy889: + yyaccept = 105; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy851: -#line 114 "strict_cpp.re" +yy890: +#line 122 "strict_cpp.re" { BOOST_WAVE_RET(T_UNSIGNED); } -#line 5486 "strict_cpp_re.inc" -yy852: - yyaccept = 101; +#line 5750 "strict_cpp_re.inc" +yy891: + yyaccept = 106; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy853: -#line 118 "strict_cpp.re" +yy892: +#line 126 "strict_cpp.re" { BOOST_WAVE_RET(T_VOLATILE); } -#line 5498 "strict_cpp_re.inc" -yy854: +#line 5762 "strict_cpp_re.inc" +yy893: yych = *++YYCURSOR; - if (yych == 'n') goto yy879; + if (yych == 'n') goto yy924; goto yy100; -yy855: - yyaccept = 87; +yy894: + yyaccept = 89; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; -yy856: +yy895: if (yych <= ' ') { if (yych <= '\n') { - if (yych == '\t') goto yy855; - goto yy811; + if (yych == '\t') goto yy894; + goto yy841; } else { - if (yych <= '\f') goto yy855; - if (yych <= 0x1F) goto yy811; - goto yy855; + if (yych <= '\f') goto yy894; + if (yych <= 0x1F) goto yy841; + goto yy894; } } else { if (yych <= '.') { - if (yych != '"') goto yy811; + if (yych != '"') goto yy841; } else { - if (yych <= '/') goto yy858; - if (yych == '<') goto yy859; - goto yy811; + if (yych <= '/') goto yy897; + if (yych == '<') goto yy898; + goto yy841; } } yych = *++YYCURSOR; if (yych == '"') goto yy100; - goto yy882; -yy858: + goto yy927; +yy897: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych == '*') goto yy883; + if (yych == '*') goto yy928; goto yy100; -yy859: +yy898: yych = *++YYCURSOR; if (yych == '>') goto yy100; - goto yy886; -yy860: + goto yy931; +yy899: yych = *++YYCURSOR; - if (yych == 'n') goto yy887; + if (yych == 'n') goto yy932; goto yy100; -yy861: - yyaccept = 102; +yy900: + yyaccept = 107; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy862: -#line 133 "strict_cpp.re" +yy901: +#line 141 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_FINALLY : T_IDENTIFIER); } -#line 5555 "strict_cpp_re.inc" -yy863: - yyaccept = 103; +#line 5819 "strict_cpp_re.inc" +yy902: + yyaccept = 108; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy864: -#line 127 "strict_cpp.re" +yy903: +#line 135 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_DECLSPEC : T_IDENTIFIER); } -#line 5567 "strict_cpp_re.inc" -yy865: - yyaccept = 104; +#line 5831 "strict_cpp_re.inc" +yy904: + yyaccept = 109; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy866: -#line 129 "strict_cpp.re" +yy905: +#line 137 "strict_cpp.re" { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_FASTCALL : T_IDENTIFIER); } -#line 5579 "strict_cpp_re.inc" -yy867: +#line 5843 "strict_cpp_re.inc" +yy906: + yyaccept = 110; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy54; + } + if (yych == '?') goto yy173; + if (yych == '\\') goto yy174; +yy907: +#line 68 "strict_cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_RETURN : T_IDENTIFIER); } +#line 5855 "strict_cpp_re.inc" +yy908: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy888; + if (yych == 't') goto yy933; goto yy55; -yy868: - yyaccept = 105; +yy909: + yyaccept = 111; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy869: -#line 60 "strict_cpp.re" +yy910: +#line 62 "strict_cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTEVAL : T_IDENTIFIER); } +#line 5872 "strict_cpp_re.inc" +yy911: + yyaccept = 112; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy54; + } + if (yych == '?') goto yy173; + if (yych == '\\') goto yy174; +yy912: +#line 63 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CONSTEXPR : T_IDENTIFIER); } -#line 5596 "strict_cpp_re.inc" -yy870: +#line 5884 "strict_cpp_re.inc" +yy913: + yyaccept = 113; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[256+yych] & 128) { + goto yy54; + } + if (yych == '?') goto yy173; + if (yych == '\\') goto yy174; +yy914: +#line 64 "strict_cpp.re" + { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTINIT : T_IDENTIFIER); } +#line 5896 "strict_cpp_re.inc" +yy915: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy890; + if (yych == 'a') goto yy935; goto yy55; -yy871: - yyaccept = 106; +yy916: + yyaccept = 114; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy872: -#line 85 "strict_cpp.re" +yy917: +#line 92 "strict_cpp.re" { BOOST_WAVE_RET(T_NAMESPACE); } -#line 5613 "strict_cpp_re.inc" -yy873: - yyaccept = 107; +#line 5913 "strict_cpp_re.inc" +yy918: + yyaccept = 115; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy874: -#line 91 "strict_cpp.re" +yy919: +#line 98 "strict_cpp.re" { BOOST_WAVE_RET(T_PROTECTED); } -#line 5625 "strict_cpp_re.inc" -yy875: +#line 5925 "strict_cpp_re.inc" +yy920: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy891; + if (yych == 'e') goto yy936; goto yy55; -yy876: +yy921: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy892; + if (yych == 's') goto yy937; goto yy55; -yy877: +yy922: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy893; + if (yych == 's') goto yy938; goto yy55; -yy878: +yy923: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy894; + if (yych == 'c') goto yy939; goto yy55; -yy879: +yy924: ++YYCURSOR; -#line 322 "strict_cpp.re" +#line 330 "strict_cpp.re" { BOOST_WAVE_RET(T_MSEXT_PP_ENDREGION); } -#line 5650 "strict_cpp_re.inc" -yy881: +#line 5950 "strict_cpp_re.inc" +yy926: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy882: +yy927: if (yybm[0+yych] & 64) { - goto yy881; + goto yy926; } if (yych <= 0x1F) goto yy100; - goto yy895; -yy883: + goto yy940; +yy928: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x08) goto yy100; - if (yych <= '\r') goto yy883; + if (yych <= '\r') goto yy928; goto yy100; } else { - if (yych == '*') goto yy897; - goto yy883; + if (yych == '*') goto yy942; + goto yy928; } -yy885: +yy930: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy886: +yy931: if (yybm[0+yych] & 128) { - goto yy885; + goto yy930; } if (yych <= 0x1F) goto yy100; - goto yy899; -yy887: + goto yy944; +yy932: yych = *++YYCURSOR; - if (yych == 'e') goto yy901; + if (yych == 'e') goto yy946; goto yy100; -yy888: - yyaccept = 108; +yy933: + yyaccept = 116; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy889: -#line 61 "strict_cpp.re" +yy934: +#line 65 "strict_cpp.re" { BOOST_WAVE_RET(T_CONSTCAST); } -#line 5698 "strict_cpp_re.inc" -yy890: +#line 5998 "strict_cpp_re.inc" +yy935: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 's') goto yy902; + if (yych == 's') goto yy947; goto yy55; -yy891: +yy936: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy903; + if (yych == 't') goto yy948; goto yy55; -yy892: +yy937: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy904; + if (yych == 'e') goto yy949; goto yy55; -yy893: +yy938: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy905; + if (yych == 't') goto yy950; goto yy55; -yy894: +yy939: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy907; + if (yych == 'a') goto yy952; goto yy55; -yy895: +yy940: ++YYCURSOR; -#line 302 "strict_cpp.re" +#line 310 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_QHEADER); } -#line 5728 "strict_cpp_re.inc" -yy897: +#line 6028 "strict_cpp_re.inc" +yy942: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= ')') { if (yych <= 0x08) goto yy100; - if (yych <= '\r') goto yy883; + if (yych <= '\r') goto yy928; if (yych <= 0x1F) goto yy100; - goto yy883; + goto yy928; } else { - if (yych <= '*') goto yy897; - if (yych == '/') goto yy855; - goto yy883; + if (yych <= '*') goto yy942; + if (yych == '/') goto yy894; + goto yy928; } -yy899: +yy944: ++YYCURSOR; -#line 299 "strict_cpp.re" +#line 307 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_HHEADER); } -#line 5747 "strict_cpp_re.inc" -yy901: +#line 6047 "strict_cpp_re.inc" +yy946: yych = *++YYCURSOR; - if (yych == 'x') goto yy908; + if (yych == 'x') goto yy953; goto yy100; -yy902: +yy947: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy909; + if (yych == 't') goto yy954; goto yy55; -yy903: +yy948: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy911; + if (yych == '_') goto yy956; goto yy55; -yy904: +yy949: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy912; + if (yych == 'r') goto yy957; goto yy55; -yy905: - yyaccept = 109; +yy950: + yyaccept = 117; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy906: -#line 100 "strict_cpp.re" +yy951: +#line 108 "strict_cpp.re" { BOOST_WAVE_RET(T_STATICCAST); } -#line 5778 "strict_cpp_re.inc" -yy907: +#line 6078 "strict_cpp_re.inc" +yy952: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'l') goto yy913; + if (yych == 'l') goto yy958; goto yy55; -yy908: +yy953: yych = *++YYCURSOR; - if (yych == 't') goto yy855; + if (yych == 't') goto yy894; goto yy100; -yy909: - yyaccept = 110; +yy954: + yyaccept = 118; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy910: -#line 68 "strict_cpp.re" +yy955: +#line 75 "strict_cpp.re" { BOOST_WAVE_RET(T_DYNAMICCAST); } -#line 5799 "strict_cpp_re.inc" -yy911: +#line 6099 "strict_cpp_re.inc" +yy956: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'c') goto yy915; + if (yych == 'c') goto yy960; goto yy55; -yy912: +yy957: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 't') goto yy916; + if (yych == 't') goto yy961; goto yy55; -yy913: - yyaccept = 111; +yy958: + yyaccept = 119; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy914: -#line 106 "strict_cpp.re" +yy959: +#line 114 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_THREADLOCAL : T_IDENTIFIER); } -#line 5821 "strict_cpp_re.inc" -yy915: +#line 6121 "strict_cpp_re.inc" +yy960: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy918; + if (yych == 'a') goto yy963; goto yy55; -yy916: - yyaccept = 112; +yy961: + yyaccept = 120; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy917: -#line 101 "strict_cpp.re" +yy962: +#line 109 "strict_cpp.re" { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_STATICASSERT : T_IDENTIFIER); } -#line 5838 "strict_cpp_re.inc" -yy918: +#line 6138 "strict_cpp_re.inc" +yy963: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych != 's') goto yy55; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych != 't') goto yy55; - yyaccept = 113; + yyaccept = 121; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 128) { goto yy54; } if (yych == '?') goto yy173; if (yych == '\\') goto yy174; -yy921: -#line 94 "strict_cpp.re" +yy966: +#line 101 "strict_cpp.re" { BOOST_WAVE_RET(T_REINTERPRETCAST); } -#line 5856 "strict_cpp_re.inc" +#line 6156 "strict_cpp_re.inc" } -#line 354 "strict_cpp.re" +#line 362 "strict_cpp.re" ccomment: -#line 5863 "strict_cpp_re.inc" +#line 6163 "strict_cpp_re.inc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '\f') { if (yych <= 0x08) { - if (yych >= 0x01) goto yy926; + if (yych >= 0x01) goto yy971; } else { - if (yych == '\n') goto yy930; - goto yy928; + if (yych == '\n') goto yy975; + goto yy973; } } else { if (yych <= 0x1F) { - if (yych <= '\r') goto yy932; - goto yy926; + if (yych <= '\r') goto yy977; + goto yy971; } else { - if (yych == '*') goto yy933; - goto yy928; + if (yych == '*') goto yy978; + goto yy973; } } ++YYCURSOR; -#line 372 "strict_cpp.re" +#line 380 "strict_cpp.re" { if(cursor == s->eof) { @@ -5897,27 +6197,27 @@ ccomment: "invalid character: '\\000' in input stream"); } } -#line 5901 "strict_cpp_re.inc" -yy926: +#line 6201 "strict_cpp_re.inc" +yy971: ++YYCURSOR; -#line 389 "strict_cpp.re" +#line 397 "strict_cpp.re" { // flag the error BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor (*s->error_proc)(s, lexing_exception::generic_lexing_error, "invalid character '\\%03o' in input stream", *--YYCURSOR); } -#line 5911 "strict_cpp_re.inc" -yy928: +#line 6211 "strict_cpp_re.inc" +yy973: ++YYCURSOR; -yy929: -#line 369 "strict_cpp.re" +yy974: +#line 377 "strict_cpp.re" { goto ccomment; } -#line 5917 "strict_cpp_re.inc" -yy930: +#line 6217 "strict_cpp_re.inc" +yy975: ++YYCURSOR; -yy931: -#line 361 "strict_cpp.re" +yy976: +#line 369 "strict_cpp.re" { /*if(cursor == s->eof) BOOST_WAVE_RET(T_EOF);*/ /*s->tok = cursor; */ @@ -5925,43 +6225,43 @@ yy931: cursor.column = 1; goto ccomment; } -#line 5929 "strict_cpp_re.inc" -yy932: +#line 6229 "strict_cpp_re.inc" +yy977: yych = *++YYCURSOR; - if (yych == '\n') goto yy930; - goto yy931; -yy933: + if (yych == '\n') goto yy975; + goto yy976; +yy978: yych = *++YYCURSOR; - if (yych != '/') goto yy929; + if (yych != '/') goto yy974; ++YYCURSOR; -#line 358 "strict_cpp.re" +#line 366 "strict_cpp.re" { BOOST_WAVE_RET(T_CCOMMENT); } -#line 5940 "strict_cpp_re.inc" +#line 6240 "strict_cpp_re.inc" } -#line 395 "strict_cpp.re" +#line 403 "strict_cpp.re" cppcomment: -#line 5947 "strict_cpp_re.inc" +#line 6247 "strict_cpp_re.inc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '\n') { - if (yych <= 0x00) goto yy938; - if (yych <= 0x08) goto yy940; - if (yych <= '\t') goto yy942; - goto yy944; + if (yych <= 0x00) goto yy983; + if (yych <= 0x08) goto yy985; + if (yych <= '\t') goto yy987; + goto yy989; } else { - if (yych <= '\f') goto yy942; - if (yych <= '\r') goto yy946; - if (yych <= 0x1F) goto yy940; - goto yy942; + if (yych <= '\f') goto yy987; + if (yych <= '\r') goto yy991; + if (yych <= 0x1F) goto yy985; + goto yy987; } -yy938: +yy983: ++YYCURSOR; -#line 411 "strict_cpp.re" +#line 419 "strict_cpp.re" { if (s->eof && cursor != s->eof) { @@ -5980,26 +6280,26 @@ yy938: } BOOST_WAVE_RET(T_CPPCOMMENT); } -#line 5984 "strict_cpp_re.inc" -yy940: +#line 6284 "strict_cpp_re.inc" +yy985: ++YYCURSOR; -#line 431 "strict_cpp.re" +#line 439 "strict_cpp.re" { // flag the error BOOST_WAVE_UPDATE_CURSOR(); // adjust the input cursor (*s->error_proc)(s, lexing_exception::generic_lexing_error, "invalid character '\\%03o' in input stream", *--YYCURSOR); } -#line 5994 "strict_cpp_re.inc" -yy942: +#line 6294 "strict_cpp_re.inc" +yy987: ++YYCURSOR; -#line 408 "strict_cpp.re" +#line 416 "strict_cpp.re" { goto cppcomment; } -#line 5999 "strict_cpp_re.inc" -yy944: +#line 6299 "strict_cpp_re.inc" +yy989: ++YYCURSOR; -yy945: -#line 400 "strict_cpp.re" +yy990: +#line 408 "strict_cpp.re" { /*if(cursor == s->eof) BOOST_WAVE_RET(T_EOF); */ /*s->tok = cursor; */ @@ -6007,13 +6307,13 @@ yy945: cursor.column = 1; BOOST_WAVE_RET(T_CPPCOMMENT); } -#line 6011 "strict_cpp_re.inc" -yy946: +#line 6311 "strict_cpp_re.inc" +yy991: yych = *++YYCURSOR; - if (yych == '\n') goto yy944; - goto yy945; + if (yych == '\n') goto yy989; + goto yy990; } -#line 437 "strict_cpp.re" +#line 445 "strict_cpp.re" /* this subscanner is called whenever a pp_number has been started */ @@ -6025,7 +6325,7 @@ pp_number: if (s->detect_pp_numbers) { -#line 6029 "strict_cpp_re.inc" +#line 6329 "strict_cpp_re.inc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -6064,215 +6364,215 @@ pp_number: }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if (yych == '.') goto yy951; - if (yych <= '/') goto yy949; - if (yych <= '9') goto yy952; -yy949: + if (yych == '.') goto yy996; + if (yych <= '/') goto yy994; + if (yych <= '9') goto yy997; +yy994: ++YYCURSOR; -yy950: -#line 451 "strict_cpp.re" +yy995: +#line 459 "strict_cpp.re" { BOOST_ASSERT(false); } -#line 6076 "strict_cpp_re.inc" -yy951: +#line 6376 "strict_cpp_re.inc" +yy996: yych = *++YYCURSOR; - if (yych <= '/') goto yy950; - if (yych >= ':') goto yy950; -yy952: + if (yych <= '/') goto yy995; + if (yych >= ':') goto yy995; +yy997: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 64) { - goto yy952; + goto yy997; } if (yych <= 'E') { - if (yych == '?') goto yy955; - if (yych >= 'A') goto yy957; + if (yych == '?') goto yy1000; + if (yych >= 'A') goto yy1002; } else { if (yych <= '\\') { - if (yych >= '\\') goto yy959; + if (yych >= '\\') goto yy1004; } else { - if (yych <= '`') goto yy954; - if (yych <= 'e') goto yy957; + if (yych <= '`') goto yy999; + if (yych <= 'e') goto yy1002; } } -yy954: -#line 449 "strict_cpp.re" +yy999: +#line 457 "strict_cpp.re" { BOOST_WAVE_RET(T_PP_NUMBER); } -#line 6102 "strict_cpp_re.inc" -yy955: +#line 6402 "strict_cpp_re.inc" +yy1000: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych == '?') goto yy960; -yy956: + if (yych == '?') goto yy1005; +yy1001: YYCURSOR = YYMARKER; - goto yy954; -yy957: + goto yy999; +yy1002: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { - goto yy957; + goto yy1002; } if (yych <= '?') { if (yych <= '.') { - if (yych == '+') goto yy952; - if (yych <= ',') goto yy954; - goto yy952; + if (yych == '+') goto yy997; + if (yych <= ',') goto yy999; + goto yy997; } else { - if (yych <= '/') goto yy954; - if (yych <= '9') goto yy952; - if (yych <= '>') goto yy954; - goto yy955; + if (yych <= '/') goto yy999; + if (yych <= '9') goto yy997; + if (yych <= '>') goto yy999; + goto yy1000; } } else { if (yych <= '\\') { - if (yych <= '@') goto yy954; - if (yych <= 'Z') goto yy952; - if (yych <= '[') goto yy954; + if (yych <= '@') goto yy999; + if (yych <= 'Z') goto yy997; + if (yych <= '[') goto yy999; } else { if (yych <= '_') { - if (yych <= '^') goto yy954; - goto yy952; + if (yych <= '^') goto yy999; + goto yy997; } else { - if (yych <= '`') goto yy954; - if (yych <= 'z') goto yy952; - goto yy954; + if (yych <= '`') goto yy999; + if (yych <= 'z') goto yy997; + goto yy999; } } } -yy959: +yy1004: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych == 'U') goto yy961; - if (yych == 'u') goto yy962; - goto yy956; -yy960: + if (yych == 'U') goto yy1006; + if (yych == 'u') goto yy1007; + goto yy1001; +yy1005: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych == '/') goto yy959; - goto yy956; -yy961: + if (yych == '/') goto yy1004; + goto yy1001; +yy1006: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy963; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1008; + goto yy1001; } else { - if (yych <= 'F') goto yy963; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy963; - goto yy956; + if (yych <= 'F') goto yy1008; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1008; + goto yy1001; } -yy962: +yy1007: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy964; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1009; + goto yy1001; } else { - if (yych <= 'F') goto yy964; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy964; - goto yy956; + if (yych <= 'F') goto yy1009; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1009; + goto yy1001; } -yy963: +yy1008: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy965; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1010; + goto yy1001; } else { - if (yych <= 'F') goto yy965; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy965; - goto yy956; + if (yych <= 'F') goto yy1010; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1010; + goto yy1001; } -yy964: +yy1009: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy966; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1011; + goto yy1001; } else { - if (yych <= 'F') goto yy966; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy966; - goto yy956; + if (yych <= 'F') goto yy1011; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1011; + goto yy1001; } -yy965: +yy1010: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy967; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1012; + goto yy1001; } else { - if (yych <= 'F') goto yy967; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy967; - goto yy956; + if (yych <= 'F') goto yy1012; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1012; + goto yy1001; } -yy966: +yy1011: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy968; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1013; + goto yy1001; } else { - if (yych <= 'F') goto yy968; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy968; - goto yy956; + if (yych <= 'F') goto yy1013; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1013; + goto yy1001; } -yy967: +yy1012: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy962; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy1007; + goto yy1001; } else { - if (yych <= 'F') goto yy962; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy962; - goto yy956; + if (yych <= 'F') goto yy1007; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy1007; + goto yy1001; } -yy968: +yy1013: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy956; - if (yych <= '9') goto yy952; - goto yy956; + if (yych <= '/') goto yy1001; + if (yych <= '9') goto yy997; + goto yy1001; } else { - if (yych <= 'F') goto yy952; - if (yych <= '`') goto yy956; - if (yych <= 'f') goto yy952; - goto yy956; + if (yych <= 'F') goto yy997; + if (yych <= '`') goto yy1001; + if (yych <= 'f') goto yy997; + goto yy1001; } } -#line 452 "strict_cpp.re" +#line 460 "strict_cpp.re" } else { -#line 6276 "strict_cpp_re.inc" +#line 6576 "strict_cpp_re.inc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -6313,180 +6613,180 @@ yy968: if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy973; + if (yych == '.') goto yy1018; } else { - if (yych <= '0') goto yy974; - if (yych <= '9') goto yy976; + if (yych <= '0') goto yy1019; + if (yych <= '9') goto yy1021; } ++YYCURSOR; -yy972: -#line 461 "strict_cpp.re" +yy1017: +#line 469 "strict_cpp.re" { BOOST_ASSERT(false); } -#line 6326 "strict_cpp_re.inc" -yy973: +#line 6626 "strict_cpp_re.inc" +yy1018: yych = *++YYCURSOR; - if (yych <= '/') goto yy972; - if (yych <= '9') goto yy978; - goto yy972; -yy974: + if (yych <= '/') goto yy1017; + if (yych <= '9') goto yy1023; + goto yy1017; +yy1019: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'X') goto yy987; - if (yych == 'x') goto yy987; - goto yy982; -yy975: -#line 459 "strict_cpp.re" + if (yych == 'X') goto yy1032; + if (yych == 'x') goto yy1032; + goto yy1027; +yy1020: +#line 467 "strict_cpp.re" { goto integer_suffix; } -#line 6341 "strict_cpp_re.inc" -yy976: +#line 6641 "strict_cpp_re.inc" +yy1021: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yybm[0+yych] & 32) { - goto yy976; + goto yy1021; } if (yych <= 'D') { - if (yych != '.') goto yy975; + if (yych != '.') goto yy1020; } else { - if (yych <= 'E') goto yy986; - if (yych == 'e') goto yy986; - goto yy975; + if (yych <= 'E') goto yy1031; + if (yych == 'e') goto yy1031; + goto yy1020; } -yy978: +yy1023: yyaccept = 1; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= 'K') { if (yych <= 'D') { - if (yych <= '/') goto yy980; - if (yych <= '9') goto yy978; + if (yych <= '/') goto yy1025; + if (yych <= '9') goto yy1023; } else { - if (yych <= 'E') goto yy986; - if (yych <= 'F') goto yy988; + if (yych <= 'E') goto yy1031; + if (yych <= 'F') goto yy1033; } } else { if (yych <= 'e') { - if (yych <= 'L') goto yy989; - if (yych >= 'e') goto yy986; + if (yych <= 'L') goto yy1034; + if (yych >= 'e') goto yy1031; } else { - if (yych <= 'f') goto yy988; - if (yych == 'l') goto yy989; + if (yych <= 'f') goto yy1033; + if (yych == 'l') goto yy1034; } } -yy980: -#line 457 "strict_cpp.re" +yy1025: +#line 465 "strict_cpp.re" { BOOST_WAVE_RET(T_FLOATLIT); } -#line 6382 "strict_cpp_re.inc" -yy981: +#line 6682 "strict_cpp_re.inc" +yy1026: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; -yy982: +yy1027: if (yybm[0+yych] & 64) { - goto yy981; + goto yy1026; } if (yych <= '9') { - if (yych == '.') goto yy978; - if (yych <= '/') goto yy975; + if (yych == '.') goto yy1023; + if (yych <= '/') goto yy1020; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy975; - goto yy986; + if (yych <= 'D') goto yy1020; + goto yy1031; } else { - if (yych == 'e') goto yy986; - goto yy975; + if (yych == 'e') goto yy1031; + goto yy1020; } } -yy983: +yy1028: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= '9') { - if (yych == '.') goto yy978; - if (yych >= '0') goto yy983; + if (yych == '.') goto yy1023; + if (yych >= '0') goto yy1028; } else { if (yych <= 'E') { - if (yych >= 'E') goto yy986; + if (yych >= 'E') goto yy1031; } else { - if (yych == 'e') goto yy986; + if (yych == 'e') goto yy1031; } } -yy985: +yy1030: YYCURSOR = YYMARKER; if (yyaccept == 0) { - goto yy975; + goto yy1020; } else { - goto yy980; + goto yy1025; } -yy986: +yy1031: yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '+') goto yy990; - goto yy985; + if (yych == '+') goto yy1035; + goto yy1030; } else { - if (yych <= '-') goto yy990; - if (yych <= '/') goto yy985; - if (yych <= '9') goto yy991; - goto yy985; + if (yych <= '-') goto yy1035; + if (yych <= '/') goto yy1030; + if (yych <= '9') goto yy1036; + goto yy1030; } -yy987: +yy1032: yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy993; + goto yy1038; } - goto yy985; -yy988: + goto yy1030; +yy1033: yych = *++YYCURSOR; - if (yych == 'L') goto yy995; - if (yych == 'l') goto yy995; - goto yy980; -yy989: + if (yych == 'L') goto yy1040; + if (yych == 'l') goto yy1040; + goto yy1025; +yy1034: yych = *++YYCURSOR; - if (yych == 'F') goto yy995; - if (yych == 'f') goto yy995; - goto yy980; -yy990: + if (yych == 'F') goto yy1040; + if (yych == 'f') goto yy1040; + goto yy1025; +yy1035: yych = *++YYCURSOR; - if (yych <= '/') goto yy985; - if (yych >= ':') goto yy985; -yy991: + if (yych <= '/') goto yy1030; + if (yych >= ':') goto yy1030; +yy1036: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= 'K') { if (yych <= '9') { - if (yych <= '/') goto yy980; - goto yy991; + if (yych <= '/') goto yy1025; + goto yy1036; } else { - if (yych == 'F') goto yy988; - goto yy980; + if (yych == 'F') goto yy1033; + goto yy1025; } } else { if (yych <= 'f') { - if (yych <= 'L') goto yy989; - if (yych <= 'e') goto yy980; - goto yy988; + if (yych <= 'L') goto yy1034; + if (yych <= 'e') goto yy1025; + goto yy1033; } else { - if (yych == 'l') goto yy989; - goto yy980; + if (yych == 'l') goto yy1034; + goto yy1025; } } -yy993: +yy1038: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { - goto yy993; + goto yy1038; } - goto yy975; -yy995: + goto yy1020; +yy1040: ++YYCURSOR; - goto yy980; + goto yy1025; } -#line 462 "strict_cpp.re" +#line 470 "strict_cpp.re" } } @@ -6496,158 +6796,158 @@ integer_suffix: { if (s->enable_ms_extensions) { -#line 6500 "strict_cpp_re.inc" +#line 6800 "strict_cpp_re.inc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *(YYMARKER = YYCURSOR); if (yych <= 'h') { if (yych <= 'L') { - if (yych >= 'L') goto yy999; + if (yych >= 'L') goto yy1044; } else { - if (yych == 'U') goto yy1000; + if (yych == 'U') goto yy1045; } } else { if (yych <= 'l') { - if (yych <= 'i') goto yy1001; - if (yych >= 'l') goto yy1003; + if (yych <= 'i') goto yy1046; + if (yych >= 'l') goto yy1048; } else { - if (yych == 'u') goto yy1000; + if (yych == 'u') goto yy1045; } } -yy998: -#line 475 "strict_cpp.re" +yy1043: +#line 483 "strict_cpp.re" { BOOST_WAVE_RET(T_INTLIT); } -#line 6522 "strict_cpp_re.inc" -yy999: +#line 6822 "strict_cpp_re.inc" +yy1044: yych = *++YYCURSOR; if (yych <= 'T') { - if (yych == 'L') goto yy1004; - goto yy998; + if (yych == 'L') goto yy1049; + goto yy1043; } else { - if (yych <= 'U') goto yy1006; - if (yych == 'u') goto yy1006; - goto yy998; + if (yych <= 'U') goto yy1051; + if (yych == 'u') goto yy1051; + goto yy1043; } -yy1000: +yy1045: yych = *++YYCURSOR; - if (yych == 'L') goto yy1007; - if (yych == 'l') goto yy1008; - goto yy998; -yy1001: + if (yych == 'L') goto yy1052; + if (yych == 'l') goto yy1053; + goto yy1043; +yy1046: yych = *++YYCURSOR; - if (yych == '6') goto yy1009; -yy1002: + if (yych == '6') goto yy1054; +yy1047: YYCURSOR = YYMARKER; - goto yy998; -yy1003: + goto yy1043; +yy1048: yych = *++YYCURSOR; if (yych <= 'k') { - if (yych == 'U') goto yy1006; - goto yy998; + if (yych == 'U') goto yy1051; + goto yy1043; } else { - if (yych <= 'l') goto yy1004; - if (yych == 'u') goto yy1006; - goto yy998; + if (yych <= 'l') goto yy1049; + if (yych == 'u') goto yy1051; + goto yy1043; } -yy1004: +yy1049: yych = *++YYCURSOR; - if (yych == 'U') goto yy1010; - if (yych == 'u') goto yy1010; -yy1005: -#line 472 "strict_cpp.re" + if (yych == 'U') goto yy1055; + if (yych == 'u') goto yy1055; +yy1050: +#line 480 "strict_cpp.re" { BOOST_WAVE_RET(T_LONGINTLIT); } -#line 6561 "strict_cpp_re.inc" -yy1006: +#line 6861 "strict_cpp_re.inc" +yy1051: ++YYCURSOR; - goto yy998; -yy1007: + goto yy1043; +yy1052: yych = *++YYCURSOR; - if (yych == 'L') goto yy1010; - goto yy998; -yy1008: + if (yych == 'L') goto yy1055; + goto yy1043; +yy1053: yych = *++YYCURSOR; - if (yych == 'l') goto yy1010; - goto yy998; -yy1009: + if (yych == 'l') goto yy1055; + goto yy1043; +yy1054: yych = *++YYCURSOR; - if (yych != '4') goto yy1002; -yy1010: + if (yych != '4') goto yy1047; +yy1055: ++YYCURSOR; - goto yy1005; + goto yy1050; } -#line 477 "strict_cpp.re" +#line 484 "strict_cpp.re" } else { -#line 6585 "strict_cpp_re.inc" +#line 6885 "strict_cpp_re.inc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= 'U') { - if (yych == 'L') goto yy1014; - if (yych >= 'U') goto yy1015; + if (yych == 'L') goto yy1059; + if (yych >= 'U') goto yy1060; } else { if (yych <= 'l') { - if (yych >= 'l') goto yy1016; + if (yych >= 'l') goto yy1061; } else { - if (yych == 'u') goto yy1015; + if (yych == 'u') goto yy1060; } } -yy1013: -#line 485 "strict_cpp.re" +yy1058: +#line 492 "strict_cpp.re" { BOOST_WAVE_RET(T_INTLIT); } -#line 6603 "strict_cpp_re.inc" -yy1014: +#line 6903 "strict_cpp_re.inc" +yy1059: yych = *++YYCURSOR; if (yych <= 'T') { - if (yych == 'L') goto yy1017; - goto yy1013; + if (yych == 'L') goto yy1062; + goto yy1058; } else { - if (yych <= 'U') goto yy1019; - if (yych == 'u') goto yy1019; - goto yy1013; + if (yych <= 'U') goto yy1064; + if (yych == 'u') goto yy1064; + goto yy1058; } -yy1015: +yy1060: yych = *++YYCURSOR; - if (yych == 'L') goto yy1020; - if (yych == 'l') goto yy1021; - goto yy1013; -yy1016: + if (yych == 'L') goto yy1065; + if (yych == 'l') goto yy1066; + goto yy1058; +yy1061: yych = *++YYCURSOR; if (yych <= 'k') { - if (yych == 'U') goto yy1019; - goto yy1013; + if (yych == 'U') goto yy1064; + goto yy1058; } else { - if (yych <= 'l') goto yy1017; - if (yych == 'u') goto yy1019; - goto yy1013; + if (yych <= 'l') goto yy1062; + if (yych == 'u') goto yy1064; + goto yy1058; } -yy1017: +yy1062: yych = *++YYCURSOR; - if (yych == 'U') goto yy1022; - if (yych == 'u') goto yy1022; -yy1018: -#line 482 "strict_cpp.re" + if (yych == 'U') goto yy1067; + if (yych == 'u') goto yy1067; +yy1063: +#line 489 "strict_cpp.re" { BOOST_WAVE_RET(T_LONGINTLIT); } -#line 6636 "strict_cpp_re.inc" -yy1019: +#line 6936 "strict_cpp_re.inc" +yy1064: ++YYCURSOR; - goto yy1013; -yy1020: + goto yy1058; +yy1065: yych = *++YYCURSOR; - if (yych == 'L') goto yy1022; - goto yy1013; -yy1021: + if (yych == 'L') goto yy1067; + goto yy1058; +yy1066: yych = *++YYCURSOR; - if (yych != 'l') goto yy1013; -yy1022: + if (yych != 'l') goto yy1058; +yy1067: ++YYCURSOR; - goto yy1018; + goto yy1063; } -#line 486 "strict_cpp.re" +#line 493 "strict_cpp.re" } @@ -6660,7 +6960,7 @@ yy1022: extcharlit: { -#line 6664 "strict_cpp_re.inc" +#line 6964 "strict_cpp_re.inc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -6701,284 +7001,284 @@ extcharlit: yych = *YYCURSOR; if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy1025; - if (yych <= '\t') goto yy1027; - goto yy1029; + if (yych <= 0x08) goto yy1070; + if (yych <= '\t') goto yy1072; + goto yy1074; } else { - if (yych <= '\f') goto yy1027; - if (yych <= '\r') goto yy1029; + if (yych <= '\f') goto yy1072; + if (yych <= '\r') goto yy1074; } } else { if (yych <= '>') { - if (yych == '\'') goto yy1029; - goto yy1027; + if (yych == '\'') goto yy1074; + goto yy1072; } else { - if (yych <= '?') goto yy1030; - if (yych == '\\') goto yy1031; - goto yy1027; + if (yych <= '?') goto yy1075; + if (yych == '\\') goto yy1076; + goto yy1072; } } -yy1025: +yy1070: ++YYCURSOR; -#line 498 "strict_cpp.re" +#line 505 "strict_cpp.re" { (*s->error_proc)(s, lexing_exception::generic_lexing_error, "Invalid character in raw string delimiter ('%c')", yych); } -#line 6729 "strict_cpp_re.inc" -yy1027: +#line 7029 "strict_cpp_re.inc" +yy1072: yych = *++YYCURSOR; - if (yych == '\'') goto yy1032; -yy1028: -#line 507 "strict_cpp.re" + if (yych == '\'') goto yy1077; +yy1073: +#line 514 "strict_cpp.re" { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); } -#line 6736 "strict_cpp_re.inc" -yy1029: +#line 7036 "strict_cpp_re.inc" +yy1074: ++YYCURSOR; - goto yy1028; -yy1030: + goto yy1073; +yy1075: yych = *(YYMARKER = ++YYCURSOR); - if (yych == '\'') goto yy1032; - if (yych == '?') goto yy1034; - goto yy1028; -yy1031: + if (yych == '\'') goto yy1077; + if (yych == '?') goto yy1079; + goto yy1073; +yy1076: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych == '"') goto yy1036; - goto yy1028; + if (yych == '"') goto yy1081; + goto yy1073; } else { - if (yych <= '\'') goto yy1036; - if (yych <= '/') goto yy1028; - goto yy1037; + if (yych <= '\'') goto yy1081; + if (yych <= '/') goto yy1073; + goto yy1082; } } else { if (yych <= 'T') { - if (yych == '?') goto yy1038; - goto yy1028; + if (yych == '?') goto yy1083; + goto yy1073; } else { - if (yych <= 'U') goto yy1039; - if (yych == '\\') goto yy1036; - goto yy1028; + if (yych <= 'U') goto yy1084; + if (yych == '\\') goto yy1081; + goto yy1073; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1036; - if (yych <= 'e') goto yy1028; - goto yy1036; + if (yych <= 'b') goto yy1081; + if (yych <= 'e') goto yy1073; + goto yy1081; } else { - if (yych == 'n') goto yy1036; - if (yych <= 'q') goto yy1028; - goto yy1036; + if (yych == 'n') goto yy1081; + if (yych <= 'q') goto yy1073; + goto yy1081; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1028; - if (yych <= 't') goto yy1036; - goto yy1040; + if (yych <= 's') goto yy1073; + if (yych <= 't') goto yy1081; + goto yy1085; } else { - if (yych <= 'v') goto yy1036; - if (yych == 'x') goto yy1041; - goto yy1028; + if (yych <= 'v') goto yy1081; + if (yych == 'x') goto yy1086; + goto yy1073; } } } -yy1032: +yy1077: ++YYCURSOR; -#line 504 "strict_cpp.re" +#line 511 "strict_cpp.re" { BOOST_WAVE_RET(T_CHARLIT); } -#line 6794 "strict_cpp_re.inc" -yy1034: +#line 7094 "strict_cpp_re.inc" +yy1079: yych = *++YYCURSOR; - if (yych == '/') goto yy1042; -yy1035: + if (yych == '/') goto yy1087; +yy1080: YYCURSOR = YYMARKER; - goto yy1028; -yy1036: + goto yy1073; +yy1081: yych = *++YYCURSOR; - if (yych == '\'') goto yy1032; - goto yy1035; -yy1037: + if (yych == '\'') goto yy1077; + goto yy1080; +yy1082: yych = *++YYCURSOR; - if (yych == '\'') goto yy1032; - if (yych <= '/') goto yy1035; - if (yych <= '7') goto yy1043; - goto yy1035; -yy1038: + if (yych == '\'') goto yy1077; + if (yych <= '/') goto yy1080; + if (yych <= '7') goto yy1088; + goto yy1080; +yy1083: yych = *++YYCURSOR; - if (yych == '\'') goto yy1032; - if (yych == '?') goto yy1044; - goto yy1035; -yy1039: + if (yych == '\'') goto yy1077; + if (yych == '?') goto yy1089; + goto yy1080; +yy1084: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1035; - if (yych <= '9') goto yy1045; - goto yy1035; + if (yych <= '/') goto yy1080; + if (yych <= '9') goto yy1090; + goto yy1080; } else { - if (yych <= 'F') goto yy1045; - if (yych <= '`') goto yy1035; - if (yych <= 'f') goto yy1045; - goto yy1035; + if (yych <= 'F') goto yy1090; + if (yych <= '`') goto yy1080; + if (yych <= 'f') goto yy1090; + goto yy1080; } -yy1040: +yy1085: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1035; - if (yych <= '9') goto yy1046; - goto yy1035; + if (yych <= '/') goto yy1080; + if (yych <= '9') goto yy1091; + goto yy1080; } else { - if (yych <= 'F') goto yy1046; - if (yych <= '`') goto yy1035; - if (yych <= 'f') goto yy1046; - goto yy1035; + if (yych <= 'F') goto yy1091; + if (yych <= '`') goto yy1080; + if (yych <= 'f') goto yy1091; + goto yy1080; } -yy1041: +yy1086: yych = *++YYCURSOR; - if (yych == '\'') goto yy1035; - goto yy1048; -yy1042: + if (yych == '\'') goto yy1080; + goto yy1093; +yy1087: yych = *++YYCURSOR; if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych == '"') goto yy1036; - goto yy1035; + if (yych == '"') goto yy1081; + goto yy1080; } else { - if (yych <= '\'') goto yy1036; - if (yych <= '/') goto yy1035; - goto yy1037; + if (yych <= '\'') goto yy1081; + if (yych <= '/') goto yy1080; + goto yy1082; } } else { if (yych <= 'T') { - if (yych == '?') goto yy1038; - goto yy1035; + if (yych == '?') goto yy1083; + goto yy1080; } else { - if (yych <= 'U') goto yy1039; - if (yych == '\\') goto yy1036; - goto yy1035; + if (yych <= 'U') goto yy1084; + if (yych == '\\') goto yy1081; + goto yy1080; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1036; - if (yych <= 'e') goto yy1035; - goto yy1036; + if (yych <= 'b') goto yy1081; + if (yych <= 'e') goto yy1080; + goto yy1081; } else { - if (yych == 'n') goto yy1036; - if (yych <= 'q') goto yy1035; - goto yy1036; + if (yych == 'n') goto yy1081; + if (yych <= 'q') goto yy1080; + goto yy1081; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1035; - if (yych <= 't') goto yy1036; - goto yy1040; + if (yych <= 's') goto yy1080; + if (yych <= 't') goto yy1081; + goto yy1085; } else { - if (yych <= 'v') goto yy1036; - if (yych == 'x') goto yy1041; - goto yy1035; + if (yych <= 'v') goto yy1081; + if (yych == 'x') goto yy1086; + goto yy1080; } } } -yy1043: +yy1088: yych = *++YYCURSOR; - if (yych == '\'') goto yy1032; - if (yych <= '/') goto yy1035; - if (yych <= '7') goto yy1036; - goto yy1035; -yy1044: + if (yych == '\'') goto yy1077; + if (yych <= '/') goto yy1080; + if (yych <= '7') goto yy1081; + goto yy1080; +yy1089: yych = *++YYCURSOR; - if (yych == '/') goto yy1036; - goto yy1035; -yy1045: + if (yych == '/') goto yy1081; + goto yy1080; +yy1090: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1035; - if (yych <= '9') goto yy1049; - goto yy1035; + if (yych <= '/') goto yy1080; + if (yych <= '9') goto yy1094; + goto yy1080; } else { - if (yych <= 'F') goto yy1049; - if (yych <= '`') goto yy1035; - if (yych <= 'f') goto yy1049; - goto yy1035; + if (yych <= 'F') goto yy1094; + if (yych <= '`') goto yy1080; + if (yych <= 'f') goto yy1094; + goto yy1080; } -yy1046: +yy1091: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1035; - if (yych <= '9') goto yy1050; - goto yy1035; + if (yych <= '/') goto yy1080; + if (yych <= '9') goto yy1095; + goto yy1080; } else { - if (yych <= 'F') goto yy1050; - if (yych <= '`') goto yy1035; - if (yych <= 'f') goto yy1050; - goto yy1035; + if (yych <= 'F') goto yy1095; + if (yych <= '`') goto yy1080; + if (yych <= 'f') goto yy1095; + goto yy1080; } -yy1047: +yy1092: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy1048: +yy1093: if (yybm[0+yych] & 128) { - goto yy1047; + goto yy1092; } - if (yych == '\'') goto yy1032; - goto yy1035; -yy1049: + if (yych == '\'') goto yy1077; + goto yy1080; +yy1094: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1035; - if (yych <= '9') goto yy1051; - goto yy1035; + if (yych <= '/') goto yy1080; + if (yych <= '9') goto yy1096; + goto yy1080; } else { - if (yych <= 'F') goto yy1051; - if (yych <= '`') goto yy1035; - if (yych <= 'f') goto yy1051; - goto yy1035; + if (yych <= 'F') goto yy1096; + if (yych <= '`') goto yy1080; + if (yych <= 'f') goto yy1096; + goto yy1080; } -yy1050: +yy1095: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1035; - if (yych <= '9') goto yy1052; - goto yy1035; + if (yych <= '/') goto yy1080; + if (yych <= '9') goto yy1097; + goto yy1080; } else { - if (yych <= 'F') goto yy1052; - if (yych <= '`') goto yy1035; - if (yych <= 'f') goto yy1052; - goto yy1035; + if (yych <= 'F') goto yy1097; + if (yych <= '`') goto yy1080; + if (yych <= 'f') goto yy1097; + goto yy1080; } -yy1051: +yy1096: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1035; - if (yych <= '9') goto yy1040; - goto yy1035; + if (yych <= '/') goto yy1080; + if (yych <= '9') goto yy1085; + goto yy1080; } else { - if (yych <= 'F') goto yy1040; - if (yych <= '`') goto yy1035; - if (yych <= 'f') goto yy1040; - goto yy1035; + if (yych <= 'F') goto yy1085; + if (yych <= '`') goto yy1080; + if (yych <= 'f') goto yy1085; + goto yy1080; } -yy1052: +yy1097: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1035; - if (yych <= '9') goto yy1036; - goto yy1035; + if (yych <= '/') goto yy1080; + if (yych <= '9') goto yy1081; + goto yy1080; } else { - if (yych <= 'F') goto yy1036; - if (yych <= '`') goto yy1035; - if (yych <= 'f') goto yy1036; - goto yy1035; + if (yych <= 'F') goto yy1081; + if (yych <= '`') goto yy1080; + if (yych <= 'f') goto yy1081; + goto yy1080; } } -#line 508 "strict_cpp.re" +#line 515 "strict_cpp.re" } @@ -6986,7 +7286,7 @@ yy1052: extstringlit: { -#line 6990 "strict_cpp_re.inc" +#line 7290 "strict_cpp_re.inc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -7028,345 +7328,345 @@ extstringlit: yych = *YYCURSOR; if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy1055; - if (yych <= '\t') goto yy1057; - goto yy1059; + if (yych <= 0x08) goto yy1100; + if (yych <= '\t') goto yy1102; + goto yy1104; } else { - if (yych <= '\f') goto yy1057; - if (yych <= '\r') goto yy1059; + if (yych <= '\f') goto yy1102; + if (yych <= '\r') goto yy1104; } } else { if (yych <= '>') { - if (yych == '"') goto yy1060; - goto yy1057; + if (yych == '"') goto yy1105; + goto yy1102; } else { - if (yych <= '?') goto yy1062; - if (yych == '\\') goto yy1063; - goto yy1057; + if (yych <= '?') goto yy1107; + if (yych == '\\') goto yy1108; + goto yy1102; } } -yy1055: +yy1100: ++YYCURSOR; -#line 515 "strict_cpp.re" +#line 522 "strict_cpp.re" { (*s->error_proc)(s, lexing_exception::generic_lexing_error, "Invalid character in raw string delimiter ('%c')", yych); } -#line 7056 "strict_cpp_re.inc" -yy1057: +#line 7356 "strict_cpp_re.inc" +yy1102: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '\n') { - if (yych == '\t') goto yy1065; + if (yych == '\t') goto yy1110; } else { - if (yych <= '\f') goto yy1065; - if (yych >= ' ') goto yy1065; + if (yych <= '\f') goto yy1110; + if (yych >= ' ') goto yy1110; } -yy1058: -#line 524 "strict_cpp.re" +yy1103: +#line 531 "strict_cpp.re" { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); } -#line 7069 "strict_cpp_re.inc" -yy1059: +#line 7369 "strict_cpp_re.inc" +yy1104: ++YYCURSOR; - goto yy1058; -yy1060: + goto yy1103; +yy1105: ++YYCURSOR; -yy1061: -#line 521 "strict_cpp.re" +yy1106: +#line 528 "strict_cpp.re" { BOOST_WAVE_RET(T_STRINGLIT); } -#line 7078 "strict_cpp_re.inc" -yy1062: +#line 7378 "strict_cpp_re.inc" +yy1107: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 64) { - goto yy1069; + goto yy1114; } if (yych <= '\n') { - if (yych == '\t') goto yy1065; - goto yy1058; + if (yych == '\t') goto yy1110; + goto yy1103; } else { - if (yych <= '\f') goto yy1065; - if (yych <= 0x1F) goto yy1058; - goto yy1065; + if (yych <= '\f') goto yy1110; + if (yych <= 0x1F) goto yy1103; + goto yy1110; } -yy1063: +yy1108: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych != '"') goto yy1058; + if (yych != '"') goto yy1103; } else { - if (yych <= '\'') goto yy1064; - if (yych <= '/') goto yy1058; + if (yych <= '\'') goto yy1109; + if (yych <= '/') goto yy1103; } } else { if (yych <= 'T') { - if (yych != '?') goto yy1058; + if (yych != '?') goto yy1103; } else { - if (yych <= 'U') goto yy1071; - if (yych != '\\') goto yy1058; + if (yych <= 'U') goto yy1116; + if (yych != '\\') goto yy1103; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1064; - if (yych <= 'e') goto yy1058; + if (yych <= 'b') goto yy1109; + if (yych <= 'e') goto yy1103; } else { - if (yych == 'n') goto yy1064; - if (yych <= 'q') goto yy1058; + if (yych == 'n') goto yy1109; + if (yych <= 'q') goto yy1103; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1058; - if (yych >= 'u') goto yy1072; + if (yych <= 's') goto yy1103; + if (yych >= 'u') goto yy1117; } else { - if (yych <= 'v') goto yy1064; - if (yych == 'x') goto yy1073; - goto yy1058; + if (yych <= 'v') goto yy1109; + if (yych == 'x') goto yy1118; + goto yy1103; } } } -yy1064: +yy1109: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy1065: +yy1110: if (yybm[0+yych] & 32) { - goto yy1064; + goto yy1109; } - if (yych <= 0x1F) goto yy1066; - if (yych <= '"') goto yy1060; - if (yych <= '?') goto yy1067; - goto yy1068; -yy1066: + if (yych <= 0x1F) goto yy1111; + if (yych <= '"') goto yy1105; + if (yych <= '?') goto yy1112; + goto yy1113; +yy1111: YYCURSOR = YYMARKER; if (yyaccept == 0) { - goto yy1058; + goto yy1103; } else { - goto yy1061; + goto yy1106; } -yy1067: +yy1112: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { - goto yy1064; + goto yy1109; } - if (yych <= 0x1F) goto yy1066; - if (yych <= '"') goto yy1060; - if (yych <= '?') goto yy1069; -yy1068: + if (yych <= 0x1F) goto yy1111; + if (yych <= '"') goto yy1105; + if (yych <= '?') goto yy1114; +yy1113: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych == '"') goto yy1064; - goto yy1066; + if (yych == '"') goto yy1109; + goto yy1111; } else { - if (yych <= '\'') goto yy1064; - if (yych <= '/') goto yy1066; - goto yy1064; + if (yych <= '\'') goto yy1109; + if (yych <= '/') goto yy1111; + goto yy1109; } } else { if (yych <= 'T') { - if (yych == '?') goto yy1064; - goto yy1066; + if (yych == '?') goto yy1109; + goto yy1111; } else { - if (yych <= 'U') goto yy1071; - if (yych == '\\') goto yy1064; - goto yy1066; + if (yych <= 'U') goto yy1116; + if (yych == '\\') goto yy1109; + goto yy1111; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1064; - if (yych <= 'e') goto yy1066; - goto yy1064; + if (yych <= 'b') goto yy1109; + if (yych <= 'e') goto yy1111; + goto yy1109; } else { - if (yych == 'n') goto yy1064; - if (yych <= 'q') goto yy1066; - goto yy1064; + if (yych == 'n') goto yy1109; + if (yych <= 'q') goto yy1111; + goto yy1109; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1066; - if (yych <= 't') goto yy1064; - goto yy1072; + if (yych <= 's') goto yy1111; + if (yych <= 't') goto yy1109; + goto yy1117; } else { - if (yych <= 'v') goto yy1064; - if (yych == 'x') goto yy1073; - goto yy1066; + if (yych <= 'v') goto yy1109; + if (yych == 'x') goto yy1118; + goto yy1111; } } } -yy1069: +yy1114: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 64) { - goto yy1069; + goto yy1114; } if (yych <= '!') { if (yych <= '\n') { - if (yych == '\t') goto yy1064; - goto yy1066; + if (yych == '\t') goto yy1109; + goto yy1111; } else { - if (yych <= '\f') goto yy1064; - if (yych <= 0x1F) goto yy1066; - goto yy1064; + if (yych <= '\f') goto yy1109; + if (yych <= 0x1F) goto yy1111; + goto yy1109; } } else { if (yych <= '/') { - if (yych <= '"') goto yy1060; - if (yych <= '.') goto yy1064; - goto yy1074; + if (yych <= '"') goto yy1105; + if (yych <= '.') goto yy1109; + goto yy1119; } else { - if (yych == '\\') goto yy1068; - goto yy1064; + if (yych == '\\') goto yy1113; + goto yy1109; } } -yy1071: +yy1116: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1066; - if (yych <= '9') goto yy1076; - goto yy1066; + if (yych <= '/') goto yy1111; + if (yych <= '9') goto yy1121; + goto yy1111; } else { - if (yych <= 'F') goto yy1076; - if (yych <= '`') goto yy1066; - if (yych <= 'f') goto yy1076; - goto yy1066; + if (yych <= 'F') goto yy1121; + if (yych <= '`') goto yy1111; + if (yych <= 'f') goto yy1121; + goto yy1111; } -yy1072: +yy1117: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1066; - if (yych <= '9') goto yy1077; - goto yy1066; + if (yych <= '/') goto yy1111; + if (yych <= '9') goto yy1122; + goto yy1111; } else { - if (yych <= 'F') goto yy1077; - if (yych <= '`') goto yy1066; - if (yych <= 'f') goto yy1077; - goto yy1066; + if (yych <= 'F') goto yy1122; + if (yych <= '`') goto yy1111; + if (yych <= 'f') goto yy1122; + goto yy1111; } -yy1073: +yy1118: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1066; - if (yych <= '9') goto yy1064; - goto yy1066; + if (yych <= '/') goto yy1111; + if (yych <= '9') goto yy1109; + goto yy1111; } else { - if (yych <= 'F') goto yy1064; - if (yych <= '`') goto yy1066; - if (yych <= 'f') goto yy1064; - goto yy1066; + if (yych <= 'F') goto yy1109; + if (yych <= '`') goto yy1111; + if (yych <= 'f') goto yy1109; + goto yy1111; } -yy1074: +yy1119: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { - goto yy1064; + goto yy1109; } - if (yych <= 0x1F) goto yy1066; - if (yych <= '"') goto yy1078; - if (yych <= '?') goto yy1067; - goto yy1074; -yy1076: + if (yych <= 0x1F) goto yy1111; + if (yych <= '"') goto yy1123; + if (yych <= '?') goto yy1112; + goto yy1119; +yy1121: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1066; - if (yych <= '9') goto yy1079; - goto yy1066; + if (yych <= '/') goto yy1111; + if (yych <= '9') goto yy1124; + goto yy1111; } else { - if (yych <= 'F') goto yy1079; - if (yych <= '`') goto yy1066; - if (yych <= 'f') goto yy1079; - goto yy1066; + if (yych <= 'F') goto yy1124; + if (yych <= '`') goto yy1111; + if (yych <= 'f') goto yy1124; + goto yy1111; } -yy1077: +yy1122: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1066; - if (yych <= '9') goto yy1080; - goto yy1066; + if (yych <= '/') goto yy1111; + if (yych <= '9') goto yy1125; + goto yy1111; } else { - if (yych <= 'F') goto yy1080; - if (yych <= '`') goto yy1066; - if (yych <= 'f') goto yy1080; - goto yy1066; + if (yych <= 'F') goto yy1125; + if (yych <= '`') goto yy1111; + if (yych <= 'f') goto yy1125; + goto yy1111; } -yy1078: +yy1123: yyaccept = 1; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { - goto yy1064; + goto yy1109; } - if (yych <= 0x1F) goto yy1061; - if (yych <= '"') goto yy1060; - if (yych <= '?') goto yy1067; - goto yy1068; -yy1079: + if (yych <= 0x1F) goto yy1106; + if (yych <= '"') goto yy1105; + if (yych <= '?') goto yy1112; + goto yy1113; +yy1124: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1066; - if (yych <= '9') goto yy1081; - goto yy1066; + if (yych <= '/') goto yy1111; + if (yych <= '9') goto yy1126; + goto yy1111; } else { - if (yych <= 'F') goto yy1081; - if (yych <= '`') goto yy1066; - if (yych <= 'f') goto yy1081; - goto yy1066; + if (yych <= 'F') goto yy1126; + if (yych <= '`') goto yy1111; + if (yych <= 'f') goto yy1126; + goto yy1111; } -yy1080: +yy1125: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1066; - if (yych <= '9') goto yy1073; - goto yy1066; + if (yych <= '/') goto yy1111; + if (yych <= '9') goto yy1118; + goto yy1111; } else { - if (yych <= 'F') goto yy1073; - if (yych <= '`') goto yy1066; - if (yych <= 'f') goto yy1073; - goto yy1066; + if (yych <= 'F') goto yy1118; + if (yych <= '`') goto yy1111; + if (yych <= 'f') goto yy1118; + goto yy1111; } -yy1081: +yy1126: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1066; - if (yych <= '9') goto yy1072; - goto yy1066; + if (yych <= '/') goto yy1111; + if (yych <= '9') goto yy1117; + goto yy1111; } else { - if (yych <= 'F') goto yy1072; - if (yych <= '`') goto yy1066; - if (yych <= 'f') goto yy1072; - goto yy1066; + if (yych <= 'F') goto yy1117; + if (yych <= '`') goto yy1111; + if (yych <= 'f') goto yy1117; + goto yy1111; } } -#line 525 "strict_cpp.re" +#line 532 "strict_cpp.re" } @@ -7376,30 +7676,30 @@ extrawstringlit: // at this point we may see a delimiter -#line 7380 "strict_cpp_re.inc" +#line 7680 "strict_cpp_re.inc" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '(') { - if (yych <= 0x1F) goto yy1084; - if (yych <= '\'') goto yy1086; - goto yy1088; + if (yych <= 0x1F) goto yy1129; + if (yych <= '\'') goto yy1131; + goto yy1133; } else { - if (yych <= ')') goto yy1084; - if (yych != '\\') goto yy1086; + if (yych <= ')') goto yy1129; + if (yych != '\\') goto yy1131; } -yy1084: +yy1129: ++YYCURSOR; -#line 534 "strict_cpp.re" +#line 541 "strict_cpp.re" { (*s->error_proc)(s, lexing_exception::generic_lexing_error, "Invalid character in raw string delimiter ('%c')", yych); } -#line 7400 "strict_cpp_re.inc" -yy1086: +#line 7700 "strict_cpp_re.inc" +yy1131: ++YYCURSOR; -#line 541 "strict_cpp.re" +#line 548 "strict_cpp.re" { rawstringdelim += yych; if (rawstringdelim.size() > 16) @@ -7410,24 +7710,24 @@ yy1086: } goto extrawstringlit; } -#line 7414 "strict_cpp_re.inc" -yy1088: +#line 7714 "strict_cpp_re.inc" +yy1133: ++YYCURSOR; -#line 553 "strict_cpp.re" +#line 560 "strict_cpp.re" { rawstringdelim = ")" + rawstringdelim; goto extrawstringbody; } -#line 7422 "strict_cpp_re.inc" +#line 7722 "strict_cpp_re.inc" } -#line 558 "strict_cpp.re" +#line 565 "strict_cpp.re" } extrawstringbody: { -#line 7431 "strict_cpp_re.inc" +#line 7731 "strict_cpp_re.inc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -7468,56 +7768,56 @@ extrawstringbody: yych = *YYCURSOR; if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy1092; - if (yych <= '\t') goto yy1094; - goto yy1096; + if (yych <= 0x08) goto yy1137; + if (yych <= '\t') goto yy1139; + goto yy1141; } else { - if (yych <= '\f') goto yy1094; - if (yych <= '\r') goto yy1098; + if (yych <= '\f') goto yy1139; + if (yych <= '\r') goto yy1143; } } else { if (yych <= '>') { - if (yych == '"') goto yy1099; - goto yy1094; + if (yych == '"') goto yy1144; + goto yy1139; } else { - if (yych <= '?') goto yy1101; - if (yych == '\\') goto yy1102; - goto yy1094; + if (yych <= '?') goto yy1146; + if (yych == '\\') goto yy1147; + goto yy1139; } } -yy1092: +yy1137: ++YYCURSOR; -#line 565 "strict_cpp.re" +#line 572 "strict_cpp.re" { (*s->error_proc)(s, lexing_exception::generic_lexing_error, "Invalid character in raw string body ('%c')", yych); } -#line 7496 "strict_cpp_re.inc" -yy1094: +#line 7796 "strict_cpp_re.inc" +yy1139: ++YYCURSOR; -yy1095: -#line 578 "strict_cpp.re" +yy1140: +#line 585 "strict_cpp.re" { goto extrawstringbody; } -#line 7504 "strict_cpp_re.inc" -yy1096: +#line 7804 "strict_cpp_re.inc" +yy1141: ++YYCURSOR; -yy1097: -#line 571 "strict_cpp.re" +yy1142: +#line 578 "strict_cpp.re" { s->line += count_backslash_newlines(s, cursor) +1; cursor.column = 1; goto extrawstringbody; } -#line 7514 "strict_cpp_re.inc" -yy1098: +#line 7814 "strict_cpp_re.inc" +yy1143: yych = *++YYCURSOR; - if (yych == '\n') goto yy1096; - goto yy1097; -yy1099: + if (yych == '\n') goto yy1141; + goto yy1142; +yy1144: ++YYCURSOR; -#line 583 "strict_cpp.re" +#line 590 "strict_cpp.re" { // check to see if we have completed a delimiter if (string_type((char *)(YYCURSOR - rawstringdelim.size() - 1), @@ -7528,236 +7828,236 @@ yy1099: goto extrawstringbody; } } -#line 7532 "strict_cpp_re.inc" -yy1101: +#line 7832 "strict_cpp_re.inc" +yy1146: yych = *(YYMARKER = ++YYCURSOR); - if (yych == '?') goto yy1103; - goto yy1095; -yy1102: + if (yych == '?') goto yy1148; + goto yy1140; +yy1147: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych == '"') goto yy1094; - goto yy1095; + if (yych == '"') goto yy1139; + goto yy1140; } else { - if (yych <= '\'') goto yy1094; - if (yych <= '/') goto yy1095; - goto yy1105; + if (yych <= '\'') goto yy1139; + if (yych <= '/') goto yy1140; + goto yy1150; } } else { if (yych <= 'T') { - if (yych == '?') goto yy1106; - goto yy1095; + if (yych == '?') goto yy1151; + goto yy1140; } else { - if (yych <= 'U') goto yy1107; - if (yych == '\\') goto yy1094; - goto yy1095; + if (yych <= 'U') goto yy1152; + if (yych == '\\') goto yy1139; + goto yy1140; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1094; - if (yych <= 'e') goto yy1095; - goto yy1094; + if (yych <= 'b') goto yy1139; + if (yych <= 'e') goto yy1140; + goto yy1139; } else { - if (yych == 'n') goto yy1094; - if (yych <= 'q') goto yy1095; - goto yy1094; + if (yych == 'n') goto yy1139; + if (yych <= 'q') goto yy1140; + goto yy1139; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1095; - if (yych <= 't') goto yy1094; - goto yy1108; + if (yych <= 's') goto yy1140; + if (yych <= 't') goto yy1139; + goto yy1153; } else { - if (yych <= 'v') goto yy1094; - if (yych == 'x') goto yy1109; - goto yy1095; + if (yych <= 'v') goto yy1139; + if (yych == 'x') goto yy1154; + goto yy1140; } } } -yy1103: +yy1148: yych = *++YYCURSOR; - if (yych == '/') goto yy1110; -yy1104: + if (yych == '/') goto yy1155; +yy1149: YYCURSOR = YYMARKER; - goto yy1095; -yy1105: + goto yy1140; +yy1150: yych = *++YYCURSOR; - if (yych <= '/') goto yy1095; - if (yych <= '7') goto yy1111; - goto yy1095; -yy1106: + if (yych <= '/') goto yy1140; + if (yych <= '7') goto yy1156; + goto yy1140; +yy1151: yych = *(YYMARKER = ++YYCURSOR); - if (yych == '?') goto yy1112; - goto yy1095; -yy1107: + if (yych == '?') goto yy1157; + goto yy1140; +yy1152: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1104; - if (yych <= '9') goto yy1113; - goto yy1104; + if (yych <= '/') goto yy1149; + if (yych <= '9') goto yy1158; + goto yy1149; } else { - if (yych <= 'F') goto yy1113; - if (yych <= '`') goto yy1104; - if (yych <= 'f') goto yy1113; - goto yy1104; + if (yych <= 'F') goto yy1158; + if (yych <= '`') goto yy1149; + if (yych <= 'f') goto yy1158; + goto yy1149; } -yy1108: +yy1153: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1104; - if (yych <= '9') goto yy1114; - goto yy1104; + if (yych <= '/') goto yy1149; + if (yych <= '9') goto yy1159; + goto yy1149; } else { - if (yych <= 'F') goto yy1114; - if (yych <= '`') goto yy1104; - if (yych <= 'f') goto yy1114; - goto yy1104; + if (yych <= 'F') goto yy1159; + if (yych <= '`') goto yy1149; + if (yych <= 'f') goto yy1159; + goto yy1149; } -yy1109: +yy1154: yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy1115; + goto yy1160; } - goto yy1104; -yy1110: + goto yy1149; +yy1155: yych = *++YYCURSOR; if (yych <= '`') { if (yych <= '7') { if (yych <= '&') { - if (yych == '"') goto yy1094; - goto yy1104; + if (yych == '"') goto yy1139; + goto yy1149; } else { - if (yych <= '\'') goto yy1094; - if (yych <= '/') goto yy1104; - goto yy1105; + if (yych <= '\'') goto yy1139; + if (yych <= '/') goto yy1149; + goto yy1150; } } else { if (yych <= 'T') { - if (yych == '?') goto yy1106; - goto yy1104; + if (yych == '?') goto yy1151; + goto yy1149; } else { - if (yych <= 'U') goto yy1107; - if (yych == '\\') goto yy1094; - goto yy1104; + if (yych <= 'U') goto yy1152; + if (yych == '\\') goto yy1139; + goto yy1149; } } } else { if (yych <= 'r') { if (yych <= 'f') { - if (yych <= 'b') goto yy1094; - if (yych <= 'e') goto yy1104; - goto yy1094; + if (yych <= 'b') goto yy1139; + if (yych <= 'e') goto yy1149; + goto yy1139; } else { - if (yych == 'n') goto yy1094; - if (yych <= 'q') goto yy1104; - goto yy1094; + if (yych == 'n') goto yy1139; + if (yych <= 'q') goto yy1149; + goto yy1139; } } else { if (yych <= 'u') { - if (yych <= 's') goto yy1104; - if (yych <= 't') goto yy1094; - goto yy1108; + if (yych <= 's') goto yy1149; + if (yych <= 't') goto yy1139; + goto yy1153; } else { - if (yych <= 'v') goto yy1094; - if (yych == 'x') goto yy1109; - goto yy1104; + if (yych <= 'v') goto yy1139; + if (yych == 'x') goto yy1154; + goto yy1149; } } } -yy1111: +yy1156: yych = *++YYCURSOR; - if (yych <= '/') goto yy1095; - if (yych <= '7') goto yy1094; - goto yy1095; -yy1112: + if (yych <= '/') goto yy1140; + if (yych <= '7') goto yy1139; + goto yy1140; +yy1157: yych = *++YYCURSOR; - if (yych == '/') goto yy1094; - goto yy1104; -yy1113: + if (yych == '/') goto yy1139; + goto yy1149; +yy1158: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1104; - if (yych <= '9') goto yy1117; - goto yy1104; + if (yych <= '/') goto yy1149; + if (yych <= '9') goto yy1162; + goto yy1149; } else { - if (yych <= 'F') goto yy1117; - if (yych <= '`') goto yy1104; - if (yych <= 'f') goto yy1117; - goto yy1104; + if (yych <= 'F') goto yy1162; + if (yych <= '`') goto yy1149; + if (yych <= 'f') goto yy1162; + goto yy1149; } -yy1114: +yy1159: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1104; - if (yych <= '9') goto yy1118; - goto yy1104; + if (yych <= '/') goto yy1149; + if (yych <= '9') goto yy1163; + goto yy1149; } else { - if (yych <= 'F') goto yy1118; - if (yych <= '`') goto yy1104; - if (yych <= 'f') goto yy1118; - goto yy1104; + if (yych <= 'F') goto yy1163; + if (yych <= '`') goto yy1149; + if (yych <= 'f') goto yy1163; + goto yy1149; } -yy1115: +yy1160: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { - goto yy1115; + goto yy1160; } - goto yy1095; -yy1117: + goto yy1140; +yy1162: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1104; - if (yych <= '9') goto yy1119; - goto yy1104; + if (yych <= '/') goto yy1149; + if (yych <= '9') goto yy1164; + goto yy1149; } else { - if (yych <= 'F') goto yy1119; - if (yych <= '`') goto yy1104; - if (yych <= 'f') goto yy1119; - goto yy1104; + if (yych <= 'F') goto yy1164; + if (yych <= '`') goto yy1149; + if (yych <= 'f') goto yy1164; + goto yy1149; } -yy1118: +yy1163: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1104; - if (yych <= '9') goto yy1120; - goto yy1104; + if (yych <= '/') goto yy1149; + if (yych <= '9') goto yy1165; + goto yy1149; } else { - if (yych <= 'F') goto yy1120; - if (yych <= '`') goto yy1104; - if (yych <= 'f') goto yy1120; - goto yy1104; + if (yych <= 'F') goto yy1165; + if (yych <= '`') goto yy1149; + if (yych <= 'f') goto yy1165; + goto yy1149; } -yy1119: +yy1164: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1104; - if (yych <= '9') goto yy1108; - goto yy1104; + if (yych <= '/') goto yy1149; + if (yych <= '9') goto yy1153; + goto yy1149; } else { - if (yych <= 'F') goto yy1108; - if (yych <= '`') goto yy1104; - if (yych <= 'f') goto yy1108; - goto yy1104; + if (yych <= 'F') goto yy1153; + if (yych <= '`') goto yy1149; + if (yych <= 'f') goto yy1153; + goto yy1149; } -yy1120: +yy1165: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy1104; - if (yych <= '9') goto yy1094; - goto yy1104; + if (yych <= '/') goto yy1149; + if (yych <= '9') goto yy1139; + goto yy1149; } else { - if (yych <= 'F') goto yy1094; - if (yych <= '`') goto yy1104; - if (yych <= 'f') goto yy1094; - goto yy1104; + if (yych <= 'F') goto yy1139; + if (yych <= '`') goto yy1149; + if (yych <= 'f') goto yy1139; + goto yy1149; } } -#line 593 "strict_cpp.re" +#line 600 "strict_cpp.re" } diff --git a/include/boost/wave/token_ids.hpp b/include/boost/wave/token_ids.hpp index 4a0f05604..6ef02c047 100644 --- a/include/boost/wave/token_ids.hpp +++ b/include/boost/wave/token_ids.hpp @@ -301,6 +301,17 @@ enum token_id { T_THREADLOCAL = TOKEN_FROM_ID(431, KeywordTokenType), T_RAWSTRINGLIT = TOKEN_FROM_ID(432, StringLiteralTokenType), +// C++20 keywords + T_CHAR8_T = TOKEN_FROM_ID(433, KeywordTokenType), + T_CONCEPT = TOKEN_FROM_ID(434, KeywordTokenType), + T_CONSTEVAL = TOKEN_FROM_ID(435, KeywordTokenType), + T_CONSTINIT = TOKEN_FROM_ID(436, KeywordTokenType), + T_CO_AWAIT = TOKEN_FROM_ID(437, KeywordTokenType), + T_CO_RETURN = TOKEN_FROM_ID(438, KeywordTokenType), + T_CO_YIELD = TOKEN_FROM_ID(439, KeywordTokenType), + T_REQUIRES = TOKEN_FROM_ID(440, KeywordTokenType), + + T_LAST_TOKEN_ID, T_LAST_TOKEN = ID_FROM_TOKEN(T_LAST_TOKEN_ID & ~PPTokenFlag), diff --git a/samples/cpp_tokens/slex/cpp_slex_lexer.hpp b/samples/cpp_tokens/slex/cpp_slex_lexer.hpp index 119c01da2..8561361ec 100644 --- a/samples/cpp_tokens/slex/cpp_slex_lexer.hpp +++ b/samples/cpp_tokens/slex/cpp_slex_lexer.hpp @@ -58,6 +58,7 @@ namespace lexer { #define INIT_DATA_CPP_SIZE 15 #define INIT_DATA_PP_NUMBER_SIZE 2 #define INIT_DATA_CPP0X_SIZE 15 +#define INIT_DATA_CPP2A_SIZE 9 /////////////////////////////////////////////////////////////////////////////// // @@ -114,6 +115,7 @@ class lexer static typename base_type::lexer_data const init_data_cpp[INIT_DATA_CPP_SIZE]; // C++ only patterns static typename base_type::lexer_data const init_data_pp_number[INIT_DATA_PP_NUMBER_SIZE]; // pp-number only patterns static typename base_type::lexer_data const init_data_cpp0x[INIT_DATA_CPP0X_SIZE]; // C++0X only patterns + static typename base_type::lexer_data const init_data_cpp2a[INIT_DATA_CPP2A_SIZE]; // C++2A only patterns }; /////////////////////////////////////////////////////////////////////////////// @@ -432,7 +434,7 @@ lexer::init_data_pp_number[INIT_DATA_PP_NUMBER_SIZE] = }; /////////////////////////////////////////////////////////////////////////////// -// C++ only token definitions +// C++11 only token definitions #define T_EXTCHARLIT token_id(T_CHARLIT|AltTokenType) #define T_EXTSTRINGLIT token_id(T_STRINGLIT|AltTokenType) @@ -463,6 +465,26 @@ lexer::init_data_cpp0x[INIT_DATA_CPP0X_SIZE] = { token_id(0) } // this should be the last entry }; +/////////////////////////////////////////////////////////////////////////////// +// C++11 only token definitions + +template +typename lexer_base::lexer_data const +lexer::init_data_cpp2a[INIT_DATA_CPP2A_SIZE] = +{ + TOKEN_DATA(CHAR8_T, "char8_t"), + TOKEN_DATA(CONCEPT, "concept"), + TOKEN_DATA(CONSTEVAL, "consteval"), + TOKEN_DATA(CONSTINIT, "constinit"), + TOKEN_DATA(CO_AWAIT, "co_await"), + TOKEN_DATA(CO_RETURN, "co_return"), + TOKEN_DATA(CO_YIELD, "co_yield"), + TOKEN_DATA(REQUIRES, "requires"), + + { token_id(0) } // this should be the last entry +}; + + /////////////////////////////////////////////////////////////////////////////// // undefine macros, required for regular expression definitions #undef INCLUDEDEF @@ -528,9 +550,9 @@ lexer::init_dfa(boost::wave::language_support lang) } } -// if in C++0x mode, add all new keywords +// if in C++0x mode, add appropriate keywords #if BOOST_WAVE_SUPPORT_CPP0X != 0 - if (boost::wave::need_cpp0x(lang)) { + if (boost::wave::need_cpp0x(lang) || boost::wave::need_cpp2a(lang)) { for (int j = 0; 0 != init_data_cpp0x[j].tokenid; ++j) { this->register_regex(init_data_cpp0x[j].tokenregex, init_data_cpp0x[j].tokenid, init_data_cpp0x[j].tokencb, @@ -539,6 +561,18 @@ lexer::init_dfa(boost::wave::language_support lang) } #endif + // if in C++2a mode, add those keywords +#if BOOST_WAVE_SUPPORT_CPP2A != 0 + if (wave::need_cpp2a(lang)) { + for (int j = 0; 0 != init_data_cpp2a[j].tokenid; ++j) { + this->register_regex(init_data_cpp2a[j].tokenregex, + init_data_cpp2a[j].tokenid, + init_data_cpp2a[j].tokencb, + init_data_cpp2a[j].lexerstate); + } + } +#endif + for (int i = 0; 0 != init_data[i].tokenid; ++i) { this->register_regex(init_data[i].tokenregex, init_data[i].tokenid, init_data[i].tokencb, init_data[i].lexerstate); diff --git a/samples/list_includes/lexertl/lexertl_lexer.hpp b/samples/list_includes/lexertl/lexertl_lexer.hpp index db7d531af..f3da0500e 100644 --- a/samples/list_includes/lexertl/lexertl_lexer.hpp +++ b/samples/list_includes/lexertl/lexertl_lexer.hpp @@ -58,6 +58,7 @@ namespace boost { namespace wave { namespace cpplexer { namespace lexertl #define INIT_DATA_CPP_SIZE 15 #define INIT_DATA_PP_NUMBER_SIZE 2 #define INIT_DATA_CPP0X_SIZE 15 +#define INIT_DATA_CPP2A_SIZE 9 #define INIT_MACRO_DATA_SIZE 28 #endif // #if BOOST_WAVE_LEXERTL_USE_STATIC_TABLES == 0 @@ -119,6 +120,7 @@ class lexertl static lexer_data const init_data_cpp[INIT_DATA_CPP_SIZE]; // C++ only patterns static lexer_data const init_data_pp_number[INIT_DATA_PP_NUMBER_SIZE]; // pp-number only patterns static lexer_data const init_data_cpp0x[INIT_DATA_CPP0X_SIZE]; // C++0X only patterns + static lexer_data const init_data_cpp2a[INIT_DATA_CPP2A_SIZE]; // C++2A only patterns // helper for calculation of the time of last compilation static boost::wave::util::time_conversion_helper compilation_time; @@ -447,6 +449,23 @@ lexertl::init_data_cpp0x[INIT_DATA_CPP0X_SIZE] = { token_id(0) } // this should be the last entry }; +// C++20 specific token definitions + +template +typename lexertl::lexer_data const +lexertl::init_data_cpp2a[INIT_DATA_CPP2A_SIZE] = +{ + TOKEN_DATA(T_CHAR8_T, "char8_t"), + TOKEN_DATA(T_CONCEPT, "concept"), + TOKEN_DATA(T_CONSTEVAL, "consteval"), + TOKEN_DATA(T_CONSTINIT, "constinit"), + TOKEN_DATA(T_CO_AWAIT, "co_await"), + TOKEN_DATA(T_CO_RETURN, "co_return"), + TOKEN_DATA(T_CO_YIELD, "co_yield"), + TOKEN_DATA(T_REQUIRES, "requires"), + { token_id(0) } // this should be the last entry +}; + #undef MACRO_DATA #undef TOKEN_DATA #undef OR @@ -493,9 +512,9 @@ std::ifstream dfa_in("wave_lexertl_lexer.dfa", std::ios::in|std::ios::binary); } } - // if in C++0x mode, add all new keywords + // if in C++0x mode, add appropriate keywords #if BOOST_WAVE_SUPPORT_CPP0X != 0 - if (wave::need_cpp0x(lang)) { + if (wave::need_cpp0x(lang) || wave::need_cpp2a(lang)) { for (int j = 0; 0 != init_data_cpp0x[j].tokenid; ++j) { rules.add(init_data_cpp0x[j].tokenregex, init_data_cpp0x[j].tokenid); @@ -503,6 +522,16 @@ std::ifstream dfa_in("wave_lexertl_lexer.dfa", std::ios::in|std::ios::binary); } #endif + // if in C++2a mode, add those keywords +#if BOOST_WAVE_SUPPORT_CPP2A != 0 + if (wave::need_cpp2a(lang)) { + for (int j = 0; 0 != init_data_cpp2a[j].tokenid; ++j) { + rules.add(init_data_cpp2a[j].tokenregex, + init_data_cpp2a[j].tokenid); + } + } +#endif + for (int i = 0; 0 != init_data[i].tokenid; ++i) { rules.add(init_data[i].tokenregex, init_data[i].tokenid); diff --git a/samples/token_statistics/xlex/xlex_lexer.hpp b/samples/token_statistics/xlex/xlex_lexer.hpp index 408323822..789c15d19 100644 --- a/samples/token_statistics/xlex/xlex_lexer.hpp +++ b/samples/token_statistics/xlex/xlex_lexer.hpp @@ -105,6 +105,7 @@ class lexer static lexer_data const init_data[]; // common patterns static lexer_data const init_data_cpp[]; // C++ only patterns static lexer_data const init_data_cpp0x[]; // C++11 only patterns + static lexer_data const init_data_cpp2a[]; // C++20 only patterns #if BOOST_WAVE_SUPPORT_PRAGMA_ONCE != 0 boost::wave::cpplexer::include_guards guards; @@ -430,6 +431,24 @@ lexer::init_data_cpp0x[] = { token_id(0) } // this should be the last entry }; +/////////////////////////////////////////////////////////////////////////////// +// C++11 only token definitions + +template +typename lexer::lexer_data const +lexer::init_data_cpp2a[] = +{ + TOKEN_DATA(T_CHAR8_T, "char8_t"), + TOKEN_DATA(T_CONCEPT, "concept"), + TOKEN_DATA(T_CONSTEVAL, "consteval"), + TOKEN_DATA(T_CONSTINIT, "constinit"), + TOKEN_DATA(T_CO_AWAIT, "co_await"), + TOKEN_DATA(T_CO_RETURN, "co_return"), + TOKEN_DATA(T_CO_YIELD, "co_yield"), + TOKEN_DATA(T_REQUIRES, "requires"), + { token_id(0) } // this should be the last entry +}; + /////////////////////////////////////////////////////////////////////////////// // undefine macros, required for regular expression definitions #undef INCLUDEDEF @@ -482,7 +501,7 @@ lexer::lexer(Iterator const &first, } #if BOOST_WAVE_SUPPORT_CPP0X != 0 - if (boost::wave::need_cpp0x(language)) { + if (boost::wave::need_cpp0x(language) || boost::wave::need_cpp2a(language)) { for (int j = 0; 0 != init_data_cpp0x[j].tokenid; ++j) { xlexer.register_regex(init_data_cpp0x[j].tokenregex, init_data_cpp0x[j].tokenid, init_data_cpp[j].tokencb); @@ -490,6 +509,15 @@ lexer::lexer(Iterator const &first, } #endif +#if BOOST_WAVE_SUPPORT_CPP2A != 0 + if (boost::wave::need_cpp2a(language) || boost::wave::need_cpp2a(language)) { + for (int j = 0; 0 != init_data_cpp2a[j].tokenid; ++j) { + xlexer.register_regex(init_data_cpp2a[j].tokenregex, + init_data_cpp2a[j].tokenid, init_data_cpp[j].tokencb); + } + } +#endif + // tokens valid for C++ and C99 for (int i = 0; 0 != init_data[i].tokenid; ++i) { xlexer.register_regex(init_data[i].tokenregex, init_data[i].tokenid, diff --git a/src/token_ids.cpp b/src/token_ids.cpp index fde5f8980..67e425a34 100644 --- a/src/token_ids.cpp +++ b/src/token_ids.cpp @@ -222,6 +222,15 @@ static char const *tok_names[] = { /* 430 */ "STATIC_ASSERT", /* 431 */ "THREADLOCAL", /* 432 */ "RAWSTRINGLIT", + + /* 433 */ "T_CHAR8_T", + /* 434 */ "T_CONCEPT", + /* 435 */ "T_CONSTEVAL", + /* 436 */ "T_CONSTINIT", + /* 437 */ "T_CO_AWAIT", + /* 438 */ "T_CO_RETURN", + /* 439 */ "T_CO_YIELD", + /* 440 */ "T_REQUIRES", }; // make sure, I have not forgotten any commas (as I did more than once) @@ -424,6 +433,15 @@ static char const *tok_values[] = { /* 430 */ "static_assert", /* 431 */ "thread_local", /* 432 */ "", // extrawstringlit + + /* 433 */ "char8_t", + /* 434 */ "concept", + /* 435 */ "consteval", + /* 436 */ "constinit", + /* 437 */ "co_await", + /* 438 */ "co_return", + /* 439 */ "co_yield", + /* 440 */ "requires", }; // make sure, I have not forgotten any commas (as I did more than once) diff --git a/test/testlexers/cpp_tokens.hpp b/test/testlexers/cpp_tokens.hpp index 217403558..5248b10ac 100644 --- a/test/testlexers/cpp_tokens.hpp +++ b/test/testlexers/cpp_tokens.hpp @@ -210,6 +210,16 @@ lexem const lexems[] = { "nullptr", boost::wave::T_NULLPTR }, { "thread_local", boost::wave::T_THREADLOCAL }, #endif // BOOST_WAVE_SUPPORT_CPP0X != 0 +#if BOOST_WAVE_SUPPORT_CPP2A != 0 + { "char8_t", boost::wave::T_CHAR8_T }, + { "concept", boost::wave::T_CONCEPT }, + { "consteval", boost::wave::T_CONSTEVAL }, + { "constinit", boost::wave::T_CONSTINIT }, + { "co_await", boost::wave::T_CO_AWAIT }, + { "co_return", boost::wave::T_CO_RETURN }, + { "co_yield", boost::wave::T_CO_YIELD }, + { "requires", boost::wave::T_REQUIRES }, +#endif { "#define", boost::wave::T_PP_DEFINE }, { "#ifdef", boost::wave::T_PP_IFDEF }, { "#ifndef", boost::wave::T_PP_IFNDEF }, diff --git a/test/testlexers/test_lexertl_lexer.cpp b/test/testlexers/test_lexertl_lexer.cpp index cbe10b7a1..2cb3f7153 100644 --- a/test/testlexers/test_lexertl_lexer.cpp +++ b/test/testlexers/test_lexertl_lexer.cpp @@ -50,7 +50,7 @@ main(int argc, char *argv[]) token_type::string_type instr(data->token); lexer_type it = lexer_type(instr.begin(), instr.end(), pos, - boost::wave::support_cpp0x); + boost::wave::support_cpp2a); lexer_type end = lexer_type(); // verify the correct outcome of the tokenization diff --git a/test/testlexers/test_re2c_lexer.cpp b/test/testlexers/test_re2c_lexer.cpp index bb4043843..4543264d0 100644 --- a/test/testlexers/test_re2c_lexer.cpp +++ b/test/testlexers/test_re2c_lexer.cpp @@ -56,7 +56,7 @@ main(int argc, char *argv[]) token_type::string_type instr(data->token); lexer_type it = lexer_type(instr.begin(), instr.end(), pos, - boost::wave::support_cpp0x); + boost::wave::support_cpp2a); lexer_type end = lexer_type(); // verify the correct outcome of the tokenization diff --git a/test/testlexers/test_slex_lexer.cpp b/test/testlexers/test_slex_lexer.cpp index d2a395454..61cef0e74 100644 --- a/test/testlexers/test_slex_lexer.cpp +++ b/test/testlexers/test_slex_lexer.cpp @@ -59,7 +59,7 @@ main(int argc, char *argv[]) token_type::string_type instr(data->token); lexer_type it = lexer_type(instr.begin(), instr.end(), pos, - boost::wave::support_cpp0x); + boost::wave::support_cpp2a); lexer_type end = lexer_type(); // verify the correct outcome of the tokenization diff --git a/test/testlexers/test_xlex_lexer.cpp b/test/testlexers/test_xlex_lexer.cpp index 2b06b0e8a..dc3aa0292 100644 --- a/test/testlexers/test_xlex_lexer.cpp +++ b/test/testlexers/test_xlex_lexer.cpp @@ -57,7 +57,7 @@ main(int argc, char *argv[]) token_type::string_type instr(data->token); lexer_type it = lexer_type(instr.begin(), instr.end(), pos, - boost::wave::support_cpp0x); + boost::wave::support_cpp2a); lexer_type end = lexer_type(); // verify the correct outcome of the tokenisation