1/* Generated by re2c 1.0.2 on Sat Oct 24 21:16:00 2020 */
2#line 1 "strict_cpp.re"
3/*=============================================================================
4    Boost.Wave: A Standard compliant C++ preprocessor library
5
6    Copyright (c) 2001 Daniel C. Nuffer
7    Copyright (c) 2001-2011 Hartmut Kaiser.
8    Distributed under the Boost Software License, Version 1.0. (See accompanying
9    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10
11    This is a strict lexer conforming to the Standard as close as possible.
12    It does not allow the '$' to be part of identifiers. If you need the '$'
13    character in identifiers please include the lexer definition provided
14    in the cpp.re file.
15
16    TODO:
17        handle errors better.
18=============================================================================*/
19
20#line 40 "strict_cpp.re"
21
22
23
24#line 25 "strict_cpp_re.inc"
25{
26    YYCTYPE yych;
27    unsigned int yyaccept = 0;
28    static const unsigned char yybm[] = {
29        /* table 1 .. 8: 0 */
30          0,   0,   0,   0,   0,   0,   0,   0,
31          0, 203,   8, 203, 203,   8,   0,   0,
32          0,   0,   0,   0,   0,   0,   0,   0,
33          0,   0,   0,   0,   0,   0,   0,   0,
34        203, 203, 138, 203, 203, 203, 203, 201,
35        203, 203, 227, 203, 203, 203, 203, 203,
36        203, 203, 203, 203, 203, 203, 203, 203,
37        203, 203, 203, 203, 203, 203,  75, 204,
38        203, 203, 203, 203, 203, 203, 203, 203,
39        203, 203, 203, 203, 203, 203, 203, 203,
40        203, 203, 203, 203, 203, 203, 203, 203,
41        203, 203, 203, 203, 216, 203, 203, 203,
42        203, 203, 203, 203, 203, 203, 203, 203,
43        203, 203, 203, 203, 203, 203, 203, 203,
44        203, 203, 203, 203, 203, 203, 203, 203,
45        203, 203, 203, 203, 203, 203, 203, 203,
46        203, 203, 203, 203, 203, 203, 203, 203,
47        203, 203, 203, 203, 203, 203, 203, 203,
48        203, 203, 203, 203, 203, 203, 203, 203,
49        203, 203, 203, 203, 203, 203, 203, 203,
50        203, 203, 203, 203, 203, 203, 203, 203,
51        203, 203, 203, 203, 203, 203, 203, 203,
52        203, 203, 203, 203, 203, 203, 203, 203,
53        203, 203, 203, 203, 203, 203, 203, 203,
54        203, 203, 203, 203, 203, 203, 203, 203,
55        203, 203, 203, 203, 203, 203, 203, 203,
56        203, 203, 203, 203, 203, 203, 203, 203,
57        203, 203, 203, 203, 203, 203, 203, 203,
58        203, 203, 203, 203, 203, 203, 203, 203,
59        203, 203, 203, 203, 203, 203, 203, 203,
60        203, 203, 203, 203, 203, 203, 203, 203,
61        203, 203, 203, 203, 203, 203, 203, 203,
62        /* table 9 .. 10: 256 */
63          0,   0,   0,   0,   0,   0,   0,   0,
64          0,  64,   0,  64,  64,   0,   0,   0,
65          0,   0,   0,   0,   0,   0,   0,   0,
66          0,   0,   0,   0,   0,   0,   0,   0,
67         64,   0,   0,   0,   0,   0,   0,   0,
68          0,   0,   0,   0,   0,   0,   0,   0,
69        128, 128, 128, 128, 128, 128, 128, 128,
70        128, 128,   0,   0,   0,   0,   0,   0,
71          0, 128, 128, 128, 128, 128, 128, 128,
72        128, 128, 128, 128, 128, 128, 128, 128,
73        128, 128, 128, 128, 128, 128, 128, 128,
74        128, 128, 128,   0,   0,   0,   0, 128,
75          0, 128, 128, 128, 128, 128, 128, 128,
76        128, 128, 128, 128, 128, 128, 128, 128,
77        128, 128, 128, 128, 128, 128, 128, 128,
78        128, 128, 128,   0,   0,   0,   0,   0,
79          0,   0,   0,   0,   0,   0,   0,   0,
80          0,   0,   0,   0,   0,   0,   0,   0,
81          0,   0,   0,   0,   0,   0,   0,   0,
82          0,   0,   0,   0,   0,   0,   0,   0,
83          0,   0,   0,   0,   0,   0,   0,   0,
84          0,   0,   0,   0,   0,   0,   0,   0,
85          0,   0,   0,   0,   0,   0,   0,   0,
86          0,   0,   0,   0,   0,   0,   0,   0,
87          0,   0,   0,   0,   0,   0,   0,   0,
88          0,   0,   0,   0,   0,   0,   0,   0,
89          0,   0,   0,   0,   0,   0,   0,   0,
90          0,   0,   0,   0,   0,   0,   0,   0,
91          0,   0,   0,   0,   0,   0,   0,   0,
92          0,   0,   0,   0,   0,   0,   0,   0,
93          0,   0,   0,   0,   0,   0,   0,   0,
94          0,   0,   0,   0,   0,   0,   0,   0,
95    };
96    if ((YYLIMIT - YYCURSOR) < 17) YYFILL(17);
97    yych = *YYCURSOR;
98    if (yybm[256+yych] & 64) {
99        goto yy6;
100    }
101    switch (yych) {
102    case 0x00:    goto yy2;
103    case 0x01:
104    case 0x02:
105    case 0x03:
106    case 0x04:
107    case 0x05:
108    case 0x06:
109    case 0x07:
110    case 0x08:
111    case 0x0E:
112    case 0x0F:
113    case 0x10:
114    case 0x11:
115    case 0x12:
116    case 0x13:
117    case 0x14:
118    case 0x15:
119    case 0x16:
120    case 0x17:
121    case 0x18:
122    case 0x19:
123    case 0x1A:
124    case 0x1B:
125    case 0x1C:
126    case 0x1D:
127    case 0x1E:
128    case 0x1F:    goto yy4;
129    case '\t':
130    case '\n':    goto yy9;
131    case '\v':
132    case '\f':
133    case '\r':    goto yy11;
134    case ' ':
135    case '!':    goto yy12;
136    case '"':    goto yy14;
137    case '#':    goto yy16;
138    case '%':    goto yy19;
139    case '&':    goto yy21;
140    case '\'':    goto yy23;
141    case '(':    goto yy24;
142    case ')':    goto yy26;
143    case '*':    goto yy28;
144    case '+':    goto yy30;
145    case ',':    goto yy32;
146    case '-':    goto yy34;
147    case '.':    goto yy36;
148    case '/':    goto yy38;
149    case '0':
150    case '1':
151    case '2':
152    case '3':
153    case '4':
154    case '5':
155    case '6':
156    case '7':
157    case '8':
158    case '9':    goto yy40;
159    case ':':    goto yy42;
160    case ';':    goto yy44;
161    case '<':    goto yy46;
162    case '=':    goto yy48;
163    case '>':    goto yy50;
164    case '?':    goto yy52;
165    case 'A':
166    case 'B':
167    case 'C':
168    case 'D':
169    case 'E':
170    case 'F':
171    case 'G':
172    case 'H':
173    case 'I':
174    case 'J':
175    case 'K':
176    case 'M':
177    case 'N':
178    case 'O':
179    case 'P':
180    case 'Q':
181    case 'S':
182    case 'T':
183    case 'V':
184    case 'W':
185    case 'X':
186    case 'Y':
187    case 'Z':
188    case 'h':
189    case 'j':
190    case 'k':
191    case 'q':
192    case 'y':
193    case 'z':    goto yy54;
194    case 'L':    goto yy57;
195    case 'R':    goto yy58;
196    case 'U':    goto yy59;
197    case '[':    goto yy60;
198    case '\\':    goto yy62;
199    case ']':    goto yy63;
200    case '^':    goto yy65;
201    case '_':    goto yy67;
202    case 'a':    goto yy68;
203    case 'b':    goto yy69;
204    case 'c':    goto yy70;
205    case 'd':    goto yy71;
206    case 'e':    goto yy72;
207    case 'f':    goto yy73;
208    case 'g':    goto yy74;
209    case 'i':    goto yy75;
210    case 'l':    goto yy76;
211    case 'm':    goto yy77;
212    case 'n':    goto yy78;
213    case 'o':    goto yy79;
214    case 'p':    goto yy80;
215    case 'r':    goto yy81;
216    case 's':    goto yy82;
217    case 't':    goto yy83;
218    case 'u':    goto yy84;
219    case 'v':    goto yy85;
220    case 'w':    goto yy86;
221    case 'x':    goto yy87;
222    case '{':    goto yy88;
223    case '|':    goto yy90;
224    case '}':    goto yy92;
225    case '~':    goto yy94;
226    default:    goto yy18;
227    }
228yy2:
229    ++YYCURSOR;
230#line 353 "strict_cpp.re"
231    {
232        if (s->eof && cursor != s->eof)
233        {
234            BOOST_WAVE_UPDATE_CURSOR();     // adjust the input cursor
235            (*s->error_proc)(s, lexing_exception::generic_lexing_error,
236                "invalid character '\\000' in input stream");
237        }
238        BOOST_WAVE_RET(T_EOF);
239    }
240#line 241 "strict_cpp_re.inc"
241yy4:
242    ++YYCURSOR;
243#line 366 "strict_cpp.re"
244    {
245        // flag the error
246        BOOST_WAVE_UPDATE_CURSOR();     // adjust the input cursor
247        (*s->error_proc)(s, lexing_exception::generic_lexing_error,
248            "invalid character '\\%03o' in input stream", *--YYCURSOR);
249    }
250#line 251 "strict_cpp_re.inc"
251yy6:
252    ++YYCURSOR;
253    if (YYLIMIT <= YYCURSOR) YYFILL(1);
254    yych = *YYCURSOR;
255    if (yybm[256+yych] & 64) {
256        goto yy6;
257    }
258#line 343 "strict_cpp.re"
259    { BOOST_WAVE_RET(T_SPACE); }
260#line 261 "strict_cpp_re.inc"
261yy9:
262    ++YYCURSOR;
263yy10:
264#line 346 "strict_cpp.re"
265    {
266        s->line++;
267        cursor.column = 1;
268        BOOST_WAVE_RET(T_NEWLINE);
269    }
270#line 271 "strict_cpp_re.inc"
271yy11:
272    yych = *++YYCURSOR;
273    if (yych == '\n') goto yy9;
274    goto yy10;
275yy12:
276    yych = *++YYCURSOR;
277    if (yych == '=') goto yy96;
278#line 209 "strict_cpp.re"
279    { BOOST_WAVE_RET(T_NOT); }
280#line 281 "strict_cpp_re.inc"
281yy14:
282    yyaccept = 0;
283    yych = *(YYMARKER = ++YYCURSOR);
284    if (yych <= '\n') {
285        if (yych == '\t') goto yy99;
286    } else {
287        if (yych <= '\f') goto yy99;
288        if (yych >= ' ') goto yy99;
289    }
290yy15:
291#line 363 "strict_cpp.re"
292    { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); }
293#line 294 "strict_cpp_re.inc"
294yy16:
295    yyaccept = 1;
296    yych = *(YYMARKER = ++YYCURSOR);
297    if (yych <= 'c') {
298        if (yych <= ' ') {
299            if (yych <= '\n') {
300                if (yych == '\t') goto yy106;
301            } else {
302                if (yych <= '\f') goto yy106;
303                if (yych >= ' ') goto yy106;
304            }
305        } else {
306            if (yych <= '.') {
307                if (yych == '#') goto yy107;
308            } else {
309                if (yych <= '/') goto yy106;
310                if (yych == '?') goto yy110;
311            }
312        }
313    } else {
314        if (yych <= 'p') {
315            if (yych <= 'i') {
316                if (yych <= 'e') goto yy106;
317                if (yych >= 'i') goto yy106;
318            } else {
319                if (yych == 'l') goto yy106;
320                if (yych >= 'p') goto yy106;
321            }
322        } else {
323            if (yych <= 't') {
324                if (yych == 'r') goto yy106;
325            } else {
326                if (yych == 'v') goto yy17;
327                if (yych <= 'w') goto yy106;
328            }
329        }
330    }
331yy17:
332#line 158 "strict_cpp.re"
333    { BOOST_WAVE_RET(T_POUND); }
334#line 335 "strict_cpp_re.inc"
335yy18:
336    ++YYCURSOR;
337    goto yy15;
338yy19:
339    yych = *++YYCURSOR;
340    if (yych <= '<') {
341        if (yych == ':') goto yy119;
342    } else {
343        if (yych <= '=') goto yy121;
344        if (yych <= '>') goto yy123;
345    }
346#line 197 "strict_cpp.re"
347    { BOOST_WAVE_RET(T_PERCENT); }
348#line 349 "strict_cpp_re.inc"
349yy21:
350    yych = *++YYCURSOR;
351    if (yych == '&') goto yy125;
352    if (yych == '=') goto yy127;
353#line 201 "strict_cpp.re"
354    { BOOST_WAVE_RET(T_AND); }
355#line 356 "strict_cpp_re.inc"
356yy23:
357    yyaccept = 0;
358    yych = *(YYMARKER = ++YYCURSOR);
359    if (yych <= '\f') {
360        if (yych == '\t') goto yy130;
361        if (yych <= '\n') goto yy15;
362        goto yy130;
363    } else {
364        if (yych <= 0x1F) goto yy15;
365        if (yych == '\'') goto yy15;
366        goto yy130;
367    }
368yy24:
369    ++YYCURSOR;
370#line 166 "strict_cpp.re"
371    { BOOST_WAVE_RET(T_LEFTPAREN); }
372#line 373 "strict_cpp_re.inc"
373yy26:
374    ++YYCURSOR;
375#line 167 "strict_cpp.re"
376    { BOOST_WAVE_RET(T_RIGHTPAREN); }
377#line 378 "strict_cpp_re.inc"
378yy28:
379    yych = *++YYCURSOR;
380    if (yych == '=') goto yy133;
381#line 195 "strict_cpp.re"
382    { BOOST_WAVE_RET(T_STAR); }
383#line 384 "strict_cpp_re.inc"
384yy30:
385    yych = *++YYCURSOR;
386    if (yych == '+') goto yy135;
387    if (yych == '=') goto yy137;
388#line 193 "strict_cpp.re"
389    { BOOST_WAVE_RET(T_PLUS); }
390#line 391 "strict_cpp_re.inc"
391yy32:
392    ++YYCURSOR;
393#line 255 "strict_cpp.re"
394    { BOOST_WAVE_RET(T_COMMA); }
395#line 396 "strict_cpp_re.inc"
396yy34:
397    yych = *++YYCURSOR;
398    if (yych <= '<') {
399        if (yych == '-') goto yy139;
400    } else {
401        if (yych <= '=') goto yy141;
402        if (yych <= '>') goto yy143;
403    }
404#line 194 "strict_cpp.re"
405    { BOOST_WAVE_RET(T_MINUS); }
406#line 407 "strict_cpp_re.inc"
407yy36:
408    yyaccept = 2;
409    yych = *(YYMARKER = ++YYCURSOR);
410    if (yych <= '-') {
411        if (yych == '*') goto yy145;
412    } else {
413        if (yych <= '.') goto yy147;
414        if (yych <= '/') goto yy37;
415        if (yych <= '9') goto yy40;
416    }
417yy37:
418#line 182 "strict_cpp.re"
419    { BOOST_WAVE_RET(T_DOT); }
420#line 421 "strict_cpp_re.inc"
421yy38:
422    yych = *++YYCURSOR;
423    if (yych <= '.') {
424        if (yych == '*') goto yy148;
425    } else {
426        if (yych <= '/') goto yy150;
427        if (yych == '=') goto yy152;
428    }
429#line 196 "strict_cpp.re"
430    { BOOST_WAVE_RET(T_DIVIDE); }
431#line 432 "strict_cpp_re.inc"
432yy40:
433    ++YYCURSOR;
434#line 45 "strict_cpp.re"
435    { goto pp_number; }
436#line 437 "strict_cpp_re.inc"
437yy42:
438    yych = *++YYCURSOR;
439    if (yych == ':') goto yy154;
440    if (yych == '>') goto yy156;
441#line 169 "strict_cpp.re"
442    { BOOST_WAVE_RET(T_COLON); }
443#line 444 "strict_cpp_re.inc"
444yy44:
445    ++YYCURSOR;
446#line 168 "strict_cpp.re"
447    { BOOST_WAVE_RET(T_SEMICOLON); }
448#line 449 "strict_cpp_re.inc"
449yy46:
450    yych = *++YYCURSOR;
451    if (yych <= ':') {
452        if (yych == '%') goto yy158;
453        if (yych >= ':') goto yy160;
454    } else {
455        if (yych <= ';') goto yy47;
456        if (yych <= '<') goto yy162;
457        if (yych <= '=') goto yy164;
458    }
459yy47:
460#line 212 "strict_cpp.re"
461    { BOOST_WAVE_RET(T_LESS); }
462#line 463 "strict_cpp_re.inc"
463yy48:
464    yych = *++YYCURSOR;
465    if (yych == '=') goto yy166;
466#line 211 "strict_cpp.re"
467    { BOOST_WAVE_RET(T_ASSIGN); }
468#line 469 "strict_cpp_re.inc"
469yy50:
470    yych = *++YYCURSOR;
471    if (yych <= '<') goto yy51;
472    if (yych <= '=') goto yy168;
473    if (yych <= '>') goto yy170;
474yy51:
475#line 213 "strict_cpp.re"
476    { BOOST_WAVE_RET(T_GREATER); }
477#line 478 "strict_cpp_re.inc"
478yy52:
479    yyaccept = 3;
480    yych = *(YYMARKER = ++YYCURSOR);
481    if (yych == '?') goto yy172;
482yy53:
483#line 171 "strict_cpp.re"
484    { BOOST_WAVE_RET(T_QUESTION_MARK); }
485#line 486 "strict_cpp_re.inc"
486yy54:
487    yyaccept = 4;
488    YYMARKER = ++YYCURSOR;
489    if (YYLIMIT <= YYCURSOR) YYFILL(1);
490    yych = *YYCURSOR;
491yy55:
492    if (yybm[256+yych] & 128) {
493        goto yy54;
494    }
495    if (yych == '?') goto yy173;
496    if (yych == '\\') goto yy174;
497yy56:
498#line 314 "strict_cpp.re"
499    { BOOST_WAVE_RET(T_IDENTIFIER); }
500#line 501 "strict_cpp_re.inc"
501yy57:
502    yyaccept = 4;
503    yych = *(YYMARKER = ++YYCURSOR);
504    if (yych <= '&') {
505        if (yych == '"') goto yy98;
506        goto yy55;
507    } else {
508        if (yych <= '\'') goto yy175;
509        if (yych != 'R') goto yy55;
510    }
511yy58:
512    yyaccept = 4;
513    yych = *(YYMARKER = ++YYCURSOR);
514    if (yych == '"') goto yy176;
515    goto yy55;
516yy59:
517    yyaccept = 4;
518    yych = *(YYMARKER = ++YYCURSOR);
519    if (yych <= '&') {
520        if (yych == '"') goto yy178;
521        goto yy55;
522    } else {
523        if (yych <= '\'') goto yy180;
524        if (yych == 'R') goto yy182;
525        goto yy55;
526    }
527yy60:
528    ++YYCURSOR;
529#line 152 "strict_cpp.re"
530    { BOOST_WAVE_RET(T_LEFTBRACKET); }
531#line 532 "strict_cpp_re.inc"
532yy62:
533    yyaccept = 0;
534    yych = *(YYMARKER = ++YYCURSOR);
535    if (yych == 'U') goto yy183;
536    if (yych == 'u') goto yy184;
537    goto yy15;
538yy63:
539    ++YYCURSOR;
540#line 155 "strict_cpp.re"
541    { BOOST_WAVE_RET(T_RIGHTBRACKET); }
542#line 543 "strict_cpp_re.inc"
543yy65:
544    yych = *++YYCURSOR;
545    if (yych == '=') goto yy185;
546#line 198 "strict_cpp.re"
547    { BOOST_WAVE_RET(T_XOR); }
548#line 549 "strict_cpp_re.inc"
549yy67:
550    yyaccept = 4;
551    yych = *(YYMARKER = ++YYCURSOR);
552    switch (yych) {
553    case '_':    goto yy187;
554    case 'a':    goto yy188;
555    case 'b':    goto yy189;
556    case 'c':    goto yy190;
557    case 'd':    goto yy191;
558    case 'f':    goto yy192;
559    case 'i':    goto yy193;
560    case 's':    goto yy194;
561    default:    goto yy55;
562    }
563yy68:
564    yyaccept = 4;
565    yych = *(YYMARKER = ++YYCURSOR);
566    switch (yych) {
567    case 'l':    goto yy195;
568    case 'n':    goto yy196;
569    case 's':    goto yy197;
570    case 'u':    goto yy198;
571    default:    goto yy55;
572    }
573yy69:
574    yyaccept = 4;
575    yych = *(YYMARKER = ++YYCURSOR);
576    if (yych <= 'n') {
577        if (yych == 'i') goto yy199;
578        goto yy55;
579    } else {
580        if (yych <= 'o') goto yy200;
581        if (yych == 'r') goto yy201;
582        goto yy55;
583    }
584yy70:
585    yyaccept = 4;
586    yych = *(YYMARKER = ++YYCURSOR);
587    switch (yych) {
588    case 'a':    goto yy202;
589    case 'h':    goto yy203;
590    case 'l':    goto yy204;
591    case 'o':    goto yy205;
592    default:    goto yy55;
593    }
594yy71:
595    yyaccept = 4;
596    yych = *(YYMARKER = ++YYCURSOR);
597    if (yych <= 'n') {
598        if (yych == 'e') goto yy206;
599        goto yy55;
600    } else {
601        if (yych <= 'o') goto yy207;
602        if (yych == 'y') goto yy209;
603        goto yy55;
604    }
605yy72:
606    yyaccept = 4;
607    yych = *(YYMARKER = ++YYCURSOR);
608    if (yych <= 'm') {
609        if (yych == 'l') goto yy210;
610        goto yy55;
611    } else {
612        if (yych <= 'n') goto yy211;
613        if (yych == 'x') goto yy212;
614        goto yy55;
615    }
616yy73:
617    yyaccept = 4;
618    yych = *(YYMARKER = ++YYCURSOR);
619    switch (yych) {
620    case 'a':    goto yy213;
621    case 'l':    goto yy214;
622    case 'o':    goto yy215;
623    case 'r':    goto yy216;
624    default:    goto yy55;
625    }
626yy74:
627    yyaccept = 4;
628    yych = *(YYMARKER = ++YYCURSOR);
629    if (yych == 'o') goto yy217;
630    goto yy55;
631yy75:
632    yyaccept = 4;
633    yych = *(YYMARKER = ++YYCURSOR);
634    if (yych <= 'l') {
635        if (yych == 'f') goto yy218;
636        goto yy55;
637    } else {
638        if (yych <= 'm') goto yy220;
639        if (yych <= 'n') goto yy221;
640        goto yy55;
641    }
642yy76:
643    yyaccept = 4;
644    yych = *(YYMARKER = ++YYCURSOR);
645    if (yych == 'o') goto yy222;
646    goto yy55;
647yy77:
648    yyaccept = 4;
649    yych = *(YYMARKER = ++YYCURSOR);
650    if (yych == 'u') goto yy223;
651    goto yy55;
652yy78:
653    yyaccept = 4;
654    yych = *(YYMARKER = ++YYCURSOR);
655    switch (yych) {
656    case 'a':    goto yy224;
657    case 'e':    goto yy225;
658    case 'o':    goto yy226;
659    case 'u':    goto yy227;
660    default:    goto yy55;
661    }
662yy79:
663    yyaccept = 4;
664    yych = *(YYMARKER = ++YYCURSOR);
665    if (yych == 'p') goto yy228;
666    if (yych == 'r') goto yy229;
667    goto yy55;
668yy80:
669    yyaccept = 4;
670    yych = *(YYMARKER = ++YYCURSOR);
671    if (yych == 'r') goto yy231;
672    if (yych == 'u') goto yy232;
673    goto yy55;
674yy81:
675    yyaccept = 4;
676    yych = *(YYMARKER = ++YYCURSOR);
677    if (yych == 'e') goto yy233;
678    goto yy55;
679yy82:
680    yyaccept = 4;
681    yych = *(YYMARKER = ++YYCURSOR);
682    if (yych <= 's') {
683        if (yych <= 'g') goto yy55;
684        if (yych <= 'h') goto yy234;
685        if (yych <= 'i') goto yy235;
686        goto yy55;
687    } else {
688        if (yych <= 't') goto yy236;
689        if (yych == 'w') goto yy237;
690        goto yy55;
691    }
692yy83:
693    yyaccept = 4;
694    yych = *(YYMARKER = ++YYCURSOR);
695    switch (yych) {
696    case 'e':    goto yy238;
697    case 'h':    goto yy239;
698    case 'r':    goto yy240;
699    case 'y':    goto yy241;
700    default:    goto yy55;
701    }
702yy84:
703    yyaccept = 4;
704    yych = *(YYMARKER = ++YYCURSOR);
705    if (yych <= '8') {
706        if (yych <= '&') {
707            if (yych == '"') goto yy178;
708            goto yy55;
709        } else {
710            if (yych <= '\'') goto yy180;
711            if (yych <= '7') goto yy55;
712            goto yy242;
713        }
714    } else {
715        if (yych <= 'm') {
716            if (yych == 'R') goto yy182;
717            goto yy55;
718        } else {
719            if (yych <= 'n') goto yy243;
720            if (yych == 's') goto yy244;
721            goto yy55;
722        }
723    }
724yy85:
725    yyaccept = 4;
726    yych = *(YYMARKER = ++YYCURSOR);
727    if (yych == 'i') goto yy245;
728    if (yych == 'o') goto yy246;
729    goto yy55;
730yy86:
731    yyaccept = 4;
732    yych = *(YYMARKER = ++YYCURSOR);
733    if (yych == 'c') goto yy247;
734    if (yych == 'h') goto yy248;
735    goto yy55;
736yy87:
737    yyaccept = 4;
738    yych = *(YYMARKER = ++YYCURSOR);
739    if (yych == 'o') goto yy249;
740    goto yy55;
741yy88:
742    ++YYCURSOR;
743#line 146 "strict_cpp.re"
744    { BOOST_WAVE_RET(T_LEFTBRACE); }
745#line 746 "strict_cpp_re.inc"
746yy90:
747    yyaccept = 5;
748    yych = *(YYMARKER = ++YYCURSOR);
749    if (yych <= '>') {
750        if (yych == '=') goto yy250;
751    } else {
752        if (yych <= '?') goto yy252;
753        if (yych == '|') goto yy253;
754    }
755yy91:
756#line 203 "strict_cpp.re"
757    { BOOST_WAVE_RET(T_OR); }
758#line 759 "strict_cpp_re.inc"
759yy92:
760    ++YYCURSOR;
761#line 149 "strict_cpp.re"
762    { BOOST_WAVE_RET(T_RIGHTBRACE); }
763#line 764 "strict_cpp_re.inc"
764yy94:
765    ++YYCURSOR;
766#line 206 "strict_cpp.re"
767    { BOOST_WAVE_RET(T_COMPL); }
768#line 769 "strict_cpp_re.inc"
769yy96:
770    ++YYCURSOR;
771#line 232 "strict_cpp.re"
772    { BOOST_WAVE_RET(T_NOTEQUAL); }
773#line 774 "strict_cpp_re.inc"
774yy98:
775    ++YYCURSOR;
776    if (YYLIMIT <= YYCURSOR) YYFILL(1);
777    yych = *YYCURSOR;
778yy99:
779    if (yybm[0+yych] & 1) {
780        goto yy98;
781    }
782    if (yych <= 0x1F) goto yy100;
783    if (yych <= '"') goto yy101;
784    if (yych <= '?') goto yy103;
785    goto yy104;
786yy100:
787    YYCURSOR = YYMARKER;
788    if (yyaccept <= 60) {
789        if (yyaccept <= 30) {
790            if (yyaccept <= 15) {
791                if (yyaccept <= 7) {
792                    if (yyaccept <= 3) {
793                        if (yyaccept <= 1) {
794                            if (yyaccept == 0) {
795                                goto yy15;
796                            } else {
797                                goto yy17;
798                            }
799                        } else {
800                            if (yyaccept == 2) {
801                                goto yy37;
802                            } else {
803                                goto yy53;
804                            }
805                        }
806                    } else {
807                        if (yyaccept <= 5) {
808                            if (yyaccept == 4) {
809                                goto yy56;
810                            } else {
811                                goto yy91;
812                            }
813                        } else {
814                            if (yyaccept == 6) {
815                                goto yy120;
816                            } else {
817                                goto yy208;
818                            }
819                        }
820                    }
821                } else {
822                    if (yyaccept <= 11) {
823                        if (yyaccept <= 9) {
824                            if (yyaccept == 8) {
825                                goto yy219;
826                            } else {
827                                goto yy230;
828                            }
829                        } else {
830                            if (yyaccept == 10) {
831                                goto yy268;
832                            } else {
833                                goto yy294;
834                            }
835                        }
836                    } else {
837                        if (yyaccept <= 13) {
838                            if (yyaccept == 12) {
839                                goto yy304;
840                            } else {
841                                goto yy308;
842                            }
843                        } else {
844                            if (yyaccept == 14) {
845                                goto yy330;
846                            } else {
847                                goto yy332;
848                            }
849                        }
850                    }
851                }
852            } else {
853                if (yyaccept <= 23) {
854                    if (yyaccept <= 19) {
855                        if (yyaccept <= 17) {
856                            if (yyaccept == 16) {
857                                goto yy356;
858                            } else {
859                                goto yy362;
860                            }
861                        } else {
862                            if (yyaccept == 18) {
863                                goto yy367;
864                            } else {
865                                goto yy370;
866                            }
867                        }
868                    } else {
869                        if (yyaccept <= 21) {
870                            if (yyaccept == 20) {
871                                goto yy392;
872                            } else {
873                                goto yy403;
874                            }
875                        } else {
876                            if (yyaccept == 22) {
877                                goto yy450;
878                            } else {
879                                goto yy460;
880                            }
881                        }
882                    }
883                } else {
884                    if (yyaccept <= 27) {
885                        if (yyaccept <= 25) {
886                            if (yyaccept == 24) {
887                                goto yy464;
888                            } else {
889                                goto yy467;
890                            }
891                        } else {
892                            if (yyaccept == 26) {
893                                goto yy470;
894                            } else {
895                                goto yy485;
896                            }
897                        }
898                    } else {
899                        if (yyaccept <= 29) {
900                            if (yyaccept == 28) {
901                                goto yy487;
902                            } else {
903                                goto yy495;
904                            }
905                        } else {
906                            goto yy499;
907                        }
908                    }
909                }
910            }
911        } else {
912            if (yyaccept <= 45) {
913                if (yyaccept <= 38) {
914                    if (yyaccept <= 34) {
915                        if (yyaccept <= 32) {
916                            if (yyaccept == 31) {
917                                goto yy522;
918                            } else {
919                                goto yy526;
920                            }
921                        } else {
922                            if (yyaccept == 33) {
923                                goto yy533;
924                            } else {
925                                goto yy102;
926                            }
927                        }
928                    } else {
929                        if (yyaccept <= 36) {
930                            if (yyaccept == 35) {
931                                goto yy277;
932                            } else {
933                                goto yy572;
934                            }
935                        } else {
936                            if (yyaccept == 37) {
937                                goto yy583;
938                            } else {
939                                goto yy585;
940                            }
941                        }
942                    }
943                } else {
944                    if (yyaccept <= 42) {
945                        if (yyaccept <= 40) {
946                            if (yyaccept == 39) {
947                                goto yy587;
948                            } else {
949                                goto yy592;
950                            }
951                        } else {
952                            if (yyaccept == 41) {
953                                goto yy597;
954                            } else {
955                                goto yy600;
956                            }
957                        }
958                    } else {
959                        if (yyaccept <= 44) {
960                            if (yyaccept == 43) {
961                                goto yy611;
962                            } else {
963                                goto yy613;
964                            }
965                        } else {
966                            goto yy624;
967                        }
968                    }
969                }
970            } else {
971                if (yyaccept <= 53) {
972                    if (yyaccept <= 49) {
973                        if (yyaccept <= 47) {
974                            if (yyaccept == 46) {
975                                goto yy633;
976                            } else {
977                                goto yy642;
978                            }
979                        } else {
980                            if (yyaccept == 48) {
981                                goto yy647;
982                            } else {
983                                goto yy650;
984                            }
985                        }
986                    } else {
987                        if (yyaccept <= 51) {
988                            if (yyaccept == 50) {
989                                goto yy655;
990                            } else {
991                                goto yy684;
992                            }
993                        } else {
994                            if (yyaccept == 52) {
995                                goto yy687;
996                            } else {
997                                goto yy689;
998                            }
999                        }
1000                    }
1001                } else {
1002                    if (yyaccept <= 57) {
1003                        if (yyaccept <= 55) {
1004                            if (yyaccept == 54) {
1005                                goto yy697;
1006                            } else {
1007                                goto yy699;
1008                            }
1009                        } else {
1010                            if (yyaccept == 56) {
1011                                goto yy714;
1012                            } else {
1013                                goto yy716;
1014                            }
1015                        }
1016                    } else {
1017                        if (yyaccept <= 59) {
1018                            if (yyaccept == 58) {
1019                                goto yy720;
1020                            } else {
1021                                goto yy722;
1022                            }
1023                        } else {
1024                            goto yy724;
1025                        }
1026                    }
1027                }
1028            }
1029        }
1030    } else {
1031        if (yyaccept <= 91) {
1032            if (yyaccept <= 76) {
1033                if (yyaccept <= 68) {
1034                    if (yyaccept <= 64) {
1035                        if (yyaccept <= 62) {
1036                            if (yyaccept == 61) {
1037                                goto yy726;
1038                            } else {
1039                                goto yy728;
1040                            }
1041                        } else {
1042                            if (yyaccept == 63) {
1043                                goto yy733;
1044                            } else {
1045                                goto yy739;
1046                            }
1047                        }
1048                    } else {
1049                        if (yyaccept <= 66) {
1050                            if (yyaccept == 65) {
1051                                goto yy744;
1052                            } else {
1053                                goto yy746;
1054                            }
1055                        } else {
1056                            if (yyaccept == 67) {
1057                                goto yy748;
1058                            } else {
1059                                goto yy750;
1060                            }
1061                        }
1062                    }
1063                } else {
1064                    if (yyaccept <= 72) {
1065                        if (yyaccept <= 70) {
1066                            if (yyaccept == 69) {
1067                                goto yy752;
1068                            } else {
1069                                goto yy754;
1070                            }
1071                        } else {
1072                            if (yyaccept == 71) {
1073                                goto yy759;
1074                            } else {
1075                                goto yy766;
1076                            }
1077                        }
1078                    } else {
1079                        if (yyaccept <= 74) {
1080                            if (yyaccept == 73) {
1081                                goto yy781;
1082                            } else {
1083                                goto yy783;
1084                            }
1085                        } else {
1086                            if (yyaccept == 75) {
1087                                goto yy785;
1088                            } else {
1089                                goto yy787;
1090                            }
1091                        }
1092                    }
1093                }
1094            } else {
1095                if (yyaccept <= 84) {
1096                    if (yyaccept <= 80) {
1097                        if (yyaccept <= 78) {
1098                            if (yyaccept == 77) {
1099                                goto yy791;
1100                            } else {
1101                                goto yy794;
1102                            }
1103                        } else {
1104                            if (yyaccept == 79) {
1105                                goto yy796;
1106                            } else {
1107                                goto yy800;
1108                            }
1109                        }
1110                    } else {
1111                        if (yyaccept <= 82) {
1112                            if (yyaccept == 81) {
1113                                goto yy805;
1114                            } else {
1115                                goto yy813;
1116                            }
1117                        } else {
1118                            if (yyaccept == 83) {
1119                                goto yy817;
1120                            } else {
1121                                goto yy821;
1122                            }
1123                        }
1124                    }
1125                } else {
1126                    if (yyaccept <= 88) {
1127                        if (yyaccept <= 86) {
1128                            if (yyaccept == 85) {
1129                                goto yy824;
1130                            } else {
1131                                goto yy833;
1132                            }
1133                        } else {
1134                            if (yyaccept == 87) {
1135                                goto yy837;
1136                            } else {
1137                                goto yy840;
1138                            }
1139                        }
1140                    } else {
1141                        if (yyaccept <= 90) {
1142                            if (yyaccept == 89) {
1143                                goto yy843;
1144                            } else {
1145                                goto yy847;
1146                            }
1147                        } else {
1148                            goto yy852;
1149                        }
1150                    }
1151                }
1152            }
1153        } else {
1154            if (yyaccept <= 106) {
1155                if (yyaccept <= 99) {
1156                    if (yyaccept <= 95) {
1157                        if (yyaccept <= 93) {
1158                            if (yyaccept == 92) {
1159                                goto yy854;
1160                            } else {
1161                                goto yy856;
1162                            }
1163                        } else {
1164                            if (yyaccept == 94) {
1165                                goto yy858;
1166                            } else {
1167                                goto yy861;
1168                            }
1169                        }
1170                    } else {
1171                        if (yyaccept <= 97) {
1172                            if (yyaccept == 96) {
1173                                goto yy867;
1174                            } else {
1175                                goto yy869;
1176                            }
1177                        } else {
1178                            if (yyaccept == 98) {
1179                                goto yy872;
1180                            } else {
1181                                goto yy875;
1182                            }
1183                        }
1184                    }
1185                } else {
1186                    if (yyaccept <= 103) {
1187                        if (yyaccept <= 101) {
1188                            if (yyaccept == 100) {
1189                                goto yy877;
1190                            } else {
1191                                goto yy880;
1192                            }
1193                        } else {
1194                            if (yyaccept == 102) {
1195                                goto yy883;
1196                            } else {
1197                                goto yy887;
1198                            }
1199                        }
1200                    } else {
1201                        if (yyaccept <= 105) {
1202                            if (yyaccept == 104) {
1203                                goto yy890;
1204                            } else {
1205                                goto yy892;
1206                            }
1207                        } else {
1208                            goto yy894;
1209                        }
1210                    }
1211                }
1212            } else {
1213                if (yyaccept <= 114) {
1214                    if (yyaccept <= 110) {
1215                        if (yyaccept <= 108) {
1216                            if (yyaccept == 107) {
1217                                goto yy903;
1218                            } else {
1219                                goto yy905;
1220                            }
1221                        } else {
1222                            if (yyaccept == 109) {
1223                                goto yy907;
1224                            } else {
1225                                goto yy909;
1226                            }
1227                        }
1228                    } else {
1229                        if (yyaccept <= 112) {
1230                            if (yyaccept == 111) {
1231                                goto yy912;
1232                            } else {
1233                                goto yy914;
1234                            }
1235                        } else {
1236                            if (yyaccept == 113) {
1237                                goto yy916;
1238                            } else {
1239                                goto yy919;
1240                            }
1241                        }
1242                    }
1243                } else {
1244                    if (yyaccept <= 118) {
1245                        if (yyaccept <= 116) {
1246                            if (yyaccept == 115) {
1247                                goto yy921;
1248                            } else {
1249                                goto yy936;
1250                            }
1251                        } else {
1252                            if (yyaccept == 117) {
1253                                goto yy953;
1254                            } else {
1255                                goto yy957;
1256                            }
1257                        }
1258                    } else {
1259                        if (yyaccept <= 120) {
1260                            if (yyaccept == 119) {
1261                                goto yy961;
1262                            } else {
1263                                goto yy964;
1264                            }
1265                        } else {
1266                            goto yy968;
1267                        }
1268                    }
1269                }
1270            }
1271        }
1272    }
1273yy101:
1274    ++YYCURSOR;
1275yy102:
1276#line 273 "strict_cpp.re"
1277    { BOOST_WAVE_RET(T_STRINGLIT); }
1278#line 1279 "strict_cpp_re.inc"
1279yy103:
1280    ++YYCURSOR;
1281    if (YYLIMIT <= YYCURSOR) YYFILL(1);
1282    yych = *YYCURSOR;
1283    if (yybm[0+yych] & 1) {
1284        goto yy98;
1285    }
1286    if (yych <= 0x1F) goto yy100;
1287    if (yych <= '"') goto yy101;
1288    if (yych <= '?') goto yy255;
1289yy104:
1290    ++YYCURSOR;
1291    if (YYLIMIT <= YYCURSOR) YYFILL(1);
1292    yych = *YYCURSOR;
1293    if (yych <= '`') {
1294        if (yych <= '7') {
1295            if (yych <= '&') {
1296                if (yych == '"') goto yy98;
1297                goto yy100;
1298            } else {
1299                if (yych <= '\'') goto yy98;
1300                if (yych <= '/') goto yy100;
1301                goto yy98;
1302            }
1303        } else {
1304            if (yych <= 'T') {
1305                if (yych == '?') goto yy98;
1306                goto yy100;
1307            } else {
1308                if (yych <= 'U') goto yy257;
1309                if (yych == '\\') goto yy98;
1310                goto yy100;
1311            }
1312        }
1313    } else {
1314        if (yych <= 'r') {
1315            if (yych <= 'f') {
1316                if (yych <= 'b') goto yy98;
1317                if (yych <= 'e') goto yy100;
1318                goto yy98;
1319            } else {
1320                if (yych == 'n') goto yy98;
1321                if (yych <= 'q') goto yy100;
1322                goto yy98;
1323            }
1324        } else {
1325            if (yych <= 'u') {
1326                if (yych <= 's') goto yy100;
1327                if (yych <= 't') goto yy98;
1328                goto yy258;
1329            } else {
1330                if (yych <= 'v') goto yy98;
1331                if (yych == 'x') goto yy259;
1332                goto yy100;
1333            }
1334        }
1335    }
1336yy105:
1337    ++YYCURSOR;
1338    if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
1339    yych = *YYCURSOR;
1340yy106:
1341    if (yych <= 'h') {
1342        if (yych <= ' ') {
1343            if (yych <= '\n') {
1344                if (yych == '\t') goto yy105;
1345                goto yy100;
1346            } else {
1347                if (yych <= '\f') goto yy105;
1348                if (yych <= 0x1F) goto yy100;
1349                goto yy105;
1350            }
1351        } else {
1352            if (yych <= 'c') {
1353                if (yych == '/') goto yy109;
1354                goto yy100;
1355            } else {
1356                if (yych <= 'd') goto yy111;
1357                if (yych <= 'e') goto yy112;
1358                goto yy100;
1359            }
1360        }
1361    } else {
1362        if (yych <= 'q') {
1363            if (yych <= 'l') {
1364                if (yych <= 'i') goto yy113;
1365                if (yych <= 'k') goto yy100;
1366                goto yy114;
1367            } else {
1368                if (yych == 'p') goto yy115;
1369                goto yy100;
1370            }
1371        } else {
1372            if (yych <= 'u') {
1373                if (yych <= 'r') goto yy116;
1374                if (yych <= 't') goto yy100;
1375                goto yy117;
1376            } else {
1377                if (yych == 'w') goto yy118;
1378                goto yy100;
1379            }
1380        }
1381    }
1382yy107:
1383    ++YYCURSOR;
1384#line 161 "strict_cpp.re"
1385    { BOOST_WAVE_RET(T_POUND_POUND); }
1386#line 1387 "strict_cpp_re.inc"
1387yy109:
1388    ++YYCURSOR;
1389    if (YYLIMIT <= YYCURSOR) YYFILL(1);
1390    yych = *YYCURSOR;
1391    if (yych == '*') goto yy260;
1392    goto yy100;
1393yy110:
1394    yych = *++YYCURSOR;
1395    if (yych == '?') goto yy262;
1396    goto yy100;
1397yy111:
1398    yych = *++YYCURSOR;
1399    if (yych == 'e') goto yy263;
1400    goto yy100;
1401yy112:
1402    yych = *++YYCURSOR;
1403    if (yych <= 'm') {
1404        if (yych == 'l') goto yy264;
1405        goto yy100;
1406    } else {
1407        if (yych <= 'n') goto yy265;
1408        if (yych == 'r') goto yy266;
1409        goto yy100;
1410    }
1411yy113:
1412    yych = *++YYCURSOR;
1413    if (yych == 'f') goto yy267;
1414    if (yych == 'n') goto yy269;
1415    goto yy100;
1416yy114:
1417    yych = *++YYCURSOR;
1418    if (yych == 'i') goto yy270;
1419    goto yy100;
1420yy115:
1421    yych = *++YYCURSOR;
1422    if (yych == 'r') goto yy271;
1423    goto yy100;
1424yy116:
1425    yych = *++YYCURSOR;
1426    if (yych == 'e') goto yy272;
1427    goto yy100;
1428yy117:
1429    yych = *++YYCURSOR;
1430    if (yych == 'n') goto yy273;
1431    goto yy100;
1432yy118:
1433    yych = *++YYCURSOR;
1434    if (yych == 'a') goto yy274;
1435    goto yy100;
1436yy119:
1437    yyaccept = 6;
1438    yych = *(YYMARKER = ++YYCURSOR);
1439    if (yych <= 'e') {
1440        if (yych <= ' ') {
1441            if (yych <= '\n') {
1442                if (yych == '\t') goto yy106;
1443            } else {
1444                if (yych <= '\f') goto yy106;
1445                if (yych >= ' ') goto yy106;
1446            }
1447        } else {
1448            if (yych <= '.') {
1449                if (yych == '%') goto yy275;
1450            } else {
1451                if (yych <= '/') goto yy106;
1452                if (yych >= 'd') goto yy106;
1453            }
1454        }
1455    } else {
1456        if (yych <= 'p') {
1457            if (yych <= 'k') {
1458                if (yych == 'i') goto yy106;
1459            } else {
1460                if (yych <= 'l') goto yy106;
1461                if (yych >= 'p') goto yy106;
1462            }
1463        } else {
1464            if (yych <= 't') {
1465                if (yych == 'r') goto yy106;
1466            } else {
1467                if (yych == 'v') goto yy120;
1468                if (yych <= 'w') goto yy106;
1469            }
1470        }
1471    }
1472yy120:
1473#line 159 "strict_cpp.re"
1474    { BOOST_WAVE_RET(T_POUND_ALT); }
1475#line 1476 "strict_cpp_re.inc"
1476yy121:
1477    ++YYCURSOR;
1478#line 218 "strict_cpp.re"
1479    { BOOST_WAVE_RET(T_PERCENTASSIGN); }
1480#line 1481 "strict_cpp_re.inc"
1481yy123:
1482    ++YYCURSOR;
1483#line 151 "strict_cpp.re"
1484    { BOOST_WAVE_RET(T_RIGHTBRACE_ALT); }
1485#line 1486 "strict_cpp_re.inc"
1486yy125:
1487    ++YYCURSOR;
1488#line 246 "strict_cpp.re"
1489    { BOOST_WAVE_RET(T_ANDAND); }
1490#line 1491 "strict_cpp_re.inc"
1491yy127:
1492    ++YYCURSOR;
1493#line 222 "strict_cpp.re"
1494    { BOOST_WAVE_RET(T_ANDASSIGN); }
1495#line 1496 "strict_cpp_re.inc"
1496yy129:
1497    ++YYCURSOR;
1498    if (YYLIMIT <= YYCURSOR) YYFILL(1);
1499    yych = *YYCURSOR;
1500yy130:
1501    if (yybm[0+yych] & 2) {
1502        goto yy129;
1503    }
1504    if (yych <= 0x1F) goto yy100;
1505    if (yych <= '\'') goto yy276;
1506    if (yych >= '@') goto yy132;
1507yy131:
1508    ++YYCURSOR;
1509    if (YYLIMIT <= YYCURSOR) YYFILL(1);
1510    yych = *YYCURSOR;
1511    if (yybm[0+yych] & 2) {
1512        goto yy129;
1513    }
1514    if (yych <= 0x1F) goto yy100;
1515    if (yych <= '\'') goto yy276;
1516    if (yych <= '?') goto yy278;
1517yy132:
1518    ++YYCURSOR;
1519    if (YYLIMIT <= YYCURSOR) YYFILL(1);
1520    yych = *YYCURSOR;
1521    if (yych <= '`') {
1522        if (yych <= '7') {
1523            if (yych <= '&') {
1524                if (yych == '"') goto yy129;
1525                goto yy100;
1526            } else {
1527                if (yych <= '\'') goto yy129;
1528                if (yych <= '/') goto yy100;
1529                goto yy129;
1530            }
1531        } else {
1532            if (yych <= 'T') {
1533                if (yych == '?') goto yy129;
1534                goto yy100;
1535            } else {
1536                if (yych <= 'U') goto yy280;
1537                if (yych == '\\') goto yy129;
1538                goto yy100;
1539            }
1540        }
1541    } else {
1542        if (yych <= 'r') {
1543            if (yych <= 'f') {
1544                if (yych <= 'b') goto yy129;
1545                if (yych <= 'e') goto yy100;
1546                goto yy129;
1547            } else {
1548                if (yych == 'n') goto yy129;
1549                if (yych <= 'q') goto yy100;
1550                goto yy129;
1551            }
1552        } else {
1553            if (yych <= 'u') {
1554                if (yych <= 's') goto yy100;
1555                if (yych <= 't') goto yy129;
1556                goto yy281;
1557            } else {
1558                if (yych <= 'v') goto yy129;
1559                if (yych == 'x') goto yy282;
1560                goto yy100;
1561            }
1562        }
1563    }
1564yy133:
1565    ++YYCURSOR;
1566#line 216 "strict_cpp.re"
1567    { BOOST_WAVE_RET(T_STARASSIGN); }
1568#line 1569 "strict_cpp_re.inc"
1569yy135:
1570    ++YYCURSOR;
1571#line 253 "strict_cpp.re"
1572    { BOOST_WAVE_RET(T_PLUSPLUS); }
1573#line 1574 "strict_cpp_re.inc"
1574yy137:
1575    ++YYCURSOR;
1576#line 214 "strict_cpp.re"
1577    { BOOST_WAVE_RET(T_PLUSASSIGN); }
1578#line 1579 "strict_cpp_re.inc"
1579yy139:
1580    ++YYCURSOR;
1581#line 254 "strict_cpp.re"
1582    { BOOST_WAVE_RET(T_MINUSMINUS); }
1583#line 1584 "strict_cpp_re.inc"
1584yy141:
1585    ++YYCURSOR;
1586#line 215 "strict_cpp.re"
1587    { BOOST_WAVE_RET(T_MINUSASSIGN); }
1588#line 1589 "strict_cpp_re.inc"
1589yy143:
1590    yych = *++YYCURSOR;
1591    if (yych == '*') goto yy283;
1592#line 266 "strict_cpp.re"
1593    { BOOST_WAVE_RET(T_ARROW); }
1594#line 1595 "strict_cpp_re.inc"
1595yy145:
1596    ++YYCURSOR;
1597#line 184 "strict_cpp.re"
1598    {
1599            if (s->act_in_c99_mode) {
1600                --YYCURSOR;
1601                BOOST_WAVE_RET(T_DOT);
1602            }
1603            else {
1604                BOOST_WAVE_RET(T_DOTSTAR);
1605            }
1606        }
1607#line 1608 "strict_cpp_re.inc"
1608yy147:
1609    yych = *++YYCURSOR;
1610    if (yych == '.') goto yy285;
1611    goto yy100;
1612yy148:
1613    ++YYCURSOR;
1614#line 43 "strict_cpp.re"
1615    { goto ccomment; }
1616#line 1617 "strict_cpp_re.inc"
1617yy150:
1618    ++YYCURSOR;
1619#line 44 "strict_cpp.re"
1620    { goto cppcomment; }
1621#line 1622 "strict_cpp_re.inc"
1622yy152:
1623    ++YYCURSOR;
1624#line 217 "strict_cpp.re"
1625    { BOOST_WAVE_RET(T_DIVIDEASSIGN); }
1626#line 1627 "strict_cpp_re.inc"
1627yy154:
1628    ++YYCURSOR;
1629#line 173 "strict_cpp.re"
1630    {
1631            if (s->act_in_c99_mode) {
1632                --YYCURSOR;
1633                BOOST_WAVE_RET(T_COLON);
1634            }
1635            else {
1636                BOOST_WAVE_RET(T_COLON_COLON);
1637            }
1638        }
1639#line 1640 "strict_cpp_re.inc"
1640yy156:
1641    ++YYCURSOR;
1642#line 157 "strict_cpp.re"
1643    { BOOST_WAVE_RET(T_RIGHTBRACKET_ALT); }
1644#line 1645 "strict_cpp_re.inc"
1645yy158:
1646    ++YYCURSOR;
1647#line 148 "strict_cpp.re"
1648    { BOOST_WAVE_RET(T_LEFTBRACE_ALT); }
1649#line 1650 "strict_cpp_re.inc"
1650yy160:
1651    ++YYCURSOR;
1652#line 154 "strict_cpp.re"
1653    { BOOST_WAVE_RET(T_LEFTBRACKET_ALT); }
1654#line 1655 "strict_cpp_re.inc"
1655yy162:
1656    yych = *++YYCURSOR;
1657    if (yych == '=') goto yy287;
1658#line 227 "strict_cpp.re"
1659    { BOOST_WAVE_RET(T_SHIFTLEFT); }
1660#line 1661 "strict_cpp_re.inc"
1661yy164:
1662    yych = *++YYCURSOR;
1663    if (yych == '>') goto yy289;
1664#line 244 "strict_cpp.re"
1665    { BOOST_WAVE_RET(T_LESSEQUAL); }
1666#line 1667 "strict_cpp_re.inc"
1667yy166:
1668    ++YYCURSOR;
1669#line 231 "strict_cpp.re"
1670    { BOOST_WAVE_RET(T_EQUAL); }
1671#line 1672 "strict_cpp_re.inc"
1672yy168:
1673    ++YYCURSOR;
1674#line 245 "strict_cpp.re"
1675    { BOOST_WAVE_RET(T_GREATEREQUAL); }
1676#line 1677 "strict_cpp_re.inc"
1677yy170:
1678    yych = *++YYCURSOR;
1679    if (yych == '=') goto yy291;
1680#line 228 "strict_cpp.re"
1681    { BOOST_WAVE_RET(T_SHIFTRIGHT); }
1682#line 1683 "strict_cpp_re.inc"
1683yy172:
1684    yych = *++YYCURSOR;
1685    switch (yych) {
1686    case '!':    goto yy293;
1687    case '\'':    goto yy295;
1688    case '(':    goto yy297;
1689    case ')':    goto yy299;
1690    case '-':    goto yy301;
1691    case '/':    goto yy303;
1692    case '<':    goto yy305;
1693    case '=':    goto yy307;
1694    case '>':    goto yy309;
1695    default:    goto yy100;
1696    }
1697yy173:
1698    ++YYCURSOR;
1699    if (YYLIMIT <= YYCURSOR) YYFILL(1);
1700    yych = *YYCURSOR;
1701    if (yych == '?') goto yy311;
1702    goto yy100;
1703yy174:
1704    ++YYCURSOR;
1705    if (YYLIMIT <= YYCURSOR) YYFILL(1);
1706    yych = *YYCURSOR;
1707    if (yych == 'U') goto yy183;
1708    if (yych == 'u') goto yy184;
1709    goto yy100;
1710yy175:
1711    yych = *++YYCURSOR;
1712    if (yych == '\'') goto yy100;
1713    goto yy130;
1714yy176:
1715    ++YYCURSOR;
1716#line 276 "strict_cpp.re"
1717    {
1718            if (s->act_in_cpp0x_mode)
1719            {
1720                rawstringdelim = "";
1721                goto extrawstringlit;
1722            }
1723            --YYCURSOR;
1724            BOOST_WAVE_RET(T_IDENTIFIER);
1725        }
1726#line 1727 "strict_cpp_re.inc"
1727yy178:
1728    ++YYCURSOR;
1729#line 295 "strict_cpp.re"
1730    {
1731            if (s->act_in_cpp0x_mode)
1732                goto extstringlit;
1733            --YYCURSOR;
1734            BOOST_WAVE_RET(T_IDENTIFIER);
1735        }
1736#line 1737 "strict_cpp_re.inc"
1737yy180:
1738    ++YYCURSOR;
1739#line 287 "strict_cpp.re"
1740    {
1741            if (s->act_in_cpp0x_mode)
1742                goto extcharlit;
1743            --YYCURSOR;
1744            BOOST_WAVE_RET(T_IDENTIFIER);
1745        }
1746#line 1747 "strict_cpp_re.inc"
1747yy182:
1748    yyaccept = 4;
1749    yych = *(YYMARKER = ++YYCURSOR);
1750    if (yych == '"') goto yy312;
1751    goto yy55;
1752yy183:
1753    ++YYCURSOR;
1754    if (YYLIMIT <= YYCURSOR) YYFILL(1);
1755    yych = *YYCURSOR;
1756    if (yych <= '@') {
1757        if (yych <= '/') goto yy100;
1758        if (yych <= '9') goto yy314;
1759        goto yy100;
1760    } else {
1761        if (yych <= 'F') goto yy314;
1762        if (yych <= '`') goto yy100;
1763        if (yych <= 'f') goto yy314;
1764        goto yy100;
1765    }
1766yy184:
1767    ++YYCURSOR;
1768    if (YYLIMIT <= YYCURSOR) YYFILL(1);
1769    yych = *YYCURSOR;
1770    if (yych <= '@') {
1771        if (yych <= '/') goto yy100;
1772        if (yych <= '9') goto yy315;
1773        goto yy100;
1774    } else {
1775        if (yych <= 'F') goto yy315;
1776        if (yych <= '`') goto yy100;
1777        if (yych <= 'f') goto yy315;
1778        goto yy100;
1779    }
1780yy185:
1781    ++YYCURSOR;
1782#line 219 "strict_cpp.re"
1783    { BOOST_WAVE_RET(T_XORASSIGN); }
1784#line 1785 "strict_cpp_re.inc"
1785yy187:
1786    yyaccept = 4;
1787    yych = *(YYMARKER = ++YYCURSOR);
1788    switch (yych) {
1789    case 'a':    goto yy188;
1790    case 'b':    goto yy189;
1791    case 'c':    goto yy190;
1792    case 'd':    goto yy191;
1793    case 'e':    goto yy316;
1794    case 'f':    goto yy317;
1795    case 'i':    goto yy318;
1796    case 'l':    goto yy319;
1797    case 's':    goto yy194;
1798    case 't':    goto yy320;
1799    default:    goto yy55;
1800    }
1801yy188:
1802    yyaccept = 4;
1803    yych = *(YYMARKER = ++YYCURSOR);
1804    if (yych == 's') goto yy321;
1805    goto yy55;
1806yy189:
1807    yyaccept = 4;
1808    yych = *(YYMARKER = ++YYCURSOR);
1809    if (yych == 'a') goto yy322;
1810    goto yy55;
1811yy190:
1812    yyaccept = 4;
1813    yych = *(YYMARKER = ++YYCURSOR);
1814    if (yych == 'd') goto yy323;
1815    goto yy55;
1816yy191:
1817    yyaccept = 4;
1818    yych = *(YYMARKER = ++YYCURSOR);
1819    if (yych == 'e') goto yy324;
1820    goto yy55;
1821yy192:
1822    yyaccept = 4;
1823    yych = *(YYMARKER = ++YYCURSOR);
1824    if (yych == 'a') goto yy325;
1825    goto yy55;
1826yy193:
1827    yyaccept = 4;
1828    yych = *(YYMARKER = ++YYCURSOR);
1829    if (yych == 'n') goto yy326;
1830    goto yy55;
1831yy194:
1832    yyaccept = 4;
1833    yych = *(YYMARKER = ++YYCURSOR);
1834    if (yych == 't') goto yy327;
1835    goto yy55;
1836yy195:
1837    yyaccept = 4;
1838    yych = *(YYMARKER = ++YYCURSOR);
1839    if (yych == 'i') goto yy328;
1840    goto yy55;
1841yy196:
1842    yyaccept = 4;
1843    yych = *(YYMARKER = ++YYCURSOR);
1844    if (yych == 'd') goto yy329;
1845    goto yy55;
1846yy197:
1847    yyaccept = 4;
1848    yych = *(YYMARKER = ++YYCURSOR);
1849    if (yych == 'm') goto yy331;
1850    goto yy55;
1851yy198:
1852    yyaccept = 4;
1853    yych = *(YYMARKER = ++YYCURSOR);
1854    if (yych == 't') goto yy333;
1855    goto yy55;
1856yy199:
1857    yyaccept = 4;
1858    yych = *(YYMARKER = ++YYCURSOR);
1859    if (yych == 't') goto yy334;
1860    goto yy55;
1861yy200:
1862    yyaccept = 4;
1863    yych = *(YYMARKER = ++YYCURSOR);
1864    if (yych == 'o') goto yy335;
1865    goto yy55;
1866yy201:
1867    yyaccept = 4;
1868    yych = *(YYMARKER = ++YYCURSOR);
1869    if (yych == 'e') goto yy336;
1870    goto yy55;
1871yy202:
1872    yyaccept = 4;
1873    yych = *(YYMARKER = ++YYCURSOR);
1874    if (yych <= 'r') goto yy55;
1875    if (yych <= 's') goto yy337;
1876    if (yych <= 't') goto yy338;
1877    goto yy55;
1878yy203:
1879    yyaccept = 4;
1880    yych = *(YYMARKER = ++YYCURSOR);
1881    if (yych == 'a') goto yy339;
1882    goto yy55;
1883yy204:
1884    yyaccept = 4;
1885    yych = *(YYMARKER = ++YYCURSOR);
1886    if (yych == 'a') goto yy340;
1887    goto yy55;
1888yy205:
1889    yyaccept = 4;
1890    yych = *(YYMARKER = ++YYCURSOR);
1891    if (yych <= 'l') {
1892        if (yych == '_') goto yy341;
1893        goto yy55;
1894    } else {
1895        if (yych <= 'm') goto yy342;
1896        if (yych <= 'n') goto yy343;
1897        goto yy55;
1898    }
1899yy206:
1900    yyaccept = 4;
1901    yych = *(YYMARKER = ++YYCURSOR);
1902    if (yych <= 'e') {
1903        if (yych == 'c') goto yy344;
1904        goto yy55;
1905    } else {
1906        if (yych <= 'f') goto yy345;
1907        if (yych == 'l') goto yy346;
1908        goto yy55;
1909    }
1910yy207:
1911    yyaccept = 7;
1912    yych = *(YYMARKER = ++YYCURSOR);
1913    if (yych <= '[') {
1914        if (yych <= '>') {
1915            if (yych <= '/') goto yy208;
1916            if (yych <= '9') goto yy54;
1917        } else {
1918            if (yych <= '?') goto yy173;
1919            if (yych <= '@') goto yy208;
1920            if (yych <= 'Z') goto yy54;
1921        }
1922    } else {
1923        if (yych <= '`') {
1924            if (yych <= '\\') goto yy174;
1925            if (yych == '_') goto yy54;
1926        } else {
1927            if (yych == 'u') goto yy347;
1928            if (yych <= 'z') goto yy54;
1929        }
1930    }
1931yy208:
1932#line 73 "strict_cpp.re"
1933    { BOOST_WAVE_RET(T_DO); }
1934#line 1935 "strict_cpp_re.inc"
1935yy209:
1936    yyaccept = 4;
1937    yych = *(YYMARKER = ++YYCURSOR);
1938    if (yych == 'n') goto yy348;
1939    goto yy55;
1940yy210:
1941    yyaccept = 4;
1942    yych = *(YYMARKER = ++YYCURSOR);
1943    if (yych == 's') goto yy349;
1944    goto yy55;
1945yy211:
1946    yyaccept = 4;
1947    yych = *(YYMARKER = ++YYCURSOR);
1948    if (yych == 'u') goto yy350;
1949    goto yy55;
1950yy212:
1951    yyaccept = 4;
1952    yych = *(YYMARKER = ++YYCURSOR);
1953    if (yych == 'p') goto yy351;
1954    if (yych == 't') goto yy352;
1955    goto yy55;
1956yy213:
1957    yyaccept = 4;
1958    yych = *(YYMARKER = ++YYCURSOR);
1959    if (yych == 'l') goto yy353;
1960    goto yy55;
1961yy214:
1962    yyaccept = 4;
1963    yych = *(YYMARKER = ++YYCURSOR);
1964    if (yych == 'o') goto yy354;
1965    goto yy55;
1966yy215:
1967    yyaccept = 4;
1968    yych = *(YYMARKER = ++YYCURSOR);
1969    if (yych == 'r') goto yy355;
1970    goto yy55;
1971yy216:
1972    yyaccept = 4;
1973    yych = *(YYMARKER = ++YYCURSOR);
1974    if (yych == 'i') goto yy357;
1975    goto yy55;
1976yy217:
1977    yyaccept = 4;
1978    yych = *(YYMARKER = ++YYCURSOR);
1979    if (yych == 't') goto yy358;
1980    goto yy55;
1981yy218:
1982    yyaccept = 8;
1983    yych = *(YYMARKER = ++YYCURSOR);
1984    if (yybm[256+yych] & 128) {
1985        goto yy54;
1986    }
1987    if (yych == '?') goto yy173;
1988    if (yych == '\\') goto yy174;
1989yy219:
1990#line 86 "strict_cpp.re"
1991    { BOOST_WAVE_RET(T_IF); }
1992#line 1993 "strict_cpp_re.inc"
1993yy220:
1994    yyaccept = 4;
1995    yych = *(YYMARKER = ++YYCURSOR);
1996    if (yych == 'p') goto yy359;
1997    goto yy55;
1998yy221:
1999    yyaccept = 4;
2000    yych = *(YYMARKER = ++YYCURSOR);
2001    if (yych == 'l') goto yy360;
2002    if (yych == 't') goto yy361;
2003    goto yy55;
2004yy222:
2005    yyaccept = 4;
2006    yych = *(YYMARKER = ++YYCURSOR);
2007    if (yych == 'n') goto yy363;
2008    goto yy55;
2009yy223:
2010    yyaccept = 4;
2011    yych = *(YYMARKER = ++YYCURSOR);
2012    if (yych == 't') goto yy364;
2013    goto yy55;
2014yy224:
2015    yyaccept = 4;
2016    yych = *(YYMARKER = ++YYCURSOR);
2017    if (yych == 'm') goto yy365;
2018    goto yy55;
2019yy225:
2020    yyaccept = 4;
2021    yych = *(YYMARKER = ++YYCURSOR);
2022    if (yych == 'w') goto yy366;
2023    goto yy55;
2024yy226:
2025    yyaccept = 4;
2026    yych = *(YYMARKER = ++YYCURSOR);
2027    if (yych == 'e') goto yy368;
2028    if (yych == 't') goto yy369;
2029    goto yy55;
2030yy227:
2031    yyaccept = 4;
2032    yych = *(YYMARKER = ++YYCURSOR);
2033    if (yych == 'l') goto yy371;
2034    goto yy55;
2035yy228:
2036    yyaccept = 4;
2037    yych = *(YYMARKER = ++YYCURSOR);
2038    if (yych == 'e') goto yy372;
2039    goto yy55;
2040yy229:
2041    yyaccept = 9;
2042    yych = *(YYMARKER = ++YYCURSOR);
2043    if (yych <= 'Z') {
2044        if (yych <= '>') {
2045            if (yych <= '/') goto yy230;
2046            if (yych <= '9') goto yy54;
2047        } else {
2048            if (yych <= '?') goto yy173;
2049            if (yych >= 'A') goto yy54;
2050        }
2051    } else {
2052        if (yych <= '^') {
2053            if (yych == '\\') goto yy174;
2054        } else {
2055            if (yych <= '_') goto yy373;
2056            if (yych <= '`') goto yy230;
2057            if (yych <= 'z') goto yy54;
2058        }
2059    }
2060yy230:
2061#line 251 "strict_cpp.re"
2062    { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_OROR_ALT); }
2063#line 2064 "strict_cpp_re.inc"
2064yy231:
2065    yyaccept = 4;
2066    yych = *(YYMARKER = ++YYCURSOR);
2067    if (yych == 'i') goto yy374;
2068    if (yych == 'o') goto yy375;
2069    goto yy55;
2070yy232:
2071    yyaccept = 4;
2072    yych = *(YYMARKER = ++YYCURSOR);
2073    if (yych == 'b') goto yy376;
2074    goto yy55;
2075yy233:
2076    yyaccept = 4;
2077    yych = *(YYMARKER = ++YYCURSOR);
2078    switch (yych) {
2079    case 'g':    goto yy377;
2080    case 'i':    goto yy378;
2081    case 'q':    goto yy379;
2082    case 't':    goto yy380;
2083    default:    goto yy55;
2084    }
2085yy234:
2086    yyaccept = 4;
2087    yych = *(YYMARKER = ++YYCURSOR);
2088    if (yych == 'o') goto yy381;
2089    goto yy55;
2090yy235:
2091    yyaccept = 4;
2092    yych = *(YYMARKER = ++YYCURSOR);
2093    if (yych == 'g') goto yy382;
2094    if (yych == 'z') goto yy383;
2095    goto yy55;
2096yy236:
2097    yyaccept = 4;
2098    yych = *(YYMARKER = ++YYCURSOR);
2099    if (yych == 'a') goto yy384;
2100    if (yych == 'r') goto yy385;
2101    goto yy55;
2102yy237:
2103    yyaccept = 4;
2104    yych = *(YYMARKER = ++YYCURSOR);
2105    if (yych == 'i') goto yy386;
2106    goto yy55;
2107yy238:
2108    yyaccept = 4;
2109    yych = *(YYMARKER = ++YYCURSOR);
2110    if (yych == 'm') goto yy387;
2111    goto yy55;
2112yy239:
2113    yyaccept = 4;
2114    yych = *(YYMARKER = ++YYCURSOR);
2115    if (yych == 'i') goto yy388;
2116    if (yych == 'r') goto yy389;
2117    goto yy55;
2118yy240:
2119    yyaccept = 4;
2120    yych = *(YYMARKER = ++YYCURSOR);
2121    if (yych == 'u') goto yy390;
2122    if (yych == 'y') goto yy391;
2123    goto yy55;
2124yy241:
2125    yyaccept = 4;
2126    yych = *(YYMARKER = ++YYCURSOR);
2127    if (yych == 'p') goto yy393;
2128    goto yy55;
2129yy242:
2130    yyaccept = 4;
2131    yych = *(YYMARKER = ++YYCURSOR);
2132    if (yych == '"') goto yy178;
2133    if (yych == 'R') goto yy182;
2134    goto yy55;
2135yy243:
2136    yyaccept = 4;
2137    yych = *(YYMARKER = ++YYCURSOR);
2138    if (yych == 'i') goto yy394;
2139    if (yych == 's') goto yy395;
2140    goto yy55;
2141yy244:
2142    yyaccept = 4;
2143    yych = *(YYMARKER = ++YYCURSOR);
2144    if (yych == 'i') goto yy396;
2145    goto yy55;
2146yy245:
2147    yyaccept = 4;
2148    yych = *(YYMARKER = ++YYCURSOR);
2149    if (yych == 'r') goto yy397;
2150    goto yy55;
2151yy246:
2152    yyaccept = 4;
2153    yych = *(YYMARKER = ++YYCURSOR);
2154    if (yych == 'i') goto yy398;
2155    if (yych == 'l') goto yy399;
2156    goto yy55;
2157yy247:
2158    yyaccept = 4;
2159    yych = *(YYMARKER = ++YYCURSOR);
2160    if (yych == 'h') goto yy400;
2161    goto yy55;
2162yy248:
2163    yyaccept = 4;
2164    yych = *(YYMARKER = ++YYCURSOR);
2165    if (yych == 'i') goto yy401;
2166    goto yy55;
2167yy249:
2168    yyaccept = 4;
2169    yych = *(YYMARKER = ++YYCURSOR);
2170    if (yych == 'r') goto yy402;
2171    goto yy55;
2172yy250:
2173    ++YYCURSOR;
2174#line 224 "strict_cpp.re"
2175    { BOOST_WAVE_RET(T_ORASSIGN); }
2176#line 2177 "strict_cpp_re.inc"
2177yy252:
2178    yych = *++YYCURSOR;
2179    if (yych == '?') goto yy404;
2180    goto yy100;
2181yy253:
2182    ++YYCURSOR;
2183#line 248 "strict_cpp.re"
2184    { BOOST_WAVE_RET(T_OROR); }
2185#line 2186 "strict_cpp_re.inc"
2186yy255:
2187    ++YYCURSOR;
2188    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2189    yych = *YYCURSOR;
2190    if (yybm[0+yych] & 4) {
2191        goto yy255;
2192    }
2193    if (yych <= '!') {
2194        if (yych <= '\n') {
2195            if (yych == '\t') goto yy98;
2196            goto yy100;
2197        } else {
2198            if (yych <= '\f') goto yy98;
2199            if (yych <= 0x1F) goto yy100;
2200            goto yy98;
2201        }
2202    } else {
2203        if (yych <= '/') {
2204            if (yych <= '"') goto yy101;
2205            if (yych <= '.') goto yy98;
2206            goto yy405;
2207        } else {
2208            if (yych == '\\') goto yy104;
2209            goto yy98;
2210        }
2211    }
2212yy257:
2213    ++YYCURSOR;
2214    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2215    yych = *YYCURSOR;
2216    if (yych <= '@') {
2217        if (yych <= '/') goto yy100;
2218        if (yych <= '9') goto yy407;
2219        goto yy100;
2220    } else {
2221        if (yych <= 'F') goto yy407;
2222        if (yych <= '`') goto yy100;
2223        if (yych <= 'f') goto yy407;
2224        goto yy100;
2225    }
2226yy258:
2227    ++YYCURSOR;
2228    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2229    yych = *YYCURSOR;
2230    if (yych <= '@') {
2231        if (yych <= '/') goto yy100;
2232        if (yych <= '9') goto yy408;
2233        goto yy100;
2234    } else {
2235        if (yych <= 'F') goto yy408;
2236        if (yych <= '`') goto yy100;
2237        if (yych <= 'f') goto yy408;
2238        goto yy100;
2239    }
2240yy259:
2241    ++YYCURSOR;
2242    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2243    yych = *YYCURSOR;
2244    if (yych <= '@') {
2245        if (yych <= '/') goto yy100;
2246        if (yych <= '9') goto yy98;
2247        goto yy100;
2248    } else {
2249        if (yych <= 'F') goto yy98;
2250        if (yych <= '`') goto yy100;
2251        if (yych <= 'f') goto yy98;
2252        goto yy100;
2253    }
2254yy260:
2255    ++YYCURSOR;
2256    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2257    yych = *YYCURSOR;
2258    if (yybm[0+yych] & 8) {
2259        goto yy260;
2260    }
2261    if (yych <= 0x1F) goto yy100;
2262    goto yy409;
2263yy262:
2264    yych = *++YYCURSOR;
2265    if (yych == '=') goto yy411;
2266    goto yy100;
2267yy263:
2268    yych = *++YYCURSOR;
2269    if (yych == 'f') goto yy413;
2270    goto yy100;
2271yy264:
2272    yych = *++YYCURSOR;
2273    if (yych == 'i') goto yy414;
2274    if (yych == 's') goto yy415;
2275    goto yy100;
2276yy265:
2277    yych = *++YYCURSOR;
2278    if (yych == 'd') goto yy416;
2279    goto yy100;
2280yy266:
2281    yych = *++YYCURSOR;
2282    if (yych == 'r') goto yy417;
2283    goto yy100;
2284yy267:
2285    yyaccept = 10;
2286    yych = *(YYMARKER = ++YYCURSOR);
2287    if (yych == 'd') goto yy418;
2288    if (yych == 'n') goto yy419;
2289yy268:
2290#line 325 "strict_cpp.re"
2291    { BOOST_WAVE_RET(T_PP_IF); }
2292#line 2293 "strict_cpp_re.inc"
2293yy269:
2294    yych = *++YYCURSOR;
2295    if (yych == 'c') goto yy420;
2296    goto yy100;
2297yy270:
2298    yych = *++YYCURSOR;
2299    if (yych == 'n') goto yy421;
2300    goto yy100;
2301yy271:
2302    yych = *++YYCURSOR;
2303    if (yych == 'a') goto yy422;
2304    goto yy100;
2305yy272:
2306    yych = *++YYCURSOR;
2307    if (yych == 'g') goto yy423;
2308    goto yy100;
2309yy273:
2310    yych = *++YYCURSOR;
2311    if (yych == 'd') goto yy424;
2312    goto yy100;
2313yy274:
2314    yych = *++YYCURSOR;
2315    if (yych == 'r') goto yy425;
2316    goto yy100;
2317yy275:
2318    yych = *++YYCURSOR;
2319    if (yych == ':') goto yy426;
2320    goto yy100;
2321yy276:
2322    ++YYCURSOR;
2323yy277:
2324#line 270 "strict_cpp.re"
2325    { BOOST_WAVE_RET(T_CHARLIT); }
2326#line 2327 "strict_cpp_re.inc"
2327yy278:
2328    ++YYCURSOR;
2329    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2330    yych = *YYCURSOR;
2331    if (yych <= '\'') {
2332        if (yych <= '\n') {
2333            if (yych == '\t') goto yy129;
2334            goto yy100;
2335        } else {
2336            if (yych <= '\f') goto yy129;
2337            if (yych <= 0x1F) goto yy100;
2338            if (yych <= '&') goto yy129;
2339            goto yy276;
2340        }
2341    } else {
2342        if (yych <= '>') {
2343            if (yych == '/') goto yy428;
2344            goto yy129;
2345        } else {
2346            if (yych <= '?') goto yy278;
2347            if (yych == '\\') goto yy132;
2348            goto yy129;
2349        }
2350    }
2351yy280:
2352    ++YYCURSOR;
2353    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2354    yych = *YYCURSOR;
2355    if (yych <= '@') {
2356        if (yych <= '/') goto yy100;
2357        if (yych <= '9') goto yy430;
2358        goto yy100;
2359    } else {
2360        if (yych <= 'F') goto yy430;
2361        if (yych <= '`') goto yy100;
2362        if (yych <= 'f') goto yy430;
2363        goto yy100;
2364    }
2365yy281:
2366    ++YYCURSOR;
2367    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2368    yych = *YYCURSOR;
2369    if (yych <= '@') {
2370        if (yych <= '/') goto yy100;
2371        if (yych <= '9') goto yy431;
2372        goto yy100;
2373    } else {
2374        if (yych <= 'F') goto yy431;
2375        if (yych <= '`') goto yy100;
2376        if (yych <= 'f') goto yy431;
2377        goto yy100;
2378    }
2379yy282:
2380    ++YYCURSOR;
2381    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2382    yych = *YYCURSOR;
2383    if (yych <= '@') {
2384        if (yych <= '/') goto yy100;
2385        if (yych <= '9') goto yy129;
2386        goto yy100;
2387    } else {
2388        if (yych <= 'F') goto yy129;
2389        if (yych <= '`') goto yy100;
2390        if (yych <= 'f') goto yy129;
2391        goto yy100;
2392    }
2393yy283:
2394    ++YYCURSOR;
2395#line 257 "strict_cpp.re"
2396    {
2397            if (s->act_in_c99_mode) {
2398                --YYCURSOR;
2399                BOOST_WAVE_RET(T_ARROW);
2400            }
2401            else {
2402                BOOST_WAVE_RET(T_ARROWSTAR);
2403            }
2404        }
2405#line 2406 "strict_cpp_re.inc"
2406yy285:
2407    ++YYCURSOR;
2408#line 170 "strict_cpp.re"
2409    { BOOST_WAVE_RET(T_ELLIPSIS); }
2410#line 2411 "strict_cpp_re.inc"
2411yy287:
2412    ++YYCURSOR;
2413#line 230 "strict_cpp.re"
2414    { BOOST_WAVE_RET(T_SHIFTLEFTASSIGN); }
2415#line 2416 "strict_cpp_re.inc"
2416yy289:
2417    ++YYCURSOR;
2418#line 235 "strict_cpp.re"
2419    {
2420            if (s->act_in_cpp2a_mode) {
2421                BOOST_WAVE_RET(T_SPACESHIP);
2422            }
2423            else {
2424                --YYCURSOR;
2425                BOOST_WAVE_RET(T_LESSEQUAL);
2426            }
2427        }
2428#line 2429 "strict_cpp_re.inc"
2429yy291:
2430    ++YYCURSOR;
2431#line 229 "strict_cpp.re"
2432    { BOOST_WAVE_RET(T_SHIFTRIGHTASSIGN); }
2433#line 2434 "strict_cpp_re.inc"
2434yy293:
2435    yyaccept = 11;
2436    yych = *(YYMARKER = ++YYCURSOR);
2437    if (yych <= '>') {
2438        if (yych == '=') goto yy432;
2439    } else {
2440        if (yych <= '?') goto yy434;
2441        if (yych == '|') goto yy435;
2442    }
2443yy294:
2444#line 205 "strict_cpp.re"
2445    { BOOST_WAVE_RET(T_OR_TRIGRAPH); }
2446#line 2447 "strict_cpp_re.inc"
2447yy295:
2448    yych = *++YYCURSOR;
2449    if (yych == '=') goto yy437;
2450#line 199 "strict_cpp.re"
2451    { BOOST_WAVE_RET(T_XOR_TRIGRAPH); }
2452#line 2453 "strict_cpp_re.inc"
2453yy297:
2454    ++YYCURSOR;
2455#line 153 "strict_cpp.re"
2456    { BOOST_WAVE_RET(T_LEFTBRACKET_TRIGRAPH); }
2457#line 2458 "strict_cpp_re.inc"
2458yy299:
2459    ++YYCURSOR;
2460#line 156 "strict_cpp.re"
2461    { BOOST_WAVE_RET(T_RIGHTBRACKET_TRIGRAPH); }
2462#line 2463 "strict_cpp_re.inc"
2463yy301:
2464    ++YYCURSOR;
2465#line 207 "strict_cpp.re"
2466    { BOOST_WAVE_RET(T_COMPL_TRIGRAPH); }
2467#line 2468 "strict_cpp_re.inc"
2468yy303:
2469    yyaccept = 12;
2470    yych = *(YYMARKER = ++YYCURSOR);
2471    if (yych == 'U') goto yy183;
2472    if (yych == 'u') goto yy184;
2473yy304:
2474#line 267 "strict_cpp.re"
2475    { BOOST_WAVE_RET(T_ANY_TRIGRAPH); }
2476#line 2477 "strict_cpp_re.inc"
2477yy305:
2478    ++YYCURSOR;
2479#line 147 "strict_cpp.re"
2480    { BOOST_WAVE_RET(T_LEFTBRACE_TRIGRAPH); }
2481#line 2482 "strict_cpp_re.inc"
2482yy307:
2483    yyaccept = 13;
2484    yych = *(YYMARKER = ++YYCURSOR);
2485    if (yych <= 'c') {
2486        if (yych <= ' ') {
2487            if (yych <= '\n') {
2488                if (yych == '\t') goto yy106;
2489            } else {
2490                if (yych <= '\f') goto yy106;
2491                if (yych >= ' ') goto yy106;
2492            }
2493        } else {
2494            if (yych <= '.') {
2495                if (yych == '#') goto yy439;
2496            } else {
2497                if (yych <= '/') goto yy106;
2498                if (yych == '?') goto yy441;
2499            }
2500        }
2501    } else {
2502        if (yych <= 'p') {
2503            if (yych <= 'i') {
2504                if (yych <= 'e') goto yy106;
2505                if (yych >= 'i') goto yy106;
2506            } else {
2507                if (yych == 'l') goto yy106;
2508                if (yych >= 'p') goto yy106;
2509            }
2510        } else {
2511            if (yych <= 't') {
2512                if (yych == 'r') goto yy106;
2513            } else {
2514                if (yych == 'v') goto yy308;
2515                if (yych <= 'w') goto yy106;
2516            }
2517        }
2518    }
2519yy308:
2520#line 160 "strict_cpp.re"
2521    { BOOST_WAVE_RET(T_POUND_TRIGRAPH); }
2522#line 2523 "strict_cpp_re.inc"
2523yy309:
2524    ++YYCURSOR;
2525#line 150 "strict_cpp.re"
2526    { BOOST_WAVE_RET(T_RIGHTBRACE_TRIGRAPH); }
2527#line 2528 "strict_cpp_re.inc"
2528yy311:
2529    ++YYCURSOR;
2530    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2531    yych = *YYCURSOR;
2532    if (yych == '/') goto yy174;
2533    goto yy100;
2534yy312:
2535    ++YYCURSOR;
2536#line 303 "strict_cpp.re"
2537    {
2538            if (s->act_in_cpp0x_mode)
2539            {
2540                rawstringdelim = "";
2541                goto extrawstringlit;
2542            }
2543            --YYCURSOR;
2544            BOOST_WAVE_RET(T_IDENTIFIER);
2545        }
2546#line 2547 "strict_cpp_re.inc"
2547yy314:
2548    ++YYCURSOR;
2549    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2550    yych = *YYCURSOR;
2551    if (yych <= '@') {
2552        if (yych <= '/') goto yy100;
2553        if (yych <= '9') goto yy442;
2554        goto yy100;
2555    } else {
2556        if (yych <= 'F') goto yy442;
2557        if (yych <= '`') goto yy100;
2558        if (yych <= 'f') goto yy442;
2559        goto yy100;
2560    }
2561yy315:
2562    ++YYCURSOR;
2563    if (YYLIMIT <= YYCURSOR) YYFILL(1);
2564    yych = *YYCURSOR;
2565    if (yych <= '@') {
2566        if (yych <= '/') goto yy100;
2567        if (yych <= '9') goto yy443;
2568        goto yy100;
2569    } else {
2570        if (yych <= 'F') goto yy443;
2571        if (yych <= '`') goto yy100;
2572        if (yych <= 'f') goto yy443;
2573        goto yy100;
2574    }
2575yy316:
2576    yyaccept = 4;
2577    yych = *(YYMARKER = ++YYCURSOR);
2578    if (yych == 'x') goto yy444;
2579    goto yy55;
2580yy317:
2581    yyaccept = 4;
2582    yych = *(YYMARKER = ++YYCURSOR);
2583    if (yych == 'a') goto yy325;
2584    if (yych == 'i') goto yy445;
2585    goto yy55;
2586yy318:
2587    yyaccept = 4;
2588    yych = *(YYMARKER = ++YYCURSOR);
2589    if (yych == 'n') goto yy446;
2590    goto yy55;
2591yy319:
2592    yyaccept = 4;
2593    yych = *(YYMARKER = ++YYCURSOR);
2594    if (yych == 'e') goto yy447;
2595    goto yy55;
2596yy320:
2597    yyaccept = 4;
2598    yych = *(YYMARKER = ++YYCURSOR);
2599    if (yych == 'r') goto yy448;
2600    goto yy55;
2601yy321:
2602    yyaccept = 4;
2603    yych = *(YYMARKER = ++YYCURSOR);
2604    if (yych == 'm') goto yy449;
2605    goto yy55;
2606yy322:
2607    yyaccept = 4;
2608    yych = *(YYMARKER = ++YYCURSOR);
2609    if (yych == 's') goto yy451;
2610    goto yy55;
2611yy323:
2612    yyaccept = 4;
2613    yych = *(YYMARKER = ++YYCURSOR);
2614    if (yych == 'e') goto yy452;
2615    goto yy55;
2616yy324:
2617    yyaccept = 4;
2618    yych = *(YYMARKER = ++YYCURSOR);
2619    if (yych == 'c') goto yy453;
2620    goto yy55;
2621yy325:
2622    yyaccept = 4;
2623    yych = *(YYMARKER = ++YYCURSOR);
2624    if (yych == 's') goto yy454;
2625    goto yy55;
2626yy326:
2627    yyaccept = 4;
2628    yych = *(YYMARKER = ++YYCURSOR);
2629    if (yych == 'l') goto yy455;
2630    goto yy55;
2631yy327:
2632    yyaccept = 4;
2633    yych = *(YYMARKER = ++YYCURSOR);
2634    if (yych == 'd') goto yy456;
2635    goto yy55;
2636yy328:
2637    yyaccept = 4;
2638    yych = *(YYMARKER = ++YYCURSOR);
2639    if (yych == 'g') goto yy457;
2640    goto yy55;
2641yy329:
2642    yyaccept = 14;
2643    yych = *(YYMARKER = ++YYCURSOR);
2644    if (yych <= 'Z') {
2645        if (yych <= '>') {
2646            if (yych <= '/') goto yy330;
2647            if (yych <= '9') goto yy54;
2648        } else {
2649            if (yych <= '?') goto yy173;
2650            if (yych >= 'A') goto yy54;
2651        }
2652    } else {
2653        if (yych <= '^') {
2654            if (yych == '\\') goto yy174;
2655        } else {
2656            if (yych <= '_') goto yy458;
2657            if (yych <= '`') goto yy330;
2658            if (yych <= 'z') goto yy54;
2659        }
2660    }
2661yy330:
2662#line 247 "strict_cpp.re"
2663    { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ANDAND_ALT); }
2664#line 2665 "strict_cpp_re.inc"
2665yy331:
2666    yyaccept = 15;
2667    yych = *(YYMARKER = ++YYCURSOR);
2668    if (yybm[256+yych] & 128) {
2669        goto yy54;
2670    }
2671    if (yych == '?') goto yy173;
2672    if (yych == '\\') goto yy174;
2673yy332:
2674#line 49 "strict_cpp.re"
2675    { BOOST_WAVE_RET(T_ASM); }
2676#line 2677 "strict_cpp_re.inc"
2677yy333:
2678    yyaccept = 4;
2679    yych = *(YYMARKER = ++YYCURSOR);
2680    if (yych == 'o') goto yy459;
2681    goto yy55;
2682yy334:
2683    yyaccept = 4;
2684    yych = *(YYMARKER = ++YYCURSOR);
2685    if (yych == 'a') goto yy461;
2686    if (yych == 'o') goto yy462;
2687    goto yy55;
2688yy335:
2689    yyaccept = 4;
2690    yych = *(YYMARKER = ++YYCURSOR);
2691    if (yych == 'l') goto yy463;
2692    goto yy55;
2693yy336:
2694    yyaccept = 4;
2695    yych = *(YYMARKER = ++YYCURSOR);
2696    if (yych == 'a') goto yy465;
2697    goto yy55;
2698yy337:
2699    yyaccept = 4;
2700    yych = *(YYMARKER = ++YYCURSOR);
2701    if (yych == 'e') goto yy466;
2702    goto yy55;
2703yy338:
2704    yyaccept = 4;
2705    yych = *(YYMARKER = ++YYCURSOR);
2706    if (yych == 'c') goto yy468;
2707    goto yy55;
2708yy339:
2709    yyaccept = 4;
2710    yych = *(YYMARKER = ++YYCURSOR);
2711    if (yych == 'r') goto yy469;
2712    goto yy55;
2713yy340:
2714    yyaccept = 4;
2715    yych = *(YYMARKER = ++YYCURSOR);
2716    if (yych == 's') goto yy471;
2717    goto yy55;
2718yy341:
2719    yyaccept = 4;
2720    yych = *(YYMARKER = ++YYCURSOR);
2721    if (yych <= 'q') {
2722        if (yych == 'a') goto yy472;
2723        goto yy55;
2724    } else {
2725        if (yych <= 'r') goto yy473;
2726        if (yych == 'y') goto yy474;
2727        goto yy55;
2728    }
2729yy342:
2730    yyaccept = 4;
2731    yych = *(YYMARKER = ++YYCURSOR);
2732    if (yych == 'p') goto yy475;
2733    goto yy55;
2734yy343:
2735    yyaccept = 4;
2736    yych = *(YYMARKER = ++YYCURSOR);
2737    if (yych <= 'r') {
2738        if (yych == 'c') goto yy476;
2739        goto yy55;
2740    } else {
2741        if (yych <= 's') goto yy477;
2742        if (yych <= 't') goto yy478;
2743        goto yy55;
2744    }
2745yy344:
2746    yyaccept = 4;
2747    yych = *(YYMARKER = ++YYCURSOR);
2748    if (yych == 'l') goto yy479;
2749    goto yy55;
2750yy345:
2751    yyaccept = 4;
2752    yych = *(YYMARKER = ++YYCURSOR);
2753    if (yych == 'a') goto yy480;
2754    goto yy55;
2755yy346:
2756    yyaccept = 4;
2757    yych = *(YYMARKER = ++YYCURSOR);
2758    if (yych == 'e') goto yy481;
2759    goto yy55;
2760yy347:
2761    yyaccept = 4;
2762    yych = *(YYMARKER = ++YYCURSOR);
2763    if (yych == 'b') goto yy482;
2764    goto yy55;
2765yy348:
2766    yyaccept = 4;
2767    yych = *(YYMARKER = ++YYCURSOR);
2768    if (yych == 'a') goto yy483;
2769    goto yy55;
2770yy349:
2771    yyaccept = 4;
2772    yych = *(YYMARKER = ++YYCURSOR);
2773    if (yych == 'e') goto yy484;
2774    goto yy55;
2775yy350:
2776    yyaccept = 4;
2777    yych = *(YYMARKER = ++YYCURSOR);
2778    if (yych == 'm') goto yy486;
2779    goto yy55;
2780yy351:
2781    yyaccept = 4;
2782    yych = *(YYMARKER = ++YYCURSOR);
2783    if (yych == 'l') goto yy488;
2784    if (yych == 'o') goto yy489;
2785    goto yy55;
2786yy352:
2787    yyaccept = 4;
2788    yych = *(YYMARKER = ++YYCURSOR);
2789    if (yych == 'e') goto yy490;
2790    goto yy55;
2791yy353:
2792    yyaccept = 4;
2793    yych = *(YYMARKER = ++YYCURSOR);
2794    if (yych == 's') goto yy491;
2795    goto yy55;
2796yy354:
2797    yyaccept = 4;
2798    yych = *(YYMARKER = ++YYCURSOR);
2799    if (yych == 'a') goto yy492;
2800    goto yy55;
2801yy355:
2802    yyaccept = 16;
2803    yych = *(YYMARKER = ++YYCURSOR);
2804    if (yybm[256+yych] & 128) {
2805        goto yy54;
2806    }
2807    if (yych == '?') goto yy173;
2808    if (yych == '\\') goto yy174;
2809yy356:
2810#line 83 "strict_cpp.re"
2811    { BOOST_WAVE_RET(T_FOR); }
2812#line 2813 "strict_cpp_re.inc"
2813yy357:
2814    yyaccept = 4;
2815    yych = *(YYMARKER = ++YYCURSOR);
2816    if (yych == 'e') goto yy493;
2817    goto yy55;
2818yy358:
2819    yyaccept = 4;
2820    yych = *(YYMARKER = ++YYCURSOR);
2821    if (yych == 'o') goto yy494;
2822    goto yy55;
2823yy359:
2824    yyaccept = 4;
2825    yych = *(YYMARKER = ++YYCURSOR);
2826    if (yych == 'o') goto yy496;
2827    goto yy55;
2828yy360:
2829    yyaccept = 4;
2830    yych = *(YYMARKER = ++YYCURSOR);
2831    if (yych == 'i') goto yy497;
2832    goto yy55;
2833yy361:
2834    yyaccept = 17;
2835    yych = *(YYMARKER = ++YYCURSOR);
2836    if (yybm[256+yych] & 128) {
2837        goto yy54;
2838    }
2839    if (yych == '?') goto yy173;
2840    if (yych == '\\') goto yy174;
2841yy362:
2842#line 89 "strict_cpp.re"
2843    { BOOST_WAVE_RET(T_INT); }
2844#line 2845 "strict_cpp_re.inc"
2845yy363:
2846    yyaccept = 4;
2847    yych = *(YYMARKER = ++YYCURSOR);
2848    if (yych == 'g') goto yy498;
2849    goto yy55;
2850yy364:
2851    yyaccept = 4;
2852    yych = *(YYMARKER = ++YYCURSOR);
2853    if (yych == 'a') goto yy500;
2854    goto yy55;
2855yy365:
2856    yyaccept = 4;
2857    yych = *(YYMARKER = ++YYCURSOR);
2858    if (yych == 'e') goto yy501;
2859    goto yy55;
2860yy366:
2861    yyaccept = 18;
2862    yych = *(YYMARKER = ++YYCURSOR);
2863    if (yybm[256+yych] & 128) {
2864        goto yy54;
2865    }
2866    if (yych == '?') goto yy173;
2867    if (yych == '\\') goto yy174;
2868yy367:
2869#line 93 "strict_cpp.re"
2870    { BOOST_WAVE_RET(T_NEW); }
2871#line 2872 "strict_cpp_re.inc"
2872yy368:
2873    yyaccept = 4;
2874    yych = *(YYMARKER = ++YYCURSOR);
2875    if (yych == 'x') goto yy502;
2876    goto yy55;
2877yy369:
2878    yyaccept = 19;
2879    yych = *(YYMARKER = ++YYCURSOR);
2880    if (yych <= 'Z') {
2881        if (yych <= '>') {
2882            if (yych <= '/') goto yy370;
2883            if (yych <= '9') goto yy54;
2884        } else {
2885            if (yych <= '?') goto yy173;
2886            if (yych >= 'A') goto yy54;
2887        }
2888    } else {
2889        if (yych <= '^') {
2890            if (yych == '\\') goto yy174;
2891        } else {
2892            if (yych <= '_') goto yy503;
2893            if (yych <= '`') goto yy370;
2894            if (yych <= 'z') goto yy54;
2895        }
2896    }
2897yy370:
2898#line 210 "strict_cpp.re"
2899    { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_NOT_ALT); }
2900#line 2901 "strict_cpp_re.inc"
2901yy371:
2902    yyaccept = 4;
2903    yych = *(YYMARKER = ++YYCURSOR);
2904    if (yych == 'l') goto yy504;
2905    goto yy55;
2906yy372:
2907    yyaccept = 4;
2908    yych = *(YYMARKER = ++YYCURSOR);
2909    if (yych == 'r') goto yy505;
2910    goto yy55;
2911yy373:
2912    yyaccept = 4;
2913    yych = *(YYMARKER = ++YYCURSOR);
2914    if (yych == 'e') goto yy506;
2915    goto yy55;
2916yy374:
2917    yyaccept = 4;
2918    yych = *(YYMARKER = ++YYCURSOR);
2919    if (yych == 'v') goto yy507;
2920    goto yy55;
2921yy375:
2922    yyaccept = 4;
2923    yych = *(YYMARKER = ++YYCURSOR);
2924    if (yych == 't') goto yy508;
2925    goto yy55;
2926yy376:
2927    yyaccept = 4;
2928    yych = *(YYMARKER = ++YYCURSOR);
2929    if (yych == 'l') goto yy509;
2930    goto yy55;
2931yy377:
2932    yyaccept = 4;
2933    yych = *(YYMARKER = ++YYCURSOR);
2934    if (yych == 'i') goto yy510;
2935    goto yy55;
2936yy378:
2937    yyaccept = 4;
2938    yych = *(YYMARKER = ++YYCURSOR);
2939    if (yych == 'n') goto yy511;
2940    goto yy55;
2941yy379:
2942    yyaccept = 4;
2943    yych = *(YYMARKER = ++YYCURSOR);
2944    if (yych == 'u') goto yy512;
2945    goto yy55;
2946yy380:
2947    yyaccept = 4;
2948    yych = *(YYMARKER = ++YYCURSOR);
2949    if (yych == 'u') goto yy513;
2950    goto yy55;
2951yy381:
2952    yyaccept = 4;
2953    yych = *(YYMARKER = ++YYCURSOR);
2954    if (yych == 'r') goto yy514;
2955    goto yy55;
2956yy382:
2957    yyaccept = 4;
2958    yych = *(YYMARKER = ++YYCURSOR);
2959    if (yych == 'n') goto yy515;
2960    goto yy55;
2961yy383:
2962    yyaccept = 4;
2963    yych = *(YYMARKER = ++YYCURSOR);
2964    if (yych == 'e') goto yy516;
2965    goto yy55;
2966yy384:
2967    yyaccept = 4;
2968    yych = *(YYMARKER = ++YYCURSOR);
2969    if (yych == 't') goto yy517;
2970    goto yy55;
2971yy385:
2972    yyaccept = 4;
2973    yych = *(YYMARKER = ++YYCURSOR);
2974    if (yych == 'u') goto yy518;
2975    goto yy55;
2976yy386:
2977    yyaccept = 4;
2978    yych = *(YYMARKER = ++YYCURSOR);
2979    if (yych == 't') goto yy519;
2980    goto yy55;
2981yy387:
2982    yyaccept = 4;
2983    yych = *(YYMARKER = ++YYCURSOR);
2984    if (yych == 'p') goto yy520;
2985    goto yy55;
2986yy388:
2987    yyaccept = 4;
2988    yych = *(YYMARKER = ++YYCURSOR);
2989    if (yych == 's') goto yy521;
2990    goto yy55;
2991yy389:
2992    yyaccept = 4;
2993    yych = *(YYMARKER = ++YYCURSOR);
2994    if (yych == 'e') goto yy523;
2995    if (yych == 'o') goto yy524;
2996    goto yy55;
2997yy390:
2998    yyaccept = 4;
2999    yych = *(YYMARKER = ++YYCURSOR);
3000    if (yych == 'e') goto yy525;
3001    goto yy55;
3002yy391:
3003    yyaccept = 20;
3004    yych = *(YYMARKER = ++YYCURSOR);
3005    if (yybm[256+yych] & 128) {
3006        goto yy54;
3007    }
3008    if (yych == '?') goto yy173;
3009    if (yych == '\\') goto yy174;
3010yy392:
3011#line 117 "strict_cpp.re"
3012    { BOOST_WAVE_RET(T_TRY); }
3013#line 3014 "strict_cpp_re.inc"
3014yy393:
3015    yyaccept = 4;
3016    yych = *(YYMARKER = ++YYCURSOR);
3017    if (yych == 'e') goto yy527;
3018    goto yy55;
3019yy394:
3020    yyaccept = 4;
3021    yych = *(YYMARKER = ++YYCURSOR);
3022    if (yych == 'o') goto yy528;
3023    goto yy55;
3024yy395:
3025    yyaccept = 4;
3026    yych = *(YYMARKER = ++YYCURSOR);
3027    if (yych == 'i') goto yy529;
3028    goto yy55;
3029yy396:
3030    yyaccept = 4;
3031    yych = *(YYMARKER = ++YYCURSOR);
3032    if (yych == 'n') goto yy530;
3033    goto yy55;
3034yy397:
3035    yyaccept = 4;
3036    yych = *(YYMARKER = ++YYCURSOR);
3037    if (yych == 't') goto yy531;
3038    goto yy55;
3039yy398:
3040    yyaccept = 4;
3041    yych = *(YYMARKER = ++YYCURSOR);
3042    if (yych == 'd') goto yy532;
3043    goto yy55;
3044yy399:
3045    yyaccept = 4;
3046    yych = *(YYMARKER = ++YYCURSOR);
3047    if (yych == 'a') goto yy534;
3048    goto yy55;
3049yy400:
3050    yyaccept = 4;
3051    yych = *(YYMARKER = ++YYCURSOR);
3052    if (yych == 'a') goto yy535;
3053    goto yy55;
3054yy401:
3055    yyaccept = 4;
3056    yych = *(YYMARKER = ++YYCURSOR);
3057    if (yych == 'l') goto yy536;
3058    goto yy55;
3059yy402:
3060    yyaccept = 21;
3061    yych = *(YYMARKER = ++YYCURSOR);
3062    if (yych <= 'Z') {
3063        if (yych <= '>') {
3064            if (yych <= '/') goto yy403;
3065            if (yych <= '9') goto yy54;
3066        } else {
3067            if (yych <= '?') goto yy173;
3068            if (yych >= 'A') goto yy54;
3069        }
3070    } else {
3071        if (yych <= '^') {
3072            if (yych == '\\') goto yy174;
3073        } else {
3074            if (yych <= '_') goto yy537;
3075            if (yych <= '`') goto yy403;
3076            if (yych <= 'z') goto yy54;
3077        }
3078    }
3079yy403:
3080#line 200 "strict_cpp.re"
3081    { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_XOR_ALT); }
3082#line 3083 "strict_cpp_re.inc"
3083yy404:
3084    yych = *++YYCURSOR;
3085    if (yych == '!') goto yy538;
3086    goto yy100;
3087yy405:
3088    ++YYCURSOR;
3089    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3090    yych = *YYCURSOR;
3091    if (yybm[0+yych] & 1) {
3092        goto yy98;
3093    }
3094    if (yych <= 0x1F) goto yy100;
3095    if (yych <= '"') goto yy540;
3096    if (yych <= '?') goto yy103;
3097    goto yy405;
3098yy407:
3099    ++YYCURSOR;
3100    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3101    yych = *YYCURSOR;
3102    if (yych <= '@') {
3103        if (yych <= '/') goto yy100;
3104        if (yych <= '9') goto yy541;
3105        goto yy100;
3106    } else {
3107        if (yych <= 'F') goto yy541;
3108        if (yych <= '`') goto yy100;
3109        if (yych <= 'f') goto yy541;
3110        goto yy100;
3111    }
3112yy408:
3113    ++YYCURSOR;
3114    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3115    yych = *YYCURSOR;
3116    if (yych <= '@') {
3117        if (yych <= '/') goto yy100;
3118        if (yych <= '9') goto yy542;
3119        goto yy100;
3120    } else {
3121        if (yych <= 'F') goto yy542;
3122        if (yych <= '`') goto yy100;
3123        if (yych <= 'f') goto yy542;
3124        goto yy100;
3125    }
3126yy409:
3127    ++YYCURSOR;
3128    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3129    yych = *YYCURSOR;
3130    if (yybm[0+yych] & 32) {
3131        goto yy409;
3132    }
3133    if (yych <= 0x1F) {
3134        if (yych <= 0x08) goto yy100;
3135        if (yych <= '\r') goto yy260;
3136        goto yy100;
3137    } else {
3138        if (yych == '/') goto yy105;
3139        goto yy260;
3140    }
3141yy411:
3142    ++YYCURSOR;
3143#line 162 "strict_cpp.re"
3144    { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); }
3145#line 3146 "strict_cpp_re.inc"
3146yy413:
3147    yych = *++YYCURSOR;
3148    if (yych == 'i') goto yy543;
3149    goto yy100;
3150yy414:
3151    yych = *++YYCURSOR;
3152    if (yych == 'f') goto yy544;
3153    goto yy100;
3154yy415:
3155    yych = *++YYCURSOR;
3156    if (yych == 'e') goto yy546;
3157    goto yy100;
3158yy416:
3159    yych = *++YYCURSOR;
3160    if (yych == 'i') goto yy548;
3161    if (yych == 'r') goto yy549;
3162    goto yy100;
3163yy417:
3164    yych = *++YYCURSOR;
3165    if (yych == 'o') goto yy550;
3166    goto yy100;
3167yy418:
3168    yych = *++YYCURSOR;
3169    if (yych == 'e') goto yy551;
3170    goto yy100;
3171yy419:
3172    yych = *++YYCURSOR;
3173    if (yych == 'd') goto yy552;
3174    goto yy100;
3175yy420:
3176    yych = *++YYCURSOR;
3177    if (yych == 'l') goto yy553;
3178    goto yy100;
3179yy421:
3180    yych = *++YYCURSOR;
3181    if (yych == 'e') goto yy554;
3182    goto yy100;
3183yy422:
3184    yych = *++YYCURSOR;
3185    if (yych == 'g') goto yy556;
3186    goto yy100;
3187yy423:
3188    yych = *++YYCURSOR;
3189    if (yych == 'i') goto yy557;
3190    goto yy100;
3191yy424:
3192    yych = *++YYCURSOR;
3193    if (yych == 'e') goto yy558;
3194    goto yy100;
3195yy425:
3196    yych = *++YYCURSOR;
3197    if (yych == 'n') goto yy559;
3198    goto yy100;
3199yy426:
3200    ++YYCURSOR;
3201#line 165 "strict_cpp.re"
3202    { BOOST_WAVE_RET(T_POUND_POUND_ALT); }
3203#line 3204 "strict_cpp_re.inc"
3204yy428:
3205    ++YYCURSOR;
3206    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3207    yych = *YYCURSOR;
3208    if (yybm[0+yych] & 2) {
3209        goto yy129;
3210    }
3211    if (yych <= 0x1F) goto yy100;
3212    if (yych <= '\'') goto yy560;
3213    if (yych <= '?') goto yy131;
3214    goto yy428;
3215yy430:
3216    ++YYCURSOR;
3217    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3218    yych = *YYCURSOR;
3219    if (yych <= '@') {
3220        if (yych <= '/') goto yy100;
3221        if (yych <= '9') goto yy561;
3222        goto yy100;
3223    } else {
3224        if (yych <= 'F') goto yy561;
3225        if (yych <= '`') goto yy100;
3226        if (yych <= 'f') goto yy561;
3227        goto yy100;
3228    }
3229yy431:
3230    ++YYCURSOR;
3231    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3232    yych = *YYCURSOR;
3233    if (yych <= '@') {
3234        if (yych <= '/') goto yy100;
3235        if (yych <= '9') goto yy562;
3236        goto yy100;
3237    } else {
3238        if (yych <= 'F') goto yy562;
3239        if (yych <= '`') goto yy100;
3240        if (yych <= 'f') goto yy562;
3241        goto yy100;
3242    }
3243yy432:
3244    ++YYCURSOR;
3245#line 226 "strict_cpp.re"
3246    { BOOST_WAVE_RET(T_ORASSIGN_TRIGRAPH); }
3247#line 3248 "strict_cpp_re.inc"
3248yy434:
3249    yych = *++YYCURSOR;
3250    if (yych == '?') goto yy563;
3251    goto yy100;
3252yy435:
3253    ++YYCURSOR;
3254#line 249 "strict_cpp.re"
3255    { BOOST_WAVE_RET(T_OROR_TRIGRAPH); }
3256#line 3257 "strict_cpp_re.inc"
3257yy437:
3258    ++YYCURSOR;
3259#line 221 "strict_cpp.re"
3260    { BOOST_WAVE_RET(T_XORASSIGN_TRIGRAPH); }
3261#line 3262 "strict_cpp_re.inc"
3262yy439:
3263    ++YYCURSOR;
3264#line 163 "strict_cpp.re"
3265    { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); }
3266#line 3267 "strict_cpp_re.inc"
3267yy441:
3268    yych = *++YYCURSOR;
3269    if (yych == '?') goto yy564;
3270    goto yy100;
3271yy442:
3272    ++YYCURSOR;
3273    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3274    yych = *YYCURSOR;
3275    if (yych <= '@') {
3276        if (yych <= '/') goto yy100;
3277        if (yych <= '9') goto yy565;
3278        goto yy100;
3279    } else {
3280        if (yych <= 'F') goto yy565;
3281        if (yych <= '`') goto yy100;
3282        if (yych <= 'f') goto yy565;
3283        goto yy100;
3284    }
3285yy443:
3286    ++YYCURSOR;
3287    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3288    yych = *YYCURSOR;
3289    if (yych <= '@') {
3290        if (yych <= '/') goto yy100;
3291        if (yych <= '9') goto yy566;
3292        goto yy100;
3293    } else {
3294        if (yych <= 'F') goto yy566;
3295        if (yych <= '`') goto yy100;
3296        if (yych <= 'f') goto yy566;
3297        goto yy100;
3298    }
3299yy444:
3300    yyaccept = 4;
3301    yych = *(YYMARKER = ++YYCURSOR);
3302    if (yych == 'c') goto yy567;
3303    goto yy55;
3304yy445:
3305    yyaccept = 4;
3306    yych = *(YYMARKER = ++YYCURSOR);
3307    if (yych == 'n') goto yy568;
3308    goto yy55;
3309yy446:
3310    yyaccept = 4;
3311    yych = *(YYMARKER = ++YYCURSOR);
3312    if (yych == 'l') goto yy455;
3313    if (yych == 't') goto yy569;
3314    goto yy55;
3315yy447:
3316    yyaccept = 4;
3317    yych = *(YYMARKER = ++YYCURSOR);
3318    if (yych == 'a') goto yy570;
3319    goto yy55;
3320yy448:
3321    yyaccept = 4;
3322    yych = *(YYMARKER = ++YYCURSOR);
3323    if (yych == 'y') goto yy571;
3324    goto yy55;
3325yy449:
3326    yyaccept = 22;
3327    yych = *(YYMARKER = ++YYCURSOR);
3328    if (yybm[256+yych] & 128) {
3329        goto yy54;
3330    }
3331    if (yych == '?') goto yy173;
3332    if (yych == '\\') goto yy174;
3333yy450:
3334#line 144 "strict_cpp.re"
3335    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_ASM : T_IDENTIFIER); }
3336#line 3337 "strict_cpp_re.inc"
3337yy451:
3338    yyaccept = 4;
3339    yych = *(YYMARKER = ++YYCURSOR);
3340    if (yych == 'e') goto yy573;
3341    goto yy55;
3342yy452:
3343    yyaccept = 4;
3344    yych = *(YYMARKER = ++YYCURSOR);
3345    if (yych == 'c') goto yy574;
3346    goto yy55;
3347yy453:
3348    yyaccept = 4;
3349    yych = *(YYMARKER = ++YYCURSOR);
3350    if (yych == 'l') goto yy575;
3351    goto yy55;
3352yy454:
3353    yyaccept = 4;
3354    yych = *(YYMARKER = ++YYCURSOR);
3355    if (yych == 't') goto yy576;
3356    goto yy55;
3357yy455:
3358    yyaccept = 4;
3359    yych = *(YYMARKER = ++YYCURSOR);
3360    if (yych == 'i') goto yy577;
3361    goto yy55;
3362yy456:
3363    yyaccept = 4;
3364    yych = *(YYMARKER = ++YYCURSOR);
3365    if (yych == 'c') goto yy578;
3366    goto yy55;
3367yy457:
3368    yyaccept = 4;
3369    yych = *(YYMARKER = ++YYCURSOR);
3370    if (yych == 'n') goto yy579;
3371    goto yy55;
3372yy458:
3373    yyaccept = 4;
3374    yych = *(YYMARKER = ++YYCURSOR);
3375    if (yych == 'e') goto yy580;
3376    goto yy55;
3377yy459:
3378    yyaccept = 23;
3379    yych = *(YYMARKER = ++YYCURSOR);
3380    if (yybm[256+yych] & 128) {
3381        goto yy54;
3382    }
3383    if (yych == '?') goto yy173;
3384    if (yych == '\\') goto yy174;
3385yy460:
3386#line 50 "strict_cpp.re"
3387    { BOOST_WAVE_RET(T_AUTO); }
3388#line 3389 "strict_cpp_re.inc"
3389yy461:
3390    yyaccept = 4;
3391    yych = *(YYMARKER = ++YYCURSOR);
3392    if (yych == 'n') goto yy581;
3393    goto yy55;
3394yy462:
3395    yyaccept = 4;
3396    yych = *(YYMARKER = ++YYCURSOR);
3397    if (yych == 'r') goto yy582;
3398    goto yy55;
3399yy463:
3400    yyaccept = 24;
3401    yych = *(YYMARKER = ++YYCURSOR);
3402    if (yybm[256+yych] & 128) {
3403        goto yy54;
3404    }
3405    if (yych == '?') goto yy173;
3406    if (yych == '\\') goto yy174;
3407yy464:
3408#line 51 "strict_cpp.re"
3409    { BOOST_WAVE_RET(T_BOOL); }
3410#line 3411 "strict_cpp_re.inc"
3411yy465:
3412    yyaccept = 4;
3413    yych = *(YYMARKER = ++YYCURSOR);
3414    if (yych == 'k') goto yy584;
3415    goto yy55;
3416yy466:
3417    yyaccept = 25;
3418    yych = *(YYMARKER = ++YYCURSOR);
3419    if (yybm[256+yych] & 128) {
3420        goto yy54;
3421    }
3422    if (yych == '?') goto yy173;
3423    if (yych == '\\') goto yy174;
3424yy467:
3425#line 53 "strict_cpp.re"
3426    { BOOST_WAVE_RET(T_CASE); }
3427#line 3428 "strict_cpp_re.inc"
3428yy468:
3429    yyaccept = 4;
3430    yych = *(YYMARKER = ++YYCURSOR);
3431    if (yych == 'h') goto yy586;
3432    goto yy55;
3433yy469:
3434    yyaccept = 26;
3435    yych = *(YYMARKER = ++YYCURSOR);
3436    if (yych <= '>') {
3437        if (yych <= '2') {
3438            if (yych <= '/') goto yy470;
3439            if (yych == '1') goto yy588;
3440            goto yy54;
3441        } else {
3442            if (yych <= '7') {
3443                if (yych <= '3') goto yy589;
3444                goto yy54;
3445            } else {
3446                if (yych <= '8') goto yy590;
3447                if (yych <= '9') goto yy54;
3448            }
3449        }
3450    } else {
3451        if (yych <= '\\') {
3452            if (yych <= '@') {
3453                if (yych <= '?') goto yy173;
3454            } else {
3455                if (yych <= 'Z') goto yy54;
3456                if (yych >= '\\') goto yy174;
3457            }
3458        } else {
3459            if (yych <= '_') {
3460                if (yych >= '_') goto yy54;
3461            } else {
3462                if (yych <= '`') goto yy470;
3463                if (yych <= 'z') goto yy54;
3464            }
3465        }
3466    }
3467yy470:
3468#line 55 "strict_cpp.re"
3469    { BOOST_WAVE_RET(T_CHAR); }
3470#line 3471 "strict_cpp_re.inc"
3471yy471:
3472    yyaccept = 4;
3473    yych = *(YYMARKER = ++YYCURSOR);
3474    if (yych == 's') goto yy591;
3475    goto yy55;
3476yy472:
3477    yyaccept = 4;
3478    yych = *(YYMARKER = ++YYCURSOR);
3479    if (yych == 'w') goto yy593;
3480    goto yy55;
3481yy473:
3482    yyaccept = 4;
3483    yych = *(YYMARKER = ++YYCURSOR);
3484    if (yych == 'e') goto yy594;
3485    goto yy55;
3486yy474:
3487    yyaccept = 4;
3488    yych = *(YYMARKER = ++YYCURSOR);
3489    if (yych == 'i') goto yy595;
3490    goto yy55;
3491yy475:
3492    yyaccept = 4;
3493    yych = *(YYMARKER = ++YYCURSOR);
3494    if (yych == 'l') goto yy596;
3495    goto yy55;
3496yy476:
3497    yyaccept = 4;
3498    yych = *(YYMARKER = ++YYCURSOR);
3499    if (yych == 'e') goto yy598;
3500    goto yy55;
3501yy477:
3502    yyaccept = 4;
3503    yych = *(YYMARKER = ++YYCURSOR);
3504    if (yych == 't') goto yy599;
3505    goto yy55;
3506yy478:
3507    yyaccept = 4;
3508    yych = *(YYMARKER = ++YYCURSOR);
3509    if (yych == 'i') goto yy601;
3510    goto yy55;
3511yy479:
3512    yyaccept = 4;
3513    yych = *(YYMARKER = ++YYCURSOR);
3514    if (yych == 't') goto yy602;
3515    goto yy55;
3516yy480:
3517    yyaccept = 4;
3518    yych = *(YYMARKER = ++YYCURSOR);
3519    if (yych == 'u') goto yy603;
3520    goto yy55;
3521yy481:
3522    yyaccept = 4;
3523    yych = *(YYMARKER = ++YYCURSOR);
3524    if (yych == 't') goto yy604;
3525    goto yy55;
3526yy482:
3527    yyaccept = 4;
3528    yych = *(YYMARKER = ++YYCURSOR);
3529    if (yych == 'l') goto yy605;
3530    goto yy55;
3531yy483:
3532    yyaccept = 4;
3533    yych = *(YYMARKER = ++YYCURSOR);
3534    if (yych == 'm') goto yy606;
3535    goto yy55;
3536yy484:
3537    yyaccept = 27;
3538    yych = *(YYMARKER = ++YYCURSOR);
3539    if (yybm[256+yych] & 128) {
3540        goto yy54;
3541    }
3542    if (yych == '?') goto yy173;
3543    if (yych == '\\') goto yy174;
3544yy485:
3545#line 76 "strict_cpp.re"
3546    { BOOST_WAVE_RET(T_ELSE); }
3547#line 3548 "strict_cpp_re.inc"
3548yy486:
3549    yyaccept = 28;
3550    yych = *(YYMARKER = ++YYCURSOR);
3551    if (yybm[256+yych] & 128) {
3552        goto yy54;
3553    }
3554    if (yych == '?') goto yy173;
3555    if (yych == '\\') goto yy174;
3556yy487:
3557#line 77 "strict_cpp.re"
3558    { BOOST_WAVE_RET(T_ENUM); }
3559#line 3560 "strict_cpp_re.inc"
3560yy488:
3561    yyaccept = 4;
3562    yych = *(YYMARKER = ++YYCURSOR);
3563    if (yych == 'i') goto yy607;
3564    goto yy55;
3565yy489:
3566    yyaccept = 4;
3567    yych = *(YYMARKER = ++YYCURSOR);
3568    if (yych == 'r') goto yy608;
3569    goto yy55;
3570yy490:
3571    yyaccept = 4;
3572    yych = *(YYMARKER = ++YYCURSOR);
3573    if (yych == 'r') goto yy609;
3574    goto yy55;
3575yy491:
3576    yyaccept = 4;
3577    yych = *(YYMARKER = ++YYCURSOR);
3578    if (yych == 'e') goto yy610;
3579    goto yy55;
3580yy492:
3581    yyaccept = 4;
3582    yych = *(YYMARKER = ++YYCURSOR);
3583    if (yych == 't') goto yy612;
3584    goto yy55;
3585yy493:
3586    yyaccept = 4;
3587    yych = *(YYMARKER = ++YYCURSOR);
3588    if (yych == 'n') goto yy614;
3589    goto yy55;
3590yy494:
3591    yyaccept = 29;
3592    yych = *(YYMARKER = ++YYCURSOR);
3593    if (yybm[256+yych] & 128) {
3594        goto yy54;
3595    }
3596    if (yych == '?') goto yy173;
3597    if (yych == '\\') goto yy174;
3598yy495:
3599#line 85 "strict_cpp.re"
3600    { BOOST_WAVE_RET(T_GOTO); }
3601#line 3602 "strict_cpp_re.inc"
3602yy496:
3603    yyaccept = 4;
3604    yych = *(YYMARKER = ++YYCURSOR);
3605    if (yych == 'r') goto yy615;
3606    goto yy55;
3607yy497:
3608    yyaccept = 4;
3609    yych = *(YYMARKER = ++YYCURSOR);
3610    if (yych == 'n') goto yy616;
3611    goto yy55;
3612yy498:
3613    yyaccept = 30;
3614    yych = *(YYMARKER = ++YYCURSOR);
3615    if (yybm[256+yych] & 128) {
3616        goto yy54;
3617    }
3618    if (yych == '?') goto yy173;
3619    if (yych == '\\') goto yy174;
3620yy499:
3621#line 90 "strict_cpp.re"
3622    { BOOST_WAVE_RET(T_LONG); }
3623#line 3624 "strict_cpp_re.inc"
3624yy500:
3625    yyaccept = 4;
3626    yych = *(YYMARKER = ++YYCURSOR);
3627    if (yych == 'b') goto yy617;
3628    goto yy55;
3629yy501:
3630    yyaccept = 4;
3631    yych = *(YYMARKER = ++YYCURSOR);
3632    if (yych == 's') goto yy618;
3633    goto yy55;
3634yy502:
3635    yyaccept = 4;
3636    yych = *(YYMARKER = ++YYCURSOR);
3637    if (yych == 'c') goto yy619;
3638    goto yy55;
3639yy503:
3640    yyaccept = 4;
3641    yych = *(YYMARKER = ++YYCURSOR);
3642    if (yych == 'e') goto yy620;
3643    goto yy55;
3644yy504:
3645    yyaccept = 4;
3646    yych = *(YYMARKER = ++YYCURSOR);
3647    if (yych == 'p') goto yy621;
3648    goto yy55;
3649yy505:
3650    yyaccept = 4;
3651    yych = *(YYMARKER = ++YYCURSOR);
3652    if (yych == 'a') goto yy622;
3653    goto yy55;
3654yy506:
3655    yyaccept = 4;
3656    yych = *(YYMARKER = ++YYCURSOR);
3657    if (yych == 'q') goto yy623;
3658    goto yy55;
3659yy507:
3660    yyaccept = 4;
3661    yych = *(YYMARKER = ++YYCURSOR);
3662    if (yych == 'a') goto yy625;
3663    goto yy55;
3664yy508:
3665    yyaccept = 4;
3666    yych = *(YYMARKER = ++YYCURSOR);
3667    if (yych == 'e') goto yy626;
3668    goto yy55;
3669yy509:
3670    yyaccept = 4;
3671    yych = *(YYMARKER = ++YYCURSOR);
3672    if (yych == 'i') goto yy627;
3673    goto yy55;
3674yy510:
3675    yyaccept = 4;
3676    yych = *(YYMARKER = ++YYCURSOR);
3677    if (yych == 's') goto yy628;
3678    goto yy55;
3679yy511:
3680    yyaccept = 4;
3681    yych = *(YYMARKER = ++YYCURSOR);
3682    if (yych == 't') goto yy629;
3683    goto yy55;
3684yy512:
3685    yyaccept = 4;
3686    yych = *(YYMARKER = ++YYCURSOR);
3687    if (yych == 'i') goto yy630;
3688    goto yy55;
3689yy513:
3690    yyaccept = 4;
3691    yych = *(YYMARKER = ++YYCURSOR);
3692    if (yych == 'r') goto yy631;
3693    goto yy55;
3694yy514:
3695    yyaccept = 4;
3696    yych = *(YYMARKER = ++YYCURSOR);
3697    if (yych == 't') goto yy632;
3698    goto yy55;
3699yy515:
3700    yyaccept = 4;
3701    yych = *(YYMARKER = ++YYCURSOR);
3702    if (yych == 'e') goto yy634;
3703    goto yy55;
3704yy516:
3705    yyaccept = 4;
3706    yych = *(YYMARKER = ++YYCURSOR);
3707    if (yych == 'o') goto yy635;
3708    goto yy55;
3709yy517:
3710    yyaccept = 4;
3711    yych = *(YYMARKER = ++YYCURSOR);
3712    if (yych == 'i') goto yy636;
3713    goto yy55;
3714yy518:
3715    yyaccept = 4;
3716    yych = *(YYMARKER = ++YYCURSOR);
3717    if (yych == 'c') goto yy637;
3718    goto yy55;
3719yy519:
3720    yyaccept = 4;
3721    yych = *(YYMARKER = ++YYCURSOR);
3722    if (yych == 'c') goto yy638;
3723    goto yy55;
3724yy520:
3725    yyaccept = 4;
3726    yych = *(YYMARKER = ++YYCURSOR);
3727    if (yych == 'l') goto yy639;
3728    goto yy55;
3729yy521:
3730    yyaccept = 31;
3731    yych = *(YYMARKER = ++YYCURSOR);
3732    if (yybm[256+yych] & 128) {
3733        goto yy54;
3734    }
3735    if (yych == '?') goto yy173;
3736    if (yych == '\\') goto yy174;
3737yy522:
3738#line 113 "strict_cpp.re"
3739    { BOOST_WAVE_RET(T_THIS); }
3740#line 3741 "strict_cpp_re.inc"
3741yy523:
3742    yyaccept = 4;
3743    yych = *(YYMARKER = ++YYCURSOR);
3744    if (yych == 'a') goto yy640;
3745    goto yy55;
3746yy524:
3747    yyaccept = 4;
3748    yych = *(YYMARKER = ++YYCURSOR);
3749    if (yych == 'w') goto yy641;
3750    goto yy55;
3751yy525:
3752    yyaccept = 32;
3753    yych = *(YYMARKER = ++YYCURSOR);
3754    if (yybm[256+yych] & 128) {
3755        goto yy54;
3756    }
3757    if (yych == '?') goto yy173;
3758    if (yych == '\\') goto yy174;
3759yy526:
3760#line 116 "strict_cpp.re"
3761    { BOOST_WAVE_RET(T_TRUE); }
3762#line 3763 "strict_cpp_re.inc"
3763yy527:
3764    yyaccept = 4;
3765    yych = *(YYMARKER = ++YYCURSOR);
3766    if (yych <= 'h') {
3767        if (yych == 'd') goto yy643;
3768        goto yy55;
3769    } else {
3770        if (yych <= 'i') goto yy644;
3771        if (yych == 'n') goto yy645;
3772        goto yy55;
3773    }
3774yy528:
3775    yyaccept = 4;
3776    yych = *(YYMARKER = ++YYCURSOR);
3777    if (yych == 'n') goto yy646;
3778    goto yy55;
3779yy529:
3780    yyaccept = 4;
3781    yych = *(YYMARKER = ++YYCURSOR);
3782    if (yych == 'g') goto yy648;
3783    goto yy55;
3784yy530:
3785    yyaccept = 4;
3786    yych = *(YYMARKER = ++YYCURSOR);
3787    if (yych == 'g') goto yy649;
3788    goto yy55;
3789yy531:
3790    yyaccept = 4;
3791    yych = *(YYMARKER = ++YYCURSOR);
3792    if (yych == 'u') goto yy651;
3793    goto yy55;
3794yy532:
3795    yyaccept = 33;
3796    yych = *(YYMARKER = ++YYCURSOR);
3797    if (yybm[256+yych] & 128) {
3798        goto yy54;
3799    }
3800    if (yych == '?') goto yy173;
3801    if (yych == '\\') goto yy174;
3802yy533:
3803#line 125 "strict_cpp.re"
3804    { BOOST_WAVE_RET(T_VOID); }
3805#line 3806 "strict_cpp_re.inc"
3806yy534:
3807    yyaccept = 4;
3808    yych = *(YYMARKER = ++YYCURSOR);
3809    if (yych == 't') goto yy652;
3810    goto yy55;
3811yy535:
3812    yyaccept = 4;
3813    yych = *(YYMARKER = ++YYCURSOR);
3814    if (yych == 'r') goto yy653;
3815    goto yy55;
3816yy536:
3817    yyaccept = 4;
3818    yych = *(YYMARKER = ++YYCURSOR);
3819    if (yych == 'e') goto yy654;
3820    goto yy55;
3821yy537:
3822    yyaccept = 4;
3823    yych = *(YYMARKER = ++YYCURSOR);
3824    if (yych == 'e') goto yy656;
3825    goto yy55;
3826yy538:
3827    ++YYCURSOR;
3828#line 250 "strict_cpp.re"
3829    { BOOST_WAVE_RET(T_OROR_TRIGRAPH); }
3830#line 3831 "strict_cpp_re.inc"
3831yy540:
3832    yyaccept = 34;
3833    YYMARKER = ++YYCURSOR;
3834    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3835    yych = *YYCURSOR;
3836    if (yybm[0+yych] & 1) {
3837        goto yy98;
3838    }
3839    if (yych <= 0x1F) goto yy102;
3840    if (yych <= '"') goto yy101;
3841    if (yych <= '?') goto yy103;
3842    goto yy104;
3843yy541:
3844    ++YYCURSOR;
3845    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3846    yych = *YYCURSOR;
3847    if (yych <= '@') {
3848        if (yych <= '/') goto yy100;
3849        if (yych <= '9') goto yy657;
3850        goto yy100;
3851    } else {
3852        if (yych <= 'F') goto yy657;
3853        if (yych <= '`') goto yy100;
3854        if (yych <= 'f') goto yy657;
3855        goto yy100;
3856    }
3857yy542:
3858    ++YYCURSOR;
3859    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3860    yych = *YYCURSOR;
3861    if (yych <= '@') {
3862        if (yych <= '/') goto yy100;
3863        if (yych <= '9') goto yy259;
3864        goto yy100;
3865    } else {
3866        if (yych <= 'F') goto yy259;
3867        if (yych <= '`') goto yy100;
3868        if (yych <= 'f') goto yy259;
3869        goto yy100;
3870    }
3871yy543:
3872    yych = *++YYCURSOR;
3873    if (yych == 'n') goto yy658;
3874    goto yy100;
3875yy544:
3876    ++YYCURSOR;
3877#line 329 "strict_cpp.re"
3878    { BOOST_WAVE_RET(T_PP_ELIF); }
3879#line 3880 "strict_cpp_re.inc"
3880yy546:
3881    ++YYCURSOR;
3882#line 328 "strict_cpp.re"
3883    { BOOST_WAVE_RET(T_PP_ELSE); }
3884#line 3885 "strict_cpp_re.inc"
3885yy548:
3886    yych = *++YYCURSOR;
3887    if (yych == 'f') goto yy659;
3888    goto yy100;
3889yy549:
3890    yych = *++YYCURSOR;
3891    if (yych == 'e') goto yy661;
3892    goto yy100;
3893yy550:
3894    yych = *++YYCURSOR;
3895    if (yych == 'r') goto yy662;
3896    goto yy100;
3897yy551:
3898    yych = *++YYCURSOR;
3899    if (yych == 'f') goto yy664;
3900    goto yy100;
3901yy552:
3902    yych = *++YYCURSOR;
3903    if (yych == 'e') goto yy666;
3904    goto yy100;
3905yy553:
3906    yych = *++YYCURSOR;
3907    if (yych == 'u') goto yy667;
3908    goto yy100;
3909yy554:
3910    ++YYCURSOR;
3911#line 333 "strict_cpp.re"
3912    { BOOST_WAVE_RET(T_PP_LINE); }
3913#line 3914 "strict_cpp_re.inc"
3914yy556:
3915    yych = *++YYCURSOR;
3916    if (yych == 'm') goto yy668;
3917    goto yy100;
3918yy557:
3919    yych = *++YYCURSOR;
3920    if (yych == 'o') goto yy669;
3921    goto yy100;
3922yy558:
3923    yych = *++YYCURSOR;
3924    if (yych == 'f') goto yy670;
3925    goto yy100;
3926yy559:
3927    yych = *++YYCURSOR;
3928    if (yych == 'i') goto yy672;
3929    goto yy100;
3930yy560:
3931    yyaccept = 35;
3932    YYMARKER = ++YYCURSOR;
3933    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3934    yych = *YYCURSOR;
3935    if (yybm[0+yych] & 2) {
3936        goto yy129;
3937    }
3938    if (yych <= 0x1F) goto yy277;
3939    if (yych <= '\'') goto yy276;
3940    if (yych <= '?') goto yy131;
3941    goto yy132;
3942yy561:
3943    ++YYCURSOR;
3944    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3945    yych = *YYCURSOR;
3946    if (yych <= '@') {
3947        if (yych <= '/') goto yy100;
3948        if (yych <= '9') goto yy673;
3949        goto yy100;
3950    } else {
3951        if (yych <= 'F') goto yy673;
3952        if (yych <= '`') goto yy100;
3953        if (yych <= 'f') goto yy673;
3954        goto yy100;
3955    }
3956yy562:
3957    ++YYCURSOR;
3958    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3959    yych = *YYCURSOR;
3960    if (yych <= '@') {
3961        if (yych <= '/') goto yy100;
3962        if (yych <= '9') goto yy282;
3963        goto yy100;
3964    } else {
3965        if (yych <= 'F') goto yy282;
3966        if (yych <= '`') goto yy100;
3967        if (yych <= 'f') goto yy282;
3968        goto yy100;
3969    }
3970yy563:
3971    yych = *++YYCURSOR;
3972    if (yych == '!') goto yy674;
3973    goto yy100;
3974yy564:
3975    yych = *++YYCURSOR;
3976    if (yych == '=') goto yy676;
3977    goto yy100;
3978yy565:
3979    ++YYCURSOR;
3980    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3981    yych = *YYCURSOR;
3982    if (yych <= '@') {
3983        if (yych <= '/') goto yy100;
3984        if (yych <= '9') goto yy184;
3985        goto yy100;
3986    } else {
3987        if (yych <= 'F') goto yy184;
3988        if (yych <= '`') goto yy100;
3989        if (yych <= 'f') goto yy184;
3990        goto yy100;
3991    }
3992yy566:
3993    ++YYCURSOR;
3994    if (YYLIMIT <= YYCURSOR) YYFILL(1);
3995    yych = *YYCURSOR;
3996    if (yych <= '@') {
3997        if (yych <= '/') goto yy100;
3998        if (yych <= '9') goto yy54;
3999        goto yy100;
4000    } else {
4001        if (yych <= 'F') goto yy54;
4002        if (yych <= '`') goto yy100;
4003        if (yych <= 'f') goto yy54;
4004        goto yy100;
4005    }
4006yy567:
4007    yyaccept = 4;
4008    yych = *(YYMARKER = ++YYCURSOR);
4009    if (yych == 'e') goto yy678;
4010    goto yy55;
4011yy568:
4012    yyaccept = 4;
4013    yych = *(YYMARKER = ++YYCURSOR);
4014    if (yych == 'a') goto yy679;
4015    goto yy55;
4016yy569:
4017    yyaccept = 4;
4018    yych = *(YYMARKER = ++YYCURSOR);
4019    switch (yych) {
4020    case '1':    goto yy680;
4021    case '3':    goto yy681;
4022    case '6':    goto yy682;
4023    case '8':    goto yy683;
4024    default:    goto yy55;
4025    }
4026yy570:
4027    yyaccept = 4;
4028    yych = *(YYMARKER = ++YYCURSOR);
4029    if (yych == 'v') goto yy685;
4030    goto yy55;
4031yy571:
4032    yyaccept = 36;
4033    yych = *(YYMARKER = ++YYCURSOR);
4034    if (yybm[256+yych] & 128) {
4035        goto yy54;
4036    }
4037    if (yych == '?') goto yy173;
4038    if (yych == '\\') goto yy174;
4039yy572:
4040#line 139 "strict_cpp.re"
4041    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_TRY : T_IDENTIFIER); }
4042#line 4043 "strict_cpp_re.inc"
4043yy573:
4044    yyaccept = 4;
4045    yych = *(YYMARKER = ++YYCURSOR);
4046    if (yych == 'd') goto yy686;
4047    goto yy55;
4048yy574:
4049    yyaccept = 4;
4050    yych = *(YYMARKER = ++YYCURSOR);
4051    if (yych == 'l') goto yy688;
4052    goto yy55;
4053yy575:
4054    yyaccept = 4;
4055    yych = *(YYMARKER = ++YYCURSOR);
4056    if (yych == 's') goto yy690;
4057    goto yy55;
4058yy576:
4059    yyaccept = 4;
4060    yych = *(YYMARKER = ++YYCURSOR);
4061    if (yych == 'c') goto yy691;
4062    goto yy55;
4063yy577:
4064    yyaccept = 4;
4065    yych = *(YYMARKER = ++YYCURSOR);
4066    if (yych == 'n') goto yy692;
4067    goto yy55;
4068yy578:
4069    yyaccept = 4;
4070    yych = *(YYMARKER = ++YYCURSOR);
4071    if (yych == 'a') goto yy693;
4072    goto yy55;
4073yy579:
4074    yyaccept = 4;
4075    yych = *(YYMARKER = ++YYCURSOR);
4076    if (yych == 'a') goto yy694;
4077    if (yych == 'o') goto yy695;
4078    goto yy55;
4079yy580:
4080    yyaccept = 4;
4081    yych = *(YYMARKER = ++YYCURSOR);
4082    if (yych == 'q') goto yy696;
4083    goto yy55;
4084yy581:
4085    yyaccept = 4;
4086    yych = *(YYMARKER = ++YYCURSOR);
4087    if (yych == 'd') goto yy698;
4088    goto yy55;
4089yy582:
4090    yyaccept = 37;
4091    yych = *(YYMARKER = ++YYCURSOR);
4092    if (yybm[256+yych] & 128) {
4093        goto yy54;
4094    }
4095    if (yych == '?') goto yy173;
4096    if (yych == '\\') goto yy174;
4097yy583:
4098#line 204 "strict_cpp.re"
4099    { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_OR_ALT); }
4100#line 4101 "strict_cpp_re.inc"
4101yy584:
4102    yyaccept = 38;
4103    yych = *(YYMARKER = ++YYCURSOR);
4104    if (yybm[256+yych] & 128) {
4105        goto yy54;
4106    }
4107    if (yych == '?') goto yy173;
4108    if (yych == '\\') goto yy174;
4109yy585:
4110#line 52 "strict_cpp.re"
4111    { BOOST_WAVE_RET(T_BREAK); }
4112#line 4113 "strict_cpp_re.inc"
4113yy586:
4114    yyaccept = 39;
4115    yych = *(YYMARKER = ++YYCURSOR);
4116    if (yybm[256+yych] & 128) {
4117        goto yy54;
4118    }
4119    if (yych == '?') goto yy173;
4120    if (yych == '\\') goto yy174;
4121yy587:
4122#line 54 "strict_cpp.re"
4123    { BOOST_WAVE_RET(T_CATCH); }
4124#line 4125 "strict_cpp_re.inc"
4125yy588:
4126    yyaccept = 4;
4127    yych = *(YYMARKER = ++YYCURSOR);
4128    if (yych == '6') goto yy700;
4129    goto yy55;
4130yy589:
4131    yyaccept = 4;
4132    yych = *(YYMARKER = ++YYCURSOR);
4133    if (yych == '2') goto yy701;
4134    goto yy55;
4135yy590:
4136    yyaccept = 4;
4137    yych = *(YYMARKER = ++YYCURSOR);
4138    if (yych == '_') goto yy702;
4139    goto yy55;
4140yy591:
4141    yyaccept = 40;
4142    yych = *(YYMARKER = ++YYCURSOR);
4143    if (yybm[256+yych] & 128) {
4144        goto yy54;
4145    }
4146    if (yych == '?') goto yy173;
4147    if (yych == '\\') goto yy174;
4148yy592:
4149#line 59 "strict_cpp.re"
4150    { BOOST_WAVE_RET(T_CLASS); }
4151#line 4152 "strict_cpp_re.inc"
4152yy593:
4153    yyaccept = 4;
4154    yych = *(YYMARKER = ++YYCURSOR);
4155    if (yych == 'a') goto yy703;
4156    goto yy55;
4157yy594:
4158    yyaccept = 4;
4159    yych = *(YYMARKER = ++YYCURSOR);
4160    if (yych == 't') goto yy704;
4161    goto yy55;
4162yy595:
4163    yyaccept = 4;
4164    yych = *(YYMARKER = ++YYCURSOR);
4165    if (yych == 'e') goto yy705;
4166    goto yy55;
4167yy596:
4168    yyaccept = 41;
4169    yych = *(YYMARKER = ++YYCURSOR);
4170    if (yybm[256+yych] & 128) {
4171        goto yy54;
4172    }
4173    if (yych == '?') goto yy173;
4174    if (yych == '\\') goto yy174;
4175yy597:
4176#line 208 "strict_cpp.re"
4177    { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_COMPL_ALT); }
4178#line 4179 "strict_cpp_re.inc"
4179yy598:
4180    yyaccept = 4;
4181    yych = *(YYMARKER = ++YYCURSOR);
4182    if (yych == 'p') goto yy706;
4183    goto yy55;
4184yy599:
4185    yyaccept = 42;
4186    yych = *(YYMARKER = ++YYCURSOR);
4187    if (yych <= '\\') {
4188        if (yych <= '?') {
4189            if (yych <= '/') goto yy600;
4190            if (yych <= '9') goto yy54;
4191            if (yych >= '?') goto yy173;
4192        } else {
4193            if (yych <= '@') goto yy600;
4194            if (yych <= 'Z') goto yy54;
4195            if (yych >= '\\') goto yy174;
4196        }
4197    } else {
4198        if (yych <= 'd') {
4199            if (yych == '_') goto yy707;
4200            if (yych >= 'a') goto yy54;
4201        } else {
4202            if (yych <= 'h') {
4203                if (yych <= 'e') goto yy708;
4204                goto yy54;
4205            } else {
4206                if (yych <= 'i') goto yy709;
4207                if (yych <= 'z') goto yy54;
4208            }
4209        }
4210    }
4211yy600:
4212#line 61 "strict_cpp.re"
4213    { BOOST_WAVE_RET(T_CONST); }
4214#line 4215 "strict_cpp_re.inc"
4215yy601:
4216    yyaccept = 4;
4217    yych = *(YYMARKER = ++YYCURSOR);
4218    if (yych == 'n') goto yy710;
4219    goto yy55;
4220yy602:
4221    yyaccept = 4;
4222    yych = *(YYMARKER = ++YYCURSOR);
4223    if (yych == 'y') goto yy711;
4224    goto yy55;
4225yy603:
4226    yyaccept = 4;
4227    yych = *(YYMARKER = ++YYCURSOR);
4228    if (yych == 'l') goto yy712;
4229    goto yy55;
4230yy604:
4231    yyaccept = 4;
4232    yych = *(YYMARKER = ++YYCURSOR);
4233    if (yych == 'e') goto yy713;
4234    goto yy55;
4235yy605:
4236    yyaccept = 4;
4237    yych = *(YYMARKER = ++YYCURSOR);
4238    if (yych == 'e') goto yy715;
4239    goto yy55;
4240yy606:
4241    yyaccept = 4;
4242    yych = *(YYMARKER = ++YYCURSOR);
4243    if (yych == 'i') goto yy717;
4244    goto yy55;
4245yy607:
4246    yyaccept = 4;
4247    yych = *(YYMARKER = ++YYCURSOR);
4248    if (yych == 'c') goto yy718;
4249    goto yy55;
4250yy608:
4251    yyaccept = 4;
4252    yych = *(YYMARKER = ++YYCURSOR);
4253    if (yych == 't') goto yy719;
4254    goto yy55;
4255yy609:
4256    yyaccept = 4;
4257    yych = *(YYMARKER = ++YYCURSOR);
4258    if (yych == 'n') goto yy721;
4259    goto yy55;
4260yy610:
4261    yyaccept = 43;
4262    yych = *(YYMARKER = ++YYCURSOR);
4263    if (yybm[256+yych] & 128) {
4264        goto yy54;
4265    }
4266    if (yych == '?') goto yy173;
4267    if (yych == '\\') goto yy174;
4268yy611:
4269#line 81 "strict_cpp.re"
4270    { BOOST_WAVE_RET(T_FALSE); }
4271#line 4272 "strict_cpp_re.inc"
4272yy612:
4273    yyaccept = 44;
4274    yych = *(YYMARKER = ++YYCURSOR);
4275    if (yybm[256+yych] & 128) {
4276        goto yy54;
4277    }
4278    if (yych == '?') goto yy173;
4279    if (yych == '\\') goto yy174;
4280yy613:
4281#line 82 "strict_cpp.re"
4282    { BOOST_WAVE_RET(T_FLOAT); }
4283#line 4284 "strict_cpp_re.inc"
4284yy614:
4285    yyaccept = 4;
4286    yych = *(YYMARKER = ++YYCURSOR);
4287    if (yych == 'd') goto yy723;
4288    goto yy55;
4289yy615:
4290    yyaccept = 4;
4291    yych = *(YYMARKER = ++YYCURSOR);
4292    if (yych == 't') goto yy725;
4293    goto yy55;
4294yy616:
4295    yyaccept = 4;
4296    yych = *(YYMARKER = ++YYCURSOR);
4297    if (yych == 'e') goto yy727;
4298    goto yy55;
4299yy617:
4300    yyaccept = 4;
4301    yych = *(YYMARKER = ++YYCURSOR);
4302    if (yych == 'l') goto yy729;
4303    goto yy55;
4304yy618:
4305    yyaccept = 4;
4306    yych = *(YYMARKER = ++YYCURSOR);
4307    if (yych == 'p') goto yy730;
4308    goto yy55;
4309yy619:
4310    yyaccept = 4;
4311    yych = *(YYMARKER = ++YYCURSOR);
4312    if (yych == 'e') goto yy731;
4313    goto yy55;
4314yy620:
4315    yyaccept = 4;
4316    yych = *(YYMARKER = ++YYCURSOR);
4317    if (yych == 'q') goto yy732;
4318    goto yy55;
4319yy621:
4320    yyaccept = 4;
4321    yych = *(YYMARKER = ++YYCURSOR);
4322    if (yych == 't') goto yy734;
4323    goto yy55;
4324yy622:
4325    yyaccept = 4;
4326    yych = *(YYMARKER = ++YYCURSOR);
4327    if (yych == 't') goto yy735;
4328    goto yy55;
4329yy623:
4330    yyaccept = 45;
4331    yych = *(YYMARKER = ++YYCURSOR);
4332    if (yybm[256+yych] & 128) {
4333        goto yy54;
4334    }
4335    if (yych == '?') goto yy173;
4336    if (yych == '\\') goto yy174;
4337yy624:
4338#line 225 "strict_cpp.re"
4339    { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ORASSIGN_ALT); }
4340#line 4341 "strict_cpp_re.inc"
4341yy625:
4342    yyaccept = 4;
4343    yych = *(YYMARKER = ++YYCURSOR);
4344    if (yych == 't') goto yy736;
4345    goto yy55;
4346yy626:
4347    yyaccept = 4;
4348    yych = *(YYMARKER = ++YYCURSOR);
4349    if (yych == 'c') goto yy737;
4350    goto yy55;
4351yy627:
4352    yyaccept = 4;
4353    yych = *(YYMARKER = ++YYCURSOR);
4354    if (yych == 'c') goto yy738;
4355    goto yy55;
4356yy628:
4357    yyaccept = 4;
4358    yych = *(YYMARKER = ++YYCURSOR);
4359    if (yych == 't') goto yy740;
4360    goto yy55;
4361yy629:
4362    yyaccept = 4;
4363    yych = *(YYMARKER = ++YYCURSOR);
4364    if (yych == 'e') goto yy741;
4365    goto yy55;
4366yy630:
4367    yyaccept = 4;
4368    yych = *(YYMARKER = ++YYCURSOR);
4369    if (yych == 'r') goto yy742;
4370    goto yy55;
4371yy631:
4372    yyaccept = 4;
4373    yych = *(YYMARKER = ++YYCURSOR);
4374    if (yych == 'n') goto yy743;
4375    goto yy55;
4376yy632:
4377    yyaccept = 46;
4378    yych = *(YYMARKER = ++YYCURSOR);
4379    if (yybm[256+yych] & 128) {
4380        goto yy54;
4381    }
4382    if (yych == '?') goto yy173;
4383    if (yych == '\\') goto yy174;
4384yy633:
4385#line 104 "strict_cpp.re"
4386    { BOOST_WAVE_RET(T_SHORT); }
4387#line 4388 "strict_cpp_re.inc"
4388yy634:
4389    yyaccept = 4;
4390    yych = *(YYMARKER = ++YYCURSOR);
4391    if (yych == 'd') goto yy745;
4392    goto yy55;
4393yy635:
4394    yyaccept = 4;
4395    yych = *(YYMARKER = ++YYCURSOR);
4396    if (yych == 'f') goto yy747;
4397    goto yy55;
4398yy636:
4399    yyaccept = 4;
4400    yych = *(YYMARKER = ++YYCURSOR);
4401    if (yych == 'c') goto yy749;
4402    goto yy55;
4403yy637:
4404    yyaccept = 4;
4405    yych = *(YYMARKER = ++YYCURSOR);
4406    if (yych == 't') goto yy751;
4407    goto yy55;
4408yy638:
4409    yyaccept = 4;
4410    yych = *(YYMARKER = ++YYCURSOR);
4411    if (yych == 'h') goto yy753;
4412    goto yy55;
4413yy639:
4414    yyaccept = 4;
4415    yych = *(YYMARKER = ++YYCURSOR);
4416    if (yych == 'a') goto yy755;
4417    goto yy55;
4418yy640:
4419    yyaccept = 4;
4420    yych = *(YYMARKER = ++YYCURSOR);
4421    if (yych == 'd') goto yy756;
4422    goto yy55;
4423yy641:
4424    yyaccept = 47;
4425    yych = *(YYMARKER = ++YYCURSOR);
4426    if (yybm[256+yych] & 128) {
4427        goto yy54;
4428    }
4429    if (yych == '?') goto yy173;
4430    if (yych == '\\') goto yy174;
4431yy642:
4432#line 115 "strict_cpp.re"
4433    { BOOST_WAVE_RET(T_THROW); }
4434#line 4435 "strict_cpp_re.inc"
4435yy643:
4436    yyaccept = 4;
4437    yych = *(YYMARKER = ++YYCURSOR);
4438    if (yych == 'e') goto yy757;
4439    goto yy55;
4440yy644:
4441    yyaccept = 4;
4442    yych = *(YYMARKER = ++YYCURSOR);
4443    if (yych == 'd') goto yy758;
4444    goto yy55;
4445yy645:
4446    yyaccept = 4;
4447    yych = *(YYMARKER = ++YYCURSOR);
4448    if (yych == 'a') goto yy760;
4449    goto yy55;
4450yy646:
4451    yyaccept = 48;
4452    yych = *(YYMARKER = ++YYCURSOR);
4453    if (yybm[256+yych] & 128) {
4454        goto yy54;
4455    }
4456    if (yych == '?') goto yy173;
4457    if (yych == '\\') goto yy174;
4458yy647:
4459#line 121 "strict_cpp.re"
4460    { BOOST_WAVE_RET(T_UNION); }
4461#line 4462 "strict_cpp_re.inc"
4462yy648:
4463    yyaccept = 4;
4464    yych = *(YYMARKER = ++YYCURSOR);
4465    if (yych == 'n') goto yy761;
4466    goto yy55;
4467yy649:
4468    yyaccept = 49;
4469    yych = *(YYMARKER = ++YYCURSOR);
4470    if (yybm[256+yych] & 128) {
4471        goto yy54;
4472    }
4473    if (yych == '?') goto yy173;
4474    if (yych == '\\') goto yy174;
4475yy650:
4476#line 123 "strict_cpp.re"
4477    { BOOST_WAVE_RET(T_USING); }
4478#line 4479 "strict_cpp_re.inc"
4479yy651:
4480    yyaccept = 4;
4481    yych = *(YYMARKER = ++YYCURSOR);
4482    if (yych == 'a') goto yy762;
4483    goto yy55;
4484yy652:
4485    yyaccept = 4;
4486    yych = *(YYMARKER = ++YYCURSOR);
4487    if (yych == 'i') goto yy763;
4488    goto yy55;
4489yy653:
4490    yyaccept = 4;
4491    yych = *(YYMARKER = ++YYCURSOR);
4492    if (yych == '_') goto yy764;
4493    goto yy55;
4494yy654:
4495    yyaccept = 50;
4496    yych = *(YYMARKER = ++YYCURSOR);
4497    if (yybm[256+yych] & 128) {
4498        goto yy54;
4499    }
4500    if (yych == '?') goto yy173;
4501    if (yych == '\\') goto yy174;
4502yy655:
4503#line 128 "strict_cpp.re"
4504    { BOOST_WAVE_RET(T_WHILE); }
4505#line 4506 "strict_cpp_re.inc"
4506yy656:
4507    yyaccept = 4;
4508    yych = *(YYMARKER = ++YYCURSOR);
4509    if (yych == 'q') goto yy765;
4510    goto yy55;
4511yy657:
4512    ++YYCURSOR;
4513    if (YYLIMIT <= YYCURSOR) YYFILL(1);
4514    yych = *YYCURSOR;
4515    if (yych <= '@') {
4516        if (yych <= '/') goto yy100;
4517        if (yych <= '9') goto yy258;
4518        goto yy100;
4519    } else {
4520        if (yych <= 'F') goto yy258;
4521        if (yych <= '`') goto yy100;
4522        if (yych <= 'f') goto yy258;
4523        goto yy100;
4524    }
4525yy658:
4526    yych = *++YYCURSOR;
4527    if (yych == 'e') goto yy767;
4528    goto yy100;
4529yy659:
4530    ++YYCURSOR;
4531#line 330 "strict_cpp.re"
4532    { BOOST_WAVE_RET(T_PP_ENDIF); }
4533#line 4534 "strict_cpp_re.inc"
4534yy661:
4535    yych = *++YYCURSOR;
4536    if (yych == 'g') goto yy769;
4537    goto yy100;
4538yy662:
4539    ++YYCURSOR;
4540#line 334 "strict_cpp.re"
4541    { BOOST_WAVE_RET(T_PP_ERROR); }
4542#line 4543 "strict_cpp_re.inc"
4543yy664:
4544    ++YYCURSOR;
4545#line 326 "strict_cpp.re"
4546    { BOOST_WAVE_RET(T_PP_IFDEF); }
4547#line 4548 "strict_cpp_re.inc"
4548yy666:
4549    yych = *++YYCURSOR;
4550    if (yych == 'f') goto yy770;
4551    goto yy100;
4552yy667:
4553    yych = *++YYCURSOR;
4554    if (yych == 'd') goto yy772;
4555    goto yy100;
4556yy668:
4557    yych = *++YYCURSOR;
4558    if (yych == 'a') goto yy773;
4559    goto yy100;
4560yy669:
4561    yych = *++YYCURSOR;
4562    if (yych == 'n') goto yy775;
4563    goto yy100;
4564yy670:
4565    ++YYCURSOR;
4566#line 332 "strict_cpp.re"
4567    { BOOST_WAVE_RET(T_PP_UNDEF); }
4568#line 4569 "strict_cpp_re.inc"
4569yy672:
4570    yych = *++YYCURSOR;
4571    if (yych == 'n') goto yy777;
4572    goto yy100;
4573yy673:
4574    ++YYCURSOR;
4575    if (YYLIMIT <= YYCURSOR) YYFILL(1);
4576    yych = *YYCURSOR;
4577    if (yych <= '@') {
4578        if (yych <= '/') goto yy100;
4579        if (yych <= '9') goto yy281;
4580        goto yy100;
4581    } else {
4582        if (yych <= 'F') goto yy281;
4583        if (yych <= '`') goto yy100;
4584        if (yych <= 'f') goto yy281;
4585        goto yy100;
4586    }
4587yy674:
4588    ++YYCURSOR;
4589#line 252 "strict_cpp.re"
4590    { BOOST_WAVE_RET(T_OROR_TRIGRAPH); }
4591#line 4592 "strict_cpp_re.inc"
4592yy676:
4593    ++YYCURSOR;
4594#line 164 "strict_cpp.re"
4595    { BOOST_WAVE_RET(T_POUND_POUND_TRIGRAPH); }
4596#line 4597 "strict_cpp_re.inc"
4597yy678:
4598    yyaccept = 4;
4599    yych = *(YYMARKER = ++YYCURSOR);
4600    if (yych == 'p') goto yy778;
4601    goto yy55;
4602yy679:
4603    yyaccept = 4;
4604    yych = *(YYMARKER = ++YYCURSOR);
4605    if (yych == 'l') goto yy779;
4606    goto yy55;
4607yy680:
4608    yyaccept = 4;
4609    yych = *(YYMARKER = ++YYCURSOR);
4610    if (yych == '6') goto yy780;
4611    goto yy55;
4612yy681:
4613    yyaccept = 4;
4614    yych = *(YYMARKER = ++YYCURSOR);
4615    if (yych == '2') goto yy782;
4616    goto yy55;
4617yy682:
4618    yyaccept = 4;
4619    yych = *(YYMARKER = ++YYCURSOR);
4620    if (yych == '4') goto yy784;
4621    goto yy55;
4622yy683:
4623    yyaccept = 51;
4624    yych = *(YYMARKER = ++YYCURSOR);
4625    if (yybm[256+yych] & 128) {
4626        goto yy54;
4627    }
4628    if (yych == '?') goto yy173;
4629    if (yych == '\\') goto yy174;
4630yy684:
4631#line 130 "strict_cpp.re"
4632    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT8 : T_IDENTIFIER); }
4633#line 4634 "strict_cpp_re.inc"
4634yy685:
4635    yyaccept = 4;
4636    yych = *(YYMARKER = ++YYCURSOR);
4637    if (yych == 'e') goto yy786;
4638    goto yy55;
4639yy686:
4640    yyaccept = 52;
4641    yych = *(YYMARKER = ++YYCURSOR);
4642    if (yybm[256+yych] & 128) {
4643        goto yy54;
4644    }
4645    if (yych == '?') goto yy173;
4646    if (yych == '\\') goto yy174;
4647yy687:
4648#line 134 "strict_cpp.re"
4649    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_BASED : T_IDENTIFIER); }
4650#line 4651 "strict_cpp_re.inc"
4651yy688:
4652    yyaccept = 53;
4653    yych = *(YYMARKER = ++YYCURSOR);
4654    if (yybm[256+yych] & 128) {
4655        goto yy54;
4656    }
4657    if (yych == '?') goto yy173;
4658    if (yych == '\\') goto yy174;
4659yy689:
4660#line 136 "strict_cpp.re"
4661    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_CDECL : T_IDENTIFIER); }
4662#line 4663 "strict_cpp_re.inc"
4663yy690:
4664    yyaccept = 4;
4665    yych = *(YYMARKER = ++YYCURSOR);
4666    if (yych == 'p') goto yy788;
4667    goto yy55;
4668yy691:
4669    yyaccept = 4;
4670    yych = *(YYMARKER = ++YYCURSOR);
4671    if (yych == 'a') goto yy789;
4672    goto yy55;
4673yy692:
4674    yyaccept = 4;
4675    yych = *(YYMARKER = ++YYCURSOR);
4676    if (yych == 'e') goto yy790;
4677    goto yy55;
4678yy693:
4679    yyaccept = 4;
4680    yych = *(YYMARKER = ++YYCURSOR);
4681    if (yych == 'l') goto yy792;
4682    goto yy55;
4683yy694:
4684    yyaccept = 4;
4685    yych = *(YYMARKER = ++YYCURSOR);
4686    if (yych == 's') goto yy793;
4687    goto yy55;
4688yy695:
4689    yyaccept = 4;
4690    yych = *(YYMARKER = ++YYCURSOR);
4691    if (yych == 'f') goto yy795;
4692    goto yy55;
4693yy696:
4694    yyaccept = 54;
4695    yych = *(YYMARKER = ++YYCURSOR);
4696    if (yybm[256+yych] & 128) {
4697        goto yy54;
4698    }
4699    if (yych == '?') goto yy173;
4700    if (yych == '\\') goto yy174;
4701yy697:
4702#line 223 "strict_cpp.re"
4703    { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_ANDASSIGN_ALT); }
4704#line 4705 "strict_cpp_re.inc"
4705yy698:
4706    yyaccept = 55;
4707    yych = *(YYMARKER = ++YYCURSOR);
4708    if (yybm[256+yych] & 128) {
4709        goto yy54;
4710    }
4711    if (yych == '?') goto yy173;
4712    if (yych == '\\') goto yy174;
4713yy699:
4714#line 202 "strict_cpp.re"
4715    { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_AND_ALT); }
4716#line 4717 "strict_cpp_re.inc"
4717yy700:
4718    yyaccept = 4;
4719    yych = *(YYMARKER = ++YYCURSOR);
4720    if (yych == '_') goto yy797;
4721    goto yy55;
4722yy701:
4723    yyaccept = 4;
4724    yych = *(YYMARKER = ++YYCURSOR);
4725    if (yych == '_') goto yy798;
4726    goto yy55;
4727yy702:
4728    yyaccept = 4;
4729    yych = *(YYMARKER = ++YYCURSOR);
4730    if (yych == 't') goto yy799;
4731    goto yy55;
4732yy703:
4733    yyaccept = 4;
4734    yych = *(YYMARKER = ++YYCURSOR);
4735    if (yych == 'i') goto yy801;
4736    goto yy55;
4737yy704:
4738    yyaccept = 4;
4739    yych = *(YYMARKER = ++YYCURSOR);
4740    if (yych == 'u') goto yy802;
4741    goto yy55;
4742yy705:
4743    yyaccept = 4;
4744    yych = *(YYMARKER = ++YYCURSOR);
4745    if (yych == 'l') goto yy803;
4746    goto yy55;
4747yy706:
4748    yyaccept = 4;
4749    yych = *(YYMARKER = ++YYCURSOR);
4750    if (yych == 't') goto yy804;
4751    goto yy55;
4752yy707:
4753    yyaccept = 4;
4754    yych = *(YYMARKER = ++YYCURSOR);
4755    if (yych == 'c') goto yy806;
4756    goto yy55;
4757yy708:
4758    yyaccept = 4;
4759    yych = *(YYMARKER = ++YYCURSOR);
4760    if (yych == 'v') goto yy807;
4761    if (yych == 'x') goto yy808;
4762    goto yy55;
4763yy709:
4764    yyaccept = 4;
4765    yych = *(YYMARKER = ++YYCURSOR);
4766    if (yych == 'n') goto yy809;
4767    goto yy55;
4768yy710:
4769    yyaccept = 4;
4770    yych = *(YYMARKER = ++YYCURSOR);
4771    if (yych == 'u') goto yy810;
4772    goto yy55;
4773yy711:
4774    yyaccept = 4;
4775    yych = *(YYMARKER = ++YYCURSOR);
4776    if (yych == 'p') goto yy811;
4777    goto yy55;
4778yy712:
4779    yyaccept = 4;
4780    yych = *(YYMARKER = ++YYCURSOR);
4781    if (yych == 't') goto yy812;
4782    goto yy55;
4783yy713:
4784    yyaccept = 56;
4785    yych = *(YYMARKER = ++YYCURSOR);
4786    if (yybm[256+yych] & 128) {
4787        goto yy54;
4788    }
4789    if (yych == '?') goto yy173;
4790    if (yych == '\\') goto yy174;
4791yy714:
4792#line 72 "strict_cpp.re"
4793    { BOOST_WAVE_RET(T_DELETE); }
4794#line 4795 "strict_cpp_re.inc"
4795yy715:
4796    yyaccept = 57;
4797    yych = *(YYMARKER = ++YYCURSOR);
4798    if (yybm[256+yych] & 128) {
4799        goto yy54;
4800    }
4801    if (yych == '?') goto yy173;
4802    if (yych == '\\') goto yy174;
4803yy716:
4804#line 74 "strict_cpp.re"
4805    { BOOST_WAVE_RET(T_DOUBLE); }
4806#line 4807 "strict_cpp_re.inc"
4807yy717:
4808    yyaccept = 4;
4809    yych = *(YYMARKER = ++YYCURSOR);
4810    if (yych == 'c') goto yy814;
4811    goto yy55;
4812yy718:
4813    yyaccept = 4;
4814    yych = *(YYMARKER = ++YYCURSOR);
4815    if (yych == 'i') goto yy815;
4816    goto yy55;
4817yy719:
4818    yyaccept = 58;
4819    yych = *(YYMARKER = ++YYCURSOR);
4820    if (yybm[256+yych] & 128) {
4821        goto yy54;
4822    }
4823    if (yych == '?') goto yy173;
4824    if (yych == '\\') goto yy174;
4825yy720:
4826#line 79 "strict_cpp.re"
4827    { BOOST_WAVE_RET(T_EXPORT); }
4828#line 4829 "strict_cpp_re.inc"
4829yy721:
4830    yyaccept = 59;
4831    yych = *(YYMARKER = ++YYCURSOR);
4832    if (yybm[256+yych] & 128) {
4833        goto yy54;
4834    }
4835    if (yych == '?') goto yy173;
4836    if (yych == '\\') goto yy174;
4837yy722:
4838#line 80 "strict_cpp.re"
4839    { BOOST_WAVE_RET(T_EXTERN); }
4840#line 4841 "strict_cpp_re.inc"
4841yy723:
4842    yyaccept = 60;
4843    yych = *(YYMARKER = ++YYCURSOR);
4844    if (yybm[256+yych] & 128) {
4845        goto yy54;
4846    }
4847    if (yych == '?') goto yy173;
4848    if (yych == '\\') goto yy174;
4849yy724:
4850#line 84 "strict_cpp.re"
4851    { BOOST_WAVE_RET(T_FRIEND); }
4852#line 4853 "strict_cpp_re.inc"
4853yy725:
4854    yyaccept = 61;
4855    yych = *(YYMARKER = ++YYCURSOR);
4856    if (yybm[256+yych] & 128) {
4857        goto yy54;
4858    }
4859    if (yych == '?') goto yy173;
4860    if (yych == '\\') goto yy174;
4861yy726:
4862#line 87 "strict_cpp.re"
4863    { BOOST_WAVE_RET(s->enable_import_keyword ? T_IMPORT : T_IDENTIFIER); }
4864#line 4865 "strict_cpp_re.inc"
4865yy727:
4866    yyaccept = 62;
4867    yych = *(YYMARKER = ++YYCURSOR);
4868    if (yybm[256+yych] & 128) {
4869        goto yy54;
4870    }
4871    if (yych == '?') goto yy173;
4872    if (yych == '\\') goto yy174;
4873yy728:
4874#line 88 "strict_cpp.re"
4875    { BOOST_WAVE_RET(T_INLINE); }
4876#line 4877 "strict_cpp_re.inc"
4877yy729:
4878    yyaccept = 4;
4879    yych = *(YYMARKER = ++YYCURSOR);
4880    if (yych == 'e') goto yy816;
4881    goto yy55;
4882yy730:
4883    yyaccept = 4;
4884    yych = *(YYMARKER = ++YYCURSOR);
4885    if (yych == 'a') goto yy818;
4886    goto yy55;
4887yy731:
4888    yyaccept = 4;
4889    yych = *(YYMARKER = ++YYCURSOR);
4890    if (yych == 'p') goto yy819;
4891    goto yy55;
4892yy732:
4893    yyaccept = 63;
4894    yych = *(YYMARKER = ++YYCURSOR);
4895    if (yybm[256+yych] & 128) {
4896        goto yy54;
4897    }
4898    if (yych == '?') goto yy173;
4899    if (yych == '\\') goto yy174;
4900yy733:
4901#line 233 "strict_cpp.re"
4902    { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_NOTEQUAL_ALT); }
4903#line 4904 "strict_cpp_re.inc"
4904yy734:
4905    yyaccept = 4;
4906    yych = *(YYMARKER = ++YYCURSOR);
4907    if (yych == 'r') goto yy820;
4908    goto yy55;
4909yy735:
4910    yyaccept = 4;
4911    yych = *(YYMARKER = ++YYCURSOR);
4912    if (yych == 'o') goto yy822;
4913    goto yy55;
4914yy736:
4915    yyaccept = 4;
4916    yych = *(YYMARKER = ++YYCURSOR);
4917    if (yych == 'e') goto yy823;
4918    goto yy55;
4919yy737:
4920    yyaccept = 4;
4921    yych = *(YYMARKER = ++YYCURSOR);
4922    if (yych == 't') goto yy825;
4923    goto yy55;
4924yy738:
4925    yyaccept = 64;
4926    yych = *(YYMARKER = ++YYCURSOR);
4927    if (yybm[256+yych] & 128) {
4928        goto yy54;
4929    }
4930    if (yych == '?') goto yy173;
4931    if (yych == '\\') goto yy174;
4932yy739:
4933#line 99 "strict_cpp.re"
4934    { BOOST_WAVE_RET(T_PUBLIC); }
4935#line 4936 "strict_cpp_re.inc"
4936yy740:
4937    yyaccept = 4;
4938    yych = *(YYMARKER = ++YYCURSOR);
4939    if (yych == 'e') goto yy826;
4940    goto yy55;
4941yy741:
4942    yyaccept = 4;
4943    yych = *(YYMARKER = ++YYCURSOR);
4944    if (yych == 'r') goto yy827;
4945    goto yy55;
4946yy742:
4947    yyaccept = 4;
4948    yych = *(YYMARKER = ++YYCURSOR);
4949    if (yych == 'e') goto yy828;
4950    goto yy55;
4951yy743:
4952    yyaccept = 65;
4953    yych = *(YYMARKER = ++YYCURSOR);
4954    if (yybm[256+yych] & 128) {
4955        goto yy54;
4956    }
4957    if (yych == '?') goto yy173;
4958    if (yych == '\\') goto yy174;
4959yy744:
4960#line 103 "strict_cpp.re"
4961    { BOOST_WAVE_RET(T_RETURN); }
4962#line 4963 "strict_cpp_re.inc"
4963yy745:
4964    yyaccept = 66;
4965    yych = *(YYMARKER = ++YYCURSOR);
4966    if (yybm[256+yych] & 128) {
4967        goto yy54;
4968    }
4969    if (yych == '?') goto yy173;
4970    if (yych == '\\') goto yy174;
4971yy746:
4972#line 105 "strict_cpp.re"
4973    { BOOST_WAVE_RET(T_SIGNED); }
4974#line 4975 "strict_cpp_re.inc"
4975yy747:
4976    yyaccept = 67;
4977    yych = *(YYMARKER = ++YYCURSOR);
4978    if (yybm[256+yych] & 128) {
4979        goto yy54;
4980    }
4981    if (yych == '?') goto yy173;
4982    if (yych == '\\') goto yy174;
4983yy748:
4984#line 106 "strict_cpp.re"
4985    { BOOST_WAVE_RET(T_SIZEOF); }
4986#line 4987 "strict_cpp_re.inc"
4987yy749:
4988    yyaccept = 68;
4989    yych = *(YYMARKER = ++YYCURSOR);
4990    if (yych <= 'Z') {
4991        if (yych <= '>') {
4992            if (yych <= '/') goto yy750;
4993            if (yych <= '9') goto yy54;
4994        } else {
4995            if (yych <= '?') goto yy173;
4996            if (yych >= 'A') goto yy54;
4997        }
4998    } else {
4999        if (yych <= '^') {
5000            if (yych == '\\') goto yy174;
5001        } else {
5002            if (yych <= '_') goto yy829;
5003            if (yych <= '`') goto yy750;
5004            if (yych <= 'z') goto yy54;
5005        }
5006    }
5007yy750:
5008#line 107 "strict_cpp.re"
5009    { BOOST_WAVE_RET(T_STATIC); }
5010#line 5011 "strict_cpp_re.inc"
5011yy751:
5012    yyaccept = 69;
5013    yych = *(YYMARKER = ++YYCURSOR);
5014    if (yybm[256+yych] & 128) {
5015        goto yy54;
5016    }
5017    if (yych == '?') goto yy173;
5018    if (yych == '\\') goto yy174;
5019yy752:
5020#line 110 "strict_cpp.re"
5021    { BOOST_WAVE_RET(T_STRUCT); }
5022#line 5023 "strict_cpp_re.inc"
5023yy753:
5024    yyaccept = 70;
5025    yych = *(YYMARKER = ++YYCURSOR);
5026    if (yybm[256+yych] & 128) {
5027        goto yy54;
5028    }
5029    if (yych == '?') goto yy173;
5030    if (yych == '\\') goto yy174;
5031yy754:
5032#line 111 "strict_cpp.re"
5033    { BOOST_WAVE_RET(T_SWITCH); }
5034#line 5035 "strict_cpp_re.inc"
5035yy755:
5036    yyaccept = 4;
5037    yych = *(YYMARKER = ++YYCURSOR);
5038    if (yych == 't') goto yy830;
5039    goto yy55;
5040yy756:
5041    yyaccept = 4;
5042    yych = *(YYMARKER = ++YYCURSOR);
5043    if (yych == '_') goto yy831;
5044    goto yy55;
5045yy757:
5046    yyaccept = 4;
5047    yych = *(YYMARKER = ++YYCURSOR);
5048    if (yych == 'f') goto yy832;
5049    goto yy55;
5050yy758:
5051    yyaccept = 71;
5052    yych = *(YYMARKER = ++YYCURSOR);
5053    if (yybm[256+yych] & 128) {
5054        goto yy54;
5055    }
5056    if (yych == '?') goto yy173;
5057    if (yych == '\\') goto yy174;
5058yy759:
5059#line 119 "strict_cpp.re"
5060    { BOOST_WAVE_RET(T_TYPEID); }
5061#line 5062 "strict_cpp_re.inc"
5062yy760:
5063    yyaccept = 4;
5064    yych = *(YYMARKER = ++YYCURSOR);
5065    if (yych == 'm') goto yy834;
5066    goto yy55;
5067yy761:
5068    yyaccept = 4;
5069    yych = *(YYMARKER = ++YYCURSOR);
5070    if (yych == 'e') goto yy835;
5071    goto yy55;
5072yy762:
5073    yyaccept = 4;
5074    yych = *(YYMARKER = ++YYCURSOR);
5075    if (yych == 'l') goto yy836;
5076    goto yy55;
5077yy763:
5078    yyaccept = 4;
5079    yych = *(YYMARKER = ++YYCURSOR);
5080    if (yych == 'l') goto yy838;
5081    goto yy55;
5082yy764:
5083    yyaccept = 4;
5084    yych = *(YYMARKER = ++YYCURSOR);
5085    if (yych == 't') goto yy839;
5086    goto yy55;
5087yy765:
5088    yyaccept = 72;
5089    yych = *(YYMARKER = ++YYCURSOR);
5090    if (yybm[256+yych] & 128) {
5091        goto yy54;
5092    }
5093    if (yych == '?') goto yy173;
5094    if (yych == '\\') goto yy174;
5095yy766:
5096#line 220 "strict_cpp.re"
5097    { BOOST_WAVE_RET(s->act_in_c99_mode ? T_IDENTIFIER : T_XORASSIGN_ALT); }
5098#line 5099 "strict_cpp_re.inc"
5099yy767:
5100    ++YYCURSOR;
5101#line 331 "strict_cpp.re"
5102    { BOOST_WAVE_RET(T_PP_DEFINE); }
5103#line 5104 "strict_cpp_re.inc"
5104yy769:
5105    yych = *++YYCURSOR;
5106    if (yych == 'i') goto yy841;
5107    goto yy100;
5108yy770:
5109    ++YYCURSOR;
5110#line 327 "strict_cpp.re"
5111    { BOOST_WAVE_RET(T_PP_IFNDEF); }
5112#line 5113 "strict_cpp_re.inc"
5113yy772:
5114    yych = *++YYCURSOR;
5115    if (yych == 'e') goto yy842;
5116    goto yy100;
5117yy773:
5118    ++YYCURSOR;
5119#line 335 "strict_cpp.re"
5120    { BOOST_WAVE_RET(T_PP_PRAGMA); }
5121#line 5122 "strict_cpp_re.inc"
5122yy775:
5123    ++YYCURSOR;
5124#line 339 "strict_cpp.re"
5125    { BOOST_WAVE_RET(T_MSEXT_PP_REGION); }
5126#line 5127 "strict_cpp_re.inc"
5127yy777:
5128    yych = *++YYCURSOR;
5129    if (yych == 'g') goto yy844;
5130    goto yy100;
5131yy778:
5132    yyaccept = 4;
5133    yych = *(YYMARKER = ++YYCURSOR);
5134    if (yych == 't') goto yy846;
5135    goto yy55;
5136yy779:
5137    yyaccept = 4;
5138    yych = *(YYMARKER = ++YYCURSOR);
5139    if (yych == 'l') goto yy848;
5140    goto yy55;
5141yy780:
5142    yyaccept = 73;
5143    yych = *(YYMARKER = ++YYCURSOR);
5144    if (yybm[256+yych] & 128) {
5145        goto yy54;
5146    }
5147    if (yych == '?') goto yy173;
5148    if (yych == '\\') goto yy174;
5149yy781:
5150#line 131 "strict_cpp.re"
5151    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT16 : T_IDENTIFIER); }
5152#line 5153 "strict_cpp_re.inc"
5153yy782:
5154    yyaccept = 74;
5155    yych = *(YYMARKER = ++YYCURSOR);
5156    if (yybm[256+yych] & 128) {
5157        goto yy54;
5158    }
5159    if (yych == '?') goto yy173;
5160    if (yych == '\\') goto yy174;
5161yy783:
5162#line 132 "strict_cpp.re"
5163    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT32 : T_IDENTIFIER); }
5164#line 5165 "strict_cpp_re.inc"
5165yy784:
5166    yyaccept = 75;
5167    yych = *(YYMARKER = ++YYCURSOR);
5168    if (yybm[256+yych] & 128) {
5169        goto yy54;
5170    }
5171    if (yych == '?') goto yy173;
5172    if (yych == '\\') goto yy174;
5173yy785:
5174#line 133 "strict_cpp.re"
5175    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INT64 : T_IDENTIFIER); }
5176#line 5177 "strict_cpp_re.inc"
5177yy786:
5178    yyaccept = 76;
5179    yych = *(YYMARKER = ++YYCURSOR);
5180    if (yybm[256+yych] & 128) {
5181        goto yy54;
5182    }
5183    if (yych == '?') goto yy173;
5184    if (yych == '\\') goto yy174;
5185yy787:
5186#line 142 "strict_cpp.re"
5187    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_LEAVE : T_IDENTIFIER); }
5188#line 5189 "strict_cpp_re.inc"
5189yy788:
5190    yyaccept = 4;
5191    yych = *(YYMARKER = ++YYCURSOR);
5192    if (yych == 'e') goto yy849;
5193    goto yy55;
5194yy789:
5195    yyaccept = 4;
5196    yych = *(YYMARKER = ++YYCURSOR);
5197    if (yych == 'l') goto yy850;
5198    goto yy55;
5199yy790:
5200    yyaccept = 77;
5201    yych = *(YYMARKER = ++YYCURSOR);
5202    if (yybm[256+yych] & 128) {
5203        goto yy54;
5204    }
5205    if (yych == '?') goto yy173;
5206    if (yych == '\\') goto yy174;
5207yy791:
5208#line 143 "strict_cpp.re"
5209    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_INLINE : T_IDENTIFIER); }
5210#line 5211 "strict_cpp_re.inc"
5211yy792:
5212    yyaccept = 4;
5213    yych = *(YYMARKER = ++YYCURSOR);
5214    if (yych == 'l') goto yy851;
5215    goto yy55;
5216yy793:
5217    yyaccept = 78;
5218    yych = *(YYMARKER = ++YYCURSOR);
5219    if (yybm[256+yych] & 128) {
5220        goto yy54;
5221    }
5222    if (yych == '?') goto yy173;
5223    if (yych == '\\') goto yy174;
5224yy794:
5225#line 47 "strict_cpp.re"
5226    { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_ALIGNAS : T_IDENTIFIER); }
5227#line 5228 "strict_cpp_re.inc"
5228yy795:
5229    yyaccept = 79;
5230    yych = *(YYMARKER = ++YYCURSOR);
5231    if (yybm[256+yych] & 128) {
5232        goto yy54;
5233    }
5234    if (yych == '?') goto yy173;
5235    if (yych == '\\') goto yy174;
5236yy796:
5237#line 48 "strict_cpp.re"
5238    { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_ALIGNOF : T_IDENTIFIER); }
5239#line 5240 "strict_cpp_re.inc"
5240yy797:
5241    yyaccept = 4;
5242    yych = *(YYMARKER = ++YYCURSOR);
5243    if (yych == 't') goto yy853;
5244    goto yy55;
5245yy798:
5246    yyaccept = 4;
5247    yych = *(YYMARKER = ++YYCURSOR);
5248    if (yych == 't') goto yy855;
5249    goto yy55;
5250yy799:
5251    yyaccept = 80;
5252    yych = *(YYMARKER = ++YYCURSOR);
5253    if (yybm[256+yych] & 128) {
5254        goto yy54;
5255    }
5256    if (yych == '?') goto yy173;
5257    if (yych == '\\') goto yy174;
5258yy800:
5259#line 56 "strict_cpp.re"
5260    { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CHAR8_T : T_IDENTIFIER); }
5261#line 5262 "strict_cpp_re.inc"
5262yy801:
5263    yyaccept = 4;
5264    yych = *(YYMARKER = ++YYCURSOR);
5265    if (yych == 't') goto yy857;
5266    goto yy55;
5267yy802:
5268    yyaccept = 4;
5269    yych = *(YYMARKER = ++YYCURSOR);
5270    if (yych == 'r') goto yy859;
5271    goto yy55;
5272yy803:
5273    yyaccept = 4;
5274    yych = *(YYMARKER = ++YYCURSOR);
5275    if (yych == 'd') goto yy860;
5276    goto yy55;
5277yy804:
5278    yyaccept = 81;
5279    yych = *(YYMARKER = ++YYCURSOR);
5280    if (yybm[256+yych] & 128) {
5281        goto yy54;
5282    }
5283    if (yych == '?') goto yy173;
5284    if (yych == '\\') goto yy174;
5285yy805:
5286#line 60 "strict_cpp.re"
5287    { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONCEPT : T_IDENTIFIER); }
5288#line 5289 "strict_cpp_re.inc"
5289yy806:
5290    yyaccept = 4;
5291    yych = *(YYMARKER = ++YYCURSOR);
5292    if (yych == 'a') goto yy862;
5293    goto yy55;
5294yy807:
5295    yyaccept = 4;
5296    yych = *(YYMARKER = ++YYCURSOR);
5297    if (yych == 'a') goto yy863;
5298    goto yy55;
5299yy808:
5300    yyaccept = 4;
5301    yych = *(YYMARKER = ++YYCURSOR);
5302    if (yych == 'p') goto yy864;
5303    goto yy55;
5304yy809:
5305    yyaccept = 4;
5306    yych = *(YYMARKER = ++YYCURSOR);
5307    if (yych == 'i') goto yy865;
5308    goto yy55;
5309yy810:
5310    yyaccept = 4;
5311    yych = *(YYMARKER = ++YYCURSOR);
5312    if (yych == 'e') goto yy866;
5313    goto yy55;
5314yy811:
5315    yyaccept = 4;
5316    yych = *(YYMARKER = ++YYCURSOR);
5317    if (yych == 'e') goto yy868;
5318    goto yy55;
5319yy812:
5320    yyaccept = 82;
5321    yych = *(YYMARKER = ++YYCURSOR);
5322    if (yybm[256+yych] & 128) {
5323        goto yy54;
5324    }
5325    if (yych == '?') goto yy173;
5326    if (yych == '\\') goto yy174;
5327yy813:
5328#line 71 "strict_cpp.re"
5329    { BOOST_WAVE_RET(T_DEFAULT); }
5330#line 5331 "strict_cpp_re.inc"
5331yy814:
5332    yyaccept = 4;
5333    yych = *(YYMARKER = ++YYCURSOR);
5334    if (yych == '_') goto yy870;
5335    goto yy55;
5336yy815:
5337    yyaccept = 4;
5338    yych = *(YYMARKER = ++YYCURSOR);
5339    if (yych == 't') goto yy871;
5340    goto yy55;
5341yy816:
5342    yyaccept = 83;
5343    yych = *(YYMARKER = ++YYCURSOR);
5344    if (yybm[256+yych] & 128) {
5345        goto yy54;
5346    }
5347    if (yych == '?') goto yy173;
5348    if (yych == '\\') goto yy174;
5349yy817:
5350#line 91 "strict_cpp.re"
5351    { BOOST_WAVE_RET(T_MUTABLE); }
5352#line 5353 "strict_cpp_re.inc"
5353yy818:
5354    yyaccept = 4;
5355    yych = *(YYMARKER = ++YYCURSOR);
5356    if (yych == 'c') goto yy873;
5357    goto yy55;
5358yy819:
5359    yyaccept = 4;
5360    yych = *(YYMARKER = ++YYCURSOR);
5361    if (yych == 't') goto yy874;
5362    goto yy55;
5363yy820:
5364    yyaccept = 84;
5365    yych = *(YYMARKER = ++YYCURSOR);
5366    if (yybm[256+yych] & 128) {
5367        goto yy54;
5368    }
5369    if (yych == '?') goto yy173;
5370    if (yych == '\\') goto yy174;
5371yy821:
5372#line 95 "strict_cpp.re"
5373    { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_NULLPTR : T_IDENTIFIER); }
5374#line 5375 "strict_cpp_re.inc"
5375yy822:
5376    yyaccept = 4;
5377    yych = *(YYMARKER = ++YYCURSOR);
5378    if (yych == 'r') goto yy876;
5379    goto yy55;
5380yy823:
5381    yyaccept = 85;
5382    yych = *(YYMARKER = ++YYCURSOR);
5383    if (yybm[256+yych] & 128) {
5384        goto yy54;
5385    }
5386    if (yych == '?') goto yy173;
5387    if (yych == '\\') goto yy174;
5388yy824:
5389#line 97 "strict_cpp.re"
5390    { BOOST_WAVE_RET(T_PRIVATE); }
5391#line 5392 "strict_cpp_re.inc"
5392yy825:
5393    yyaccept = 4;
5394    yych = *(YYMARKER = ++YYCURSOR);
5395    if (yych == 'e') goto yy878;
5396    goto yy55;
5397yy826:
5398    yyaccept = 4;
5399    yych = *(YYMARKER = ++YYCURSOR);
5400    if (yych == 'r') goto yy879;
5401    goto yy55;
5402yy827:
5403    yyaccept = 4;
5404    yych = *(YYMARKER = ++YYCURSOR);
5405    if (yych == 'p') goto yy881;
5406    goto yy55;
5407yy828:
5408    yyaccept = 4;
5409    yych = *(YYMARKER = ++YYCURSOR);
5410    if (yych == 's') goto yy882;
5411    goto yy55;
5412yy829:
5413    yyaccept = 4;
5414    yych = *(YYMARKER = ++YYCURSOR);
5415    if (yych == 'a') goto yy884;
5416    if (yych == 'c') goto yy885;
5417    goto yy55;
5418yy830:
5419    yyaccept = 4;
5420    yych = *(YYMARKER = ++YYCURSOR);
5421    if (yych == 'e') goto yy886;
5422    goto yy55;
5423yy831:
5424    yyaccept = 4;
5425    yych = *(YYMARKER = ++YYCURSOR);
5426    if (yych == 'l') goto yy888;
5427    goto yy55;
5428yy832:
5429    yyaccept = 86;
5430    yych = *(YYMARKER = ++YYCURSOR);
5431    if (yybm[256+yych] & 128) {
5432        goto yy54;
5433    }
5434    if (yych == '?') goto yy173;
5435    if (yych == '\\') goto yy174;
5436yy833:
5437#line 118 "strict_cpp.re"
5438    { BOOST_WAVE_RET(T_TYPEDEF); }
5439#line 5440 "strict_cpp_re.inc"
5440yy834:
5441    yyaccept = 4;
5442    yych = *(YYMARKER = ++YYCURSOR);
5443    if (yych == 'e') goto yy889;
5444    goto yy55;
5445yy835:
5446    yyaccept = 4;
5447    yych = *(YYMARKER = ++YYCURSOR);
5448    if (yych == 'd') goto yy891;
5449    goto yy55;
5450yy836:
5451    yyaccept = 87;
5452    yych = *(YYMARKER = ++YYCURSOR);
5453    if (yybm[256+yych] & 128) {
5454        goto yy54;
5455    }
5456    if (yych == '?') goto yy173;
5457    if (yych == '\\') goto yy174;
5458yy837:
5459#line 124 "strict_cpp.re"
5460    { BOOST_WAVE_RET(T_VIRTUAL); }
5461#line 5462 "strict_cpp_re.inc"
5462yy838:
5463    yyaccept = 4;
5464    yych = *(YYMARKER = ++YYCURSOR);
5465    if (yych == 'e') goto yy893;
5466    goto yy55;
5467yy839:
5468    yyaccept = 88;
5469    yych = *(YYMARKER = ++YYCURSOR);
5470    if (yybm[256+yych] & 128) {
5471        goto yy54;
5472    }
5473    if (yych == '?') goto yy173;
5474    if (yych == '\\') goto yy174;
5475yy840:
5476#line 127 "strict_cpp.re"
5477    { BOOST_WAVE_RET(T_WCHART); }
5478#line 5479 "strict_cpp_re.inc"
5479yy841:
5480    yych = *++YYCURSOR;
5481    if (yych == 'o') goto yy895;
5482    goto yy100;
5483yy842:
5484    yyaccept = 89;
5485    yych = *(YYMARKER = ++YYCURSOR);
5486    if (yych == '_') goto yy901;
5487    goto yy897;
5488yy843:
5489#line 323 "strict_cpp.re"
5490    { BOOST_WAVE_RET(T_PP_INCLUDE); }
5491#line 5492 "strict_cpp_re.inc"
5492yy844:
5493    ++YYCURSOR;
5494#line 337 "strict_cpp.re"
5495    { BOOST_WAVE_RET(T_PP_WARNING); }
5496#line 5497 "strict_cpp_re.inc"
5497yy846:
5498    yyaccept = 90;
5499    yych = *(YYMARKER = ++YYCURSOR);
5500    if (yybm[256+yych] & 128) {
5501        goto yy54;
5502    }
5503    if (yych == '?') goto yy173;
5504    if (yych == '\\') goto yy174;
5505yy847:
5506#line 140 "strict_cpp.re"
5507    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_EXCEPT : T_IDENTIFIER); }
5508#line 5509 "strict_cpp_re.inc"
5509yy848:
5510    yyaccept = 4;
5511    yych = *(YYMARKER = ++YYCURSOR);
5512    if (yych == 'y') goto yy902;
5513    goto yy55;
5514yy849:
5515    yyaccept = 4;
5516    yych = *(YYMARKER = ++YYCURSOR);
5517    if (yych == 'c') goto yy904;
5518    goto yy55;
5519yy850:
5520    yyaccept = 4;
5521    yych = *(YYMARKER = ++YYCURSOR);
5522    if (yych == 'l') goto yy906;
5523    goto yy55;
5524yy851:
5525    yyaccept = 91;
5526    yych = *(YYMARKER = ++YYCURSOR);
5527    if (yybm[256+yych] & 128) {
5528        goto yy54;
5529    }
5530    if (yych == '?') goto yy173;
5531    if (yych == '\\') goto yy174;
5532yy852:
5533#line 138 "strict_cpp.re"
5534    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_STDCALL : T_IDENTIFIER); }
5535#line 5536 "strict_cpp_re.inc"
5536yy853:
5537    yyaccept = 92;
5538    yych = *(YYMARKER = ++YYCURSOR);
5539    if (yybm[256+yych] & 128) {
5540        goto yy54;
5541    }
5542    if (yych == '?') goto yy173;
5543    if (yych == '\\') goto yy174;
5544yy854:
5545#line 57 "strict_cpp.re"
5546    { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR16_T : T_IDENTIFIER); }
5547#line 5548 "strict_cpp_re.inc"
5548yy855:
5549    yyaccept = 93;
5550    yych = *(YYMARKER = ++YYCURSOR);
5551    if (yybm[256+yych] & 128) {
5552        goto yy54;
5553    }
5554    if (yych == '?') goto yy173;
5555    if (yych == '\\') goto yy174;
5556yy856:
5557#line 58 "strict_cpp.re"
5558    { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CHAR32_T : T_IDENTIFIER); }
5559#line 5560 "strict_cpp_re.inc"
5560yy857:
5561    yyaccept = 94;
5562    yych = *(YYMARKER = ++YYCURSOR);
5563    if (yybm[256+yych] & 128) {
5564        goto yy54;
5565    }
5566    if (yych == '?') goto yy173;
5567    if (yych == '\\') goto yy174;
5568yy858:
5569#line 67 "strict_cpp.re"
5570    { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_AWAIT : T_IDENTIFIER); }
5571#line 5572 "strict_cpp_re.inc"
5572yy859:
5573    yyaccept = 4;
5574    yych = *(YYMARKER = ++YYCURSOR);
5575    if (yych == 'n') goto yy908;
5576    goto yy55;
5577yy860:
5578    yyaccept = 95;
5579    yych = *(YYMARKER = ++YYCURSOR);
5580    if (yybm[256+yych] & 128) {
5581        goto yy54;
5582    }
5583    if (yych == '?') goto yy173;
5584    if (yych == '\\') goto yy174;
5585yy861:
5586#line 69 "strict_cpp.re"
5587    { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_YIELD : T_IDENTIFIER); }
5588#line 5589 "strict_cpp_re.inc"
5589yy862:
5590    yyaccept = 4;
5591    yych = *(YYMARKER = ++YYCURSOR);
5592    if (yych == 's') goto yy910;
5593    goto yy55;
5594yy863:
5595    yyaccept = 4;
5596    yych = *(YYMARKER = ++YYCURSOR);
5597    if (yych == 'l') goto yy911;
5598    goto yy55;
5599yy864:
5600    yyaccept = 4;
5601    yych = *(YYMARKER = ++YYCURSOR);
5602    if (yych == 'r') goto yy913;
5603    goto yy55;
5604yy865:
5605    yyaccept = 4;
5606    yych = *(YYMARKER = ++YYCURSOR);
5607    if (yych == 't') goto yy915;
5608    goto yy55;
5609yy866:
5610    yyaccept = 96;
5611    yych = *(YYMARKER = ++YYCURSOR);
5612    if (yybm[256+yych] & 128) {
5613        goto yy54;
5614    }
5615    if (yych == '?') goto yy173;
5616    if (yych == '\\') goto yy174;
5617yy867:
5618#line 66 "strict_cpp.re"
5619    { BOOST_WAVE_RET(T_CONTINUE); }
5620#line 5621 "strict_cpp_re.inc"
5621yy868:
5622    yyaccept = 97;
5623    yych = *(YYMARKER = ++YYCURSOR);
5624    if (yybm[256+yych] & 128) {
5625        goto yy54;
5626    }
5627    if (yych == '?') goto yy173;
5628    if (yych == '\\') goto yy174;
5629yy869:
5630#line 70 "strict_cpp.re"
5631    { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_DECLTYPE : T_IDENTIFIER); }
5632#line 5633 "strict_cpp_re.inc"
5633yy870:
5634    yyaccept = 4;
5635    yych = *(YYMARKER = ++YYCURSOR);
5636    if (yych == 'c') goto yy917;
5637    goto yy55;
5638yy871:
5639    yyaccept = 98;
5640    yych = *(YYMARKER = ++YYCURSOR);
5641    if (yybm[256+yych] & 128) {
5642        goto yy54;
5643    }
5644    if (yych == '?') goto yy173;
5645    if (yych == '\\') goto yy174;
5646yy872:
5647#line 78 "strict_cpp.re"
5648    { BOOST_WAVE_RET(T_EXPLICIT); }
5649#line 5650 "strict_cpp_re.inc"
5650yy873:
5651    yyaccept = 4;
5652    yych = *(YYMARKER = ++YYCURSOR);
5653    if (yych == 'e') goto yy918;
5654    goto yy55;
5655yy874:
5656    yyaccept = 99;
5657    yych = *(YYMARKER = ++YYCURSOR);
5658    if (yybm[256+yych] & 128) {
5659        goto yy54;
5660    }
5661    if (yych == '?') goto yy173;
5662    if (yych == '\\') goto yy174;
5663yy875:
5664#line 94 "strict_cpp.re"
5665    { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_NOEXCEPT : T_IDENTIFIER); }
5666#line 5667 "strict_cpp_re.inc"
5667yy876:
5668    yyaccept = 100;
5669    yych = *(YYMARKER = ++YYCURSOR);
5670    if (yybm[256+yych] & 128) {
5671        goto yy54;
5672    }
5673    if (yych == '?') goto yy173;
5674    if (yych == '\\') goto yy174;
5675yy877:
5676#line 96 "strict_cpp.re"
5677    { BOOST_WAVE_RET(T_OPERATOR); }
5678#line 5679 "strict_cpp_re.inc"
5679yy878:
5680    yyaccept = 4;
5681    yych = *(YYMARKER = ++YYCURSOR);
5682    if (yych == 'd') goto yy920;
5683    goto yy55;
5684yy879:
5685    yyaccept = 101;
5686    yych = *(YYMARKER = ++YYCURSOR);
5687    if (yybm[256+yych] & 128) {
5688        goto yy54;
5689    }
5690    if (yych == '?') goto yy173;
5691    if (yych == '\\') goto yy174;
5692yy880:
5693#line 100 "strict_cpp.re"
5694    { BOOST_WAVE_RET(T_REGISTER); }
5695#line 5696 "strict_cpp_re.inc"
5696yy881:
5697    yyaccept = 4;
5698    yych = *(YYMARKER = ++YYCURSOR);
5699    if (yych == 'r') goto yy922;
5700    goto yy55;
5701yy882:
5702    yyaccept = 102;
5703    yych = *(YYMARKER = ++YYCURSOR);
5704    if (yybm[256+yych] & 128) {
5705        goto yy54;
5706    }
5707    if (yych == '?') goto yy173;
5708    if (yych == '\\') goto yy174;
5709yy883:
5710#line 102 "strict_cpp.re"
5711    { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_REQUIRES : T_IDENTIFIER); }
5712#line 5713 "strict_cpp_re.inc"
5713yy884:
5714    yyaccept = 4;
5715    yych = *(YYMARKER = ++YYCURSOR);
5716    if (yych == 's') goto yy923;
5717    goto yy55;
5718yy885:
5719    yyaccept = 4;
5720    yych = *(YYMARKER = ++YYCURSOR);
5721    if (yych == 'a') goto yy924;
5722    goto yy55;
5723yy886:
5724    yyaccept = 103;
5725    yych = *(YYMARKER = ++YYCURSOR);
5726    if (yybm[256+yych] & 128) {
5727        goto yy54;
5728    }
5729    if (yych == '?') goto yy173;
5730    if (yych == '\\') goto yy174;
5731yy887:
5732#line 112 "strict_cpp.re"
5733    { BOOST_WAVE_RET(T_TEMPLATE); }
5734#line 5735 "strict_cpp_re.inc"
5735yy888:
5736    yyaccept = 4;
5737    yych = *(YYMARKER = ++YYCURSOR);
5738    if (yych == 'o') goto yy925;
5739    goto yy55;
5740yy889:
5741    yyaccept = 104;
5742    yych = *(YYMARKER = ++YYCURSOR);
5743    if (yybm[256+yych] & 128) {
5744        goto yy54;
5745    }
5746    if (yych == '?') goto yy173;
5747    if (yych == '\\') goto yy174;
5748yy890:
5749#line 120 "strict_cpp.re"
5750    { BOOST_WAVE_RET(T_TYPENAME); }
5751#line 5752 "strict_cpp_re.inc"
5752yy891:
5753    yyaccept = 105;
5754    yych = *(YYMARKER = ++YYCURSOR);
5755    if (yybm[256+yych] & 128) {
5756        goto yy54;
5757    }
5758    if (yych == '?') goto yy173;
5759    if (yych == '\\') goto yy174;
5760yy892:
5761#line 122 "strict_cpp.re"
5762    { BOOST_WAVE_RET(T_UNSIGNED); }
5763#line 5764 "strict_cpp_re.inc"
5764yy893:
5765    yyaccept = 106;
5766    yych = *(YYMARKER = ++YYCURSOR);
5767    if (yybm[256+yych] & 128) {
5768        goto yy54;
5769    }
5770    if (yych == '?') goto yy173;
5771    if (yych == '\\') goto yy174;
5772yy894:
5773#line 126 "strict_cpp.re"
5774    { BOOST_WAVE_RET(T_VOLATILE); }
5775#line 5776 "strict_cpp_re.inc"
5776yy895:
5777    yych = *++YYCURSOR;
5778    if (yych == 'n') goto yy926;
5779    goto yy100;
5780yy896:
5781    yyaccept = 89;
5782    YYMARKER = ++YYCURSOR;
5783    if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
5784    yych = *YYCURSOR;
5785yy897:
5786    if (yych <= ' ') {
5787        if (yych <= '\n') {
5788            if (yych == '\t') goto yy896;
5789            goto yy843;
5790        } else {
5791            if (yych <= '\f') goto yy896;
5792            if (yych <= 0x1F) goto yy843;
5793            goto yy896;
5794        }
5795    } else {
5796        if (yych <= '.') {
5797            if (yych != '"') goto yy843;
5798        } else {
5799            if (yych <= '/') goto yy899;
5800            if (yych == '<') goto yy900;
5801            goto yy843;
5802        }
5803    }
5804    yych = *++YYCURSOR;
5805    if (yych == '"') goto yy100;
5806    goto yy929;
5807yy899:
5808    ++YYCURSOR;
5809    if (YYLIMIT <= YYCURSOR) YYFILL(1);
5810    yych = *YYCURSOR;
5811    if (yych == '*') goto yy930;
5812    goto yy100;
5813yy900:
5814    yych = *++YYCURSOR;
5815    if (yych == '>') goto yy100;
5816    goto yy933;
5817yy901:
5818    yych = *++YYCURSOR;
5819    if (yych == 'n') goto yy934;
5820    goto yy100;
5821yy902:
5822    yyaccept = 107;
5823    yych = *(YYMARKER = ++YYCURSOR);
5824    if (yybm[256+yych] & 128) {
5825        goto yy54;
5826    }
5827    if (yych == '?') goto yy173;
5828    if (yych == '\\') goto yy174;
5829yy903:
5830#line 141 "strict_cpp.re"
5831    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_FINALLY : T_IDENTIFIER); }
5832#line 5833 "strict_cpp_re.inc"
5833yy904:
5834    yyaccept = 108;
5835    yych = *(YYMARKER = ++YYCURSOR);
5836    if (yybm[256+yych] & 128) {
5837        goto yy54;
5838    }
5839    if (yych == '?') goto yy173;
5840    if (yych == '\\') goto yy174;
5841yy905:
5842#line 135 "strict_cpp.re"
5843    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_DECLSPEC : T_IDENTIFIER); }
5844#line 5845 "strict_cpp_re.inc"
5845yy906:
5846    yyaccept = 109;
5847    yych = *(YYMARKER = ++YYCURSOR);
5848    if (yybm[256+yych] & 128) {
5849        goto yy54;
5850    }
5851    if (yych == '?') goto yy173;
5852    if (yych == '\\') goto yy174;
5853yy907:
5854#line 137 "strict_cpp.re"
5855    { BOOST_WAVE_RET(s->enable_ms_extensions ? T_MSEXT_FASTCALL : T_IDENTIFIER); }
5856#line 5857 "strict_cpp_re.inc"
5857yy908:
5858    yyaccept = 110;
5859    yych = *(YYMARKER = ++YYCURSOR);
5860    if (yybm[256+yych] & 128) {
5861        goto yy54;
5862    }
5863    if (yych == '?') goto yy173;
5864    if (yych == '\\') goto yy174;
5865yy909:
5866#line 68 "strict_cpp.re"
5867    { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CO_RETURN : T_IDENTIFIER); }
5868#line 5869 "strict_cpp_re.inc"
5869yy910:
5870    yyaccept = 4;
5871    yych = *(YYMARKER = ++YYCURSOR);
5872    if (yych == 't') goto yy935;
5873    goto yy55;
5874yy911:
5875    yyaccept = 111;
5876    yych = *(YYMARKER = ++YYCURSOR);
5877    if (yybm[256+yych] & 128) {
5878        goto yy54;
5879    }
5880    if (yych == '?') goto yy173;
5881    if (yych == '\\') goto yy174;
5882yy912:
5883#line 62 "strict_cpp.re"
5884    { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTEVAL : T_IDENTIFIER); }
5885#line 5886 "strict_cpp_re.inc"
5886yy913:
5887    yyaccept = 112;
5888    yych = *(YYMARKER = ++YYCURSOR);
5889    if (yybm[256+yych] & 128) {
5890        goto yy54;
5891    }
5892    if (yych == '?') goto yy173;
5893    if (yych == '\\') goto yy174;
5894yy914:
5895#line 63 "strict_cpp.re"
5896    { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_CONSTEXPR : T_IDENTIFIER); }
5897#line 5898 "strict_cpp_re.inc"
5898yy915:
5899    yyaccept = 113;
5900    yych = *(YYMARKER = ++YYCURSOR);
5901    if (yybm[256+yych] & 128) {
5902        goto yy54;
5903    }
5904    if (yych == '?') goto yy173;
5905    if (yych == '\\') goto yy174;
5906yy916:
5907#line 64 "strict_cpp.re"
5908    { BOOST_WAVE_RET(s->act_in_cpp2a_mode ? T_CONSTINIT : T_IDENTIFIER); }
5909#line 5910 "strict_cpp_re.inc"
5910yy917:
5911    yyaccept = 4;
5912    yych = *(YYMARKER = ++YYCURSOR);
5913    if (yych == 'a') goto yy937;
5914    goto yy55;
5915yy918:
5916    yyaccept = 114;
5917    yych = *(YYMARKER = ++YYCURSOR);
5918    if (yybm[256+yych] & 128) {
5919        goto yy54;
5920    }
5921    if (yych == '?') goto yy173;
5922    if (yych == '\\') goto yy174;
5923yy919:
5924#line 92 "strict_cpp.re"
5925    { BOOST_WAVE_RET(T_NAMESPACE); }
5926#line 5927 "strict_cpp_re.inc"
5927yy920:
5928    yyaccept = 115;
5929    yych = *(YYMARKER = ++YYCURSOR);
5930    if (yybm[256+yych] & 128) {
5931        goto yy54;
5932    }
5933    if (yych == '?') goto yy173;
5934    if (yych == '\\') goto yy174;
5935yy921:
5936#line 98 "strict_cpp.re"
5937    { BOOST_WAVE_RET(T_PROTECTED); }
5938#line 5939 "strict_cpp_re.inc"
5939yy922:
5940    yyaccept = 4;
5941    yych = *(YYMARKER = ++YYCURSOR);
5942    if (yych == 'e') goto yy938;
5943    goto yy55;
5944yy923:
5945    yyaccept = 4;
5946    yych = *(YYMARKER = ++YYCURSOR);
5947    if (yych == 's') goto yy939;
5948    goto yy55;
5949yy924:
5950    yyaccept = 4;
5951    yych = *(YYMARKER = ++YYCURSOR);
5952    if (yych == 's') goto yy940;
5953    goto yy55;
5954yy925:
5955    yyaccept = 4;
5956    yych = *(YYMARKER = ++YYCURSOR);
5957    if (yych == 'c') goto yy941;
5958    goto yy55;
5959yy926:
5960    ++YYCURSOR;
5961#line 340 "strict_cpp.re"
5962    { BOOST_WAVE_RET(T_MSEXT_PP_ENDREGION); }
5963#line 5964 "strict_cpp_re.inc"
5964yy928:
5965    ++YYCURSOR;
5966    if (YYLIMIT <= YYCURSOR) YYFILL(1);
5967    yych = *YYCURSOR;
5968yy929:
5969    if (yybm[0+yych] & 64) {
5970        goto yy928;
5971    }
5972    if (yych <= 0x1F) goto yy100;
5973    goto yy942;
5974yy930:
5975    ++YYCURSOR;
5976    if (YYLIMIT <= YYCURSOR) YYFILL(1);
5977    yych = *YYCURSOR;
5978    if (yych <= 0x1F) {
5979        if (yych <= 0x08) goto yy100;
5980        if (yych <= '\r') goto yy930;
5981        goto yy100;
5982    } else {
5983        if (yych == '*') goto yy944;
5984        goto yy930;
5985    }
5986yy932:
5987    ++YYCURSOR;
5988    if (YYLIMIT <= YYCURSOR) YYFILL(1);
5989    yych = *YYCURSOR;
5990yy933:
5991    if (yybm[0+yych] & 128) {
5992        goto yy932;
5993    }
5994    if (yych <= 0x1F) goto yy100;
5995    goto yy946;
5996yy934:
5997    yych = *++YYCURSOR;
5998    if (yych == 'e') goto yy948;
5999    goto yy100;
6000yy935:
6001    yyaccept = 116;
6002    yych = *(YYMARKER = ++YYCURSOR);
6003    if (yybm[256+yych] & 128) {
6004        goto yy54;
6005    }
6006    if (yych == '?') goto yy173;
6007    if (yych == '\\') goto yy174;
6008yy936:
6009#line 65 "strict_cpp.re"
6010    { BOOST_WAVE_RET(T_CONSTCAST); }
6011#line 6012 "strict_cpp_re.inc"
6012yy937:
6013    yyaccept = 4;
6014    yych = *(YYMARKER = ++YYCURSOR);
6015    if (yych == 's') goto yy949;
6016    goto yy55;
6017yy938:
6018    yyaccept = 4;
6019    yych = *(YYMARKER = ++YYCURSOR);
6020    if (yych == 't') goto yy950;
6021    goto yy55;
6022yy939:
6023    yyaccept = 4;
6024    yych = *(YYMARKER = ++YYCURSOR);
6025    if (yych == 'e') goto yy951;
6026    goto yy55;
6027yy940:
6028    yyaccept = 4;
6029    yych = *(YYMARKER = ++YYCURSOR);
6030    if (yych == 't') goto yy952;
6031    goto yy55;
6032yy941:
6033    yyaccept = 4;
6034    yych = *(YYMARKER = ++YYCURSOR);
6035    if (yych == 'a') goto yy954;
6036    goto yy55;
6037yy942:
6038    ++YYCURSOR;
6039#line 320 "strict_cpp.re"
6040    { BOOST_WAVE_RET(T_PP_QHEADER); }
6041#line 6042 "strict_cpp_re.inc"
6042yy944:
6043    ++YYCURSOR;
6044    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6045    yych = *YYCURSOR;
6046    if (yych <= ')') {
6047        if (yych <= 0x08) goto yy100;
6048        if (yych <= '\r') goto yy930;
6049        if (yych <= 0x1F) goto yy100;
6050        goto yy930;
6051    } else {
6052        if (yych <= '*') goto yy944;
6053        if (yych == '/') goto yy896;
6054        goto yy930;
6055    }
6056yy946:
6057    ++YYCURSOR;
6058#line 317 "strict_cpp.re"
6059    { BOOST_WAVE_RET(T_PP_HHEADER); }
6060#line 6061 "strict_cpp_re.inc"
6061yy948:
6062    yych = *++YYCURSOR;
6063    if (yych == 'x') goto yy955;
6064    goto yy100;
6065yy949:
6066    yyaccept = 4;
6067    yych = *(YYMARKER = ++YYCURSOR);
6068    if (yych == 't') goto yy956;
6069    goto yy55;
6070yy950:
6071    yyaccept = 4;
6072    yych = *(YYMARKER = ++YYCURSOR);
6073    if (yych == '_') goto yy958;
6074    goto yy55;
6075yy951:
6076    yyaccept = 4;
6077    yych = *(YYMARKER = ++YYCURSOR);
6078    if (yych == 'r') goto yy959;
6079    goto yy55;
6080yy952:
6081    yyaccept = 117;
6082    yych = *(YYMARKER = ++YYCURSOR);
6083    if (yybm[256+yych] & 128) {
6084        goto yy54;
6085    }
6086    if (yych == '?') goto yy173;
6087    if (yych == '\\') goto yy174;
6088yy953:
6089#line 108 "strict_cpp.re"
6090    { BOOST_WAVE_RET(T_STATICCAST); }
6091#line 6092 "strict_cpp_re.inc"
6092yy954:
6093    yyaccept = 4;
6094    yych = *(YYMARKER = ++YYCURSOR);
6095    if (yych == 'l') goto yy960;
6096    goto yy55;
6097yy955:
6098    yych = *++YYCURSOR;
6099    if (yych == 't') goto yy896;
6100    goto yy100;
6101yy956:
6102    yyaccept = 118;
6103    yych = *(YYMARKER = ++YYCURSOR);
6104    if (yybm[256+yych] & 128) {
6105        goto yy54;
6106    }
6107    if (yych == '?') goto yy173;
6108    if (yych == '\\') goto yy174;
6109yy957:
6110#line 75 "strict_cpp.re"
6111    { BOOST_WAVE_RET(T_DYNAMICCAST); }
6112#line 6113 "strict_cpp_re.inc"
6113yy958:
6114    yyaccept = 4;
6115    yych = *(YYMARKER = ++YYCURSOR);
6116    if (yych == 'c') goto yy962;
6117    goto yy55;
6118yy959:
6119    yyaccept = 4;
6120    yych = *(YYMARKER = ++YYCURSOR);
6121    if (yych == 't') goto yy963;
6122    goto yy55;
6123yy960:
6124    yyaccept = 119;
6125    yych = *(YYMARKER = ++YYCURSOR);
6126    if (yybm[256+yych] & 128) {
6127        goto yy54;
6128    }
6129    if (yych == '?') goto yy173;
6130    if (yych == '\\') goto yy174;
6131yy961:
6132#line 114 "strict_cpp.re"
6133    { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_THREADLOCAL : T_IDENTIFIER); }
6134#line 6135 "strict_cpp_re.inc"
6135yy962:
6136    yyaccept = 4;
6137    yych = *(YYMARKER = ++YYCURSOR);
6138    if (yych == 'a') goto yy965;
6139    goto yy55;
6140yy963:
6141    yyaccept = 120;
6142    yych = *(YYMARKER = ++YYCURSOR);
6143    if (yybm[256+yych] & 128) {
6144        goto yy54;
6145    }
6146    if (yych == '?') goto yy173;
6147    if (yych == '\\') goto yy174;
6148yy964:
6149#line 109 "strict_cpp.re"
6150    { BOOST_WAVE_RET(s->act_in_cpp0x_mode ? T_STATICASSERT : T_IDENTIFIER); }
6151#line 6152 "strict_cpp_re.inc"
6152yy965:
6153    yyaccept = 4;
6154    yych = *(YYMARKER = ++YYCURSOR);
6155    if (yych != 's') goto yy55;
6156    yyaccept = 4;
6157    yych = *(YYMARKER = ++YYCURSOR);
6158    if (yych != 't') goto yy55;
6159    yyaccept = 121;
6160    yych = *(YYMARKER = ++YYCURSOR);
6161    if (yybm[256+yych] & 128) {
6162        goto yy54;
6163    }
6164    if (yych == '?') goto yy173;
6165    if (yych == '\\') goto yy174;
6166yy968:
6167#line 101 "strict_cpp.re"
6168    { BOOST_WAVE_RET(T_REINTERPRETCAST); }
6169#line 6170 "strict_cpp_re.inc"
6170}
6171#line 372 "strict_cpp.re"
6172
6173
6174ccomment:
6175
6176#line 6177 "strict_cpp_re.inc"
6177{
6178    YYCTYPE yych;
6179    if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
6180    yych = *YYCURSOR;
6181    if (yych <= '\f') {
6182        if (yych <= 0x08) {
6183            if (yych >= 0x01) goto yy973;
6184        } else {
6185            if (yych == '\n') goto yy977;
6186            goto yy975;
6187        }
6188    } else {
6189        if (yych <= 0x1F) {
6190            if (yych <= '\r') goto yy979;
6191            goto yy973;
6192        } else {
6193            if (yych == '*') goto yy980;
6194            goto yy975;
6195        }
6196    }
6197    ++YYCURSOR;
6198#line 390 "strict_cpp.re"
6199    {
6200        if(cursor == s->eof)
6201        {
6202            BOOST_WAVE_UPDATE_CURSOR();   // adjust the input cursor
6203            (*s->error_proc)(s, lexing_exception::generic_lexing_warning,
6204                "Unterminated 'C' style comment");
6205        }
6206        else
6207        {
6208            --YYCURSOR;                   // next call returns T_EOF
6209            BOOST_WAVE_UPDATE_CURSOR();   // adjust the input cursor
6210            (*s->error_proc)(s, lexing_exception::generic_lexing_error,
6211                "invalid character: '\\000' in input stream");
6212        }
6213    }
6214#line 6215 "strict_cpp_re.inc"
6215yy973:
6216    ++YYCURSOR;
6217#line 407 "strict_cpp.re"
6218    {
6219        // flag the error
6220        BOOST_WAVE_UPDATE_CURSOR();   // adjust the input cursor
6221        (*s->error_proc)(s, lexing_exception::generic_lexing_error,
6222            "invalid character '\\%03o' in input stream", *--YYCURSOR);
6223    }
6224#line 6225 "strict_cpp_re.inc"
6225yy975:
6226    ++YYCURSOR;
6227yy976:
6228#line 387 "strict_cpp.re"
6229    { goto ccomment; }
6230#line 6231 "strict_cpp_re.inc"
6231yy977:
6232    ++YYCURSOR;
6233yy978:
6234#line 379 "strict_cpp.re"
6235    {
6236        /*if(cursor == s->eof) BOOST_WAVE_RET(T_EOF);*/
6237        /*s->tok = cursor; */
6238        s->line += count_backslash_newlines(s, cursor) +1;
6239        cursor.column = 1;
6240        goto ccomment;
6241    }
6242#line 6243 "strict_cpp_re.inc"
6243yy979:
6244    yych = *++YYCURSOR;
6245    if (yych == '\n') goto yy977;
6246    goto yy978;
6247yy980:
6248    yych = *++YYCURSOR;
6249    if (yych != '/') goto yy976;
6250    ++YYCURSOR;
6251#line 376 "strict_cpp.re"
6252    { BOOST_WAVE_RET(T_CCOMMENT); }
6253#line 6254 "strict_cpp_re.inc"
6254}
6255#line 413 "strict_cpp.re"
6256
6257
6258cppcomment:
6259
6260#line 6261 "strict_cpp_re.inc"
6261{
6262    YYCTYPE yych;
6263    if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
6264    yych = *YYCURSOR;
6265    if (yych <= '\n') {
6266        if (yych <= 0x00) goto yy985;
6267        if (yych <= 0x08) goto yy987;
6268        if (yych <= '\t') goto yy989;
6269        goto yy991;
6270    } else {
6271        if (yych <= '\f') goto yy989;
6272        if (yych <= '\r') goto yy993;
6273        if (yych <= 0x1F) goto yy987;
6274        goto yy989;
6275    }
6276yy985:
6277    ++YYCURSOR;
6278#line 429 "strict_cpp.re"
6279    {
6280        if (s->eof && cursor != s->eof)
6281        {
6282            --YYCURSOR;                     // next call returns T_EOF
6283            BOOST_WAVE_UPDATE_CURSOR();     // adjust the input cursor
6284            (*s->error_proc)(s, lexing_exception::generic_lexing_error,
6285                "invalid character '\\000' in input stream");
6286        }
6287
6288        --YYCURSOR;                         // next call returns T_EOF
6289        if (!s->single_line_only)
6290        {
6291            BOOST_WAVE_UPDATE_CURSOR();     // adjust the input cursor
6292            (*s->error_proc)(s, lexing_exception::generic_lexing_warning,
6293                "Unterminated 'C++' style comment");
6294        }
6295        BOOST_WAVE_RET(T_CPPCOMMENT);
6296    }
6297#line 6298 "strict_cpp_re.inc"
6298yy987:
6299    ++YYCURSOR;
6300#line 449 "strict_cpp.re"
6301    {
6302        // flag the error
6303        BOOST_WAVE_UPDATE_CURSOR();     // adjust the input cursor
6304        (*s->error_proc)(s, lexing_exception::generic_lexing_error,
6305            "invalid character '\\%03o' in input stream", *--YYCURSOR);
6306    }
6307#line 6308 "strict_cpp_re.inc"
6308yy989:
6309    ++YYCURSOR;
6310#line 426 "strict_cpp.re"
6311    { goto cppcomment; }
6312#line 6313 "strict_cpp_re.inc"
6313yy991:
6314    ++YYCURSOR;
6315yy992:
6316#line 418 "strict_cpp.re"
6317    {
6318        /*if(cursor == s->eof) BOOST_WAVE_RET(T_EOF); */
6319        /*s->tok = cursor; */
6320        s->line++;
6321        cursor.column = 1;
6322        BOOST_WAVE_RET(T_CPPCOMMENT);
6323    }
6324#line 6325 "strict_cpp_re.inc"
6325yy993:
6326    yych = *++YYCURSOR;
6327    if (yych == '\n') goto yy991;
6328    goto yy992;
6329}
6330#line 455 "strict_cpp.re"
6331
6332
6333/* this subscanner is called whenever a pp_number has been started */
6334pp_number:
6335{
6336    cursor = uchar_wrapper(s->tok = s->cur, s->column = s->curr_column);
6337    marker = uchar_wrapper(s->ptr);
6338    limit = uchar_wrapper(s->lim);
6339
6340    if (s->detect_pp_numbers) {
6341
6342#line 6343 "strict_cpp_re.inc"
6343{
6344    YYCTYPE yych;
6345    static const unsigned char yybm[] = {
6346          0,   0,   0,   0,   0,   0,   0,   0,
6347          0,   0,   0,   0,   0,   0,   0,   0,
6348          0,   0,   0,   0,   0,   0,   0,   0,
6349          0,   0,   0,   0,   0,   0,   0,   0,
6350          0,   0,   0,   0,   0,   0,   0,   0,
6351          0,   0,   0,   0,   0,   0,  64,   0,
6352         64,  64,  64,  64,  64,  64,  64,  64,
6353         64,  64,   0,   0,   0,   0,   0,   0,
6354          0,  64,  64,  64,  64, 128,  64,  64,
6355         64,  64,  64,  64,  64,  64,  64,  64,
6356         64,  64,  64,  64,  64,  64,  64,  64,
6357         64,  64,  64,   0,   0,   0,   0,  64,
6358          0,  64,  64,  64,  64, 128,  64,  64,
6359         64,  64,  64,  64,  64,  64,  64,  64,
6360         64,  64,  64,  64,  64,  64,  64,  64,
6361         64,  64,  64,   0,   0,   0,   0,   0,
6362          0,   0,   0,   0,   0,   0,   0,   0,
6363          0,   0,   0,   0,   0,   0,   0,   0,
6364          0,   0,   0,   0,   0,   0,   0,   0,
6365          0,   0,   0,   0,   0,   0,   0,   0,
6366          0,   0,   0,   0,   0,   0,   0,   0,
6367          0,   0,   0,   0,   0,   0,   0,   0,
6368          0,   0,   0,   0,   0,   0,   0,   0,
6369          0,   0,   0,   0,   0,   0,   0,   0,
6370          0,   0,   0,   0,   0,   0,   0,   0,
6371          0,   0,   0,   0,   0,   0,   0,   0,
6372          0,   0,   0,   0,   0,   0,   0,   0,
6373          0,   0,   0,   0,   0,   0,   0,   0,
6374          0,   0,   0,   0,   0,   0,   0,   0,
6375          0,   0,   0,   0,   0,   0,   0,   0,
6376          0,   0,   0,   0,   0,   0,   0,   0,
6377          0,   0,   0,   0,   0,   0,   0,   0,
6378    };
6379    if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
6380    yych = *YYCURSOR;
6381    if (yych == '.') goto yy998;
6382    if (yych <= '/') goto yy996;
6383    if (yych <= '9') goto yy999;
6384yy996:
6385    ++YYCURSOR;
6386yy997:
6387#line 469 "strict_cpp.re"
6388    { BOOST_ASSERT(false); }
6389#line 6390 "strict_cpp_re.inc"
6390yy998:
6391    yych = *++YYCURSOR;
6392    if (yych <= '/') goto yy997;
6393    if (yych >= ':') goto yy997;
6394yy999:
6395    YYMARKER = ++YYCURSOR;
6396    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6397    yych = *YYCURSOR;
6398    if (yybm[0+yych] & 64) {
6399        goto yy999;
6400    }
6401    if (yych <= 'E') {
6402        if (yych == '?') goto yy1002;
6403        if (yych >= 'A') goto yy1004;
6404    } else {
6405        if (yych <= '\\') {
6406            if (yych >= '\\') goto yy1006;
6407        } else {
6408            if (yych <= '`') goto yy1001;
6409            if (yych <= 'e') goto yy1004;
6410        }
6411    }
6412yy1001:
6413#line 467 "strict_cpp.re"
6414    { BOOST_WAVE_RET(T_PP_NUMBER); }
6415#line 6416 "strict_cpp_re.inc"
6416yy1002:
6417    ++YYCURSOR;
6418    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6419    yych = *YYCURSOR;
6420    if (yych == '?') goto yy1007;
6421yy1003:
6422    YYCURSOR = YYMARKER;
6423    goto yy1001;
6424yy1004:
6425    YYMARKER = ++YYCURSOR;
6426    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6427    yych = *YYCURSOR;
6428    if (yybm[0+yych] & 128) {
6429        goto yy1004;
6430    }
6431    if (yych <= '?') {
6432        if (yych <= '.') {
6433            if (yych == '+') goto yy999;
6434            if (yych <= ',') goto yy1001;
6435            goto yy999;
6436        } else {
6437            if (yych <= '/') goto yy1001;
6438            if (yych <= '9') goto yy999;
6439            if (yych <= '>') goto yy1001;
6440            goto yy1002;
6441        }
6442    } else {
6443        if (yych <= '\\') {
6444            if (yych <= '@') goto yy1001;
6445            if (yych <= 'Z') goto yy999;
6446            if (yych <= '[') goto yy1001;
6447        } else {
6448            if (yych <= '_') {
6449                if (yych <= '^') goto yy1001;
6450                goto yy999;
6451            } else {
6452                if (yych <= '`') goto yy1001;
6453                if (yych <= 'z') goto yy999;
6454                goto yy1001;
6455            }
6456        }
6457    }
6458yy1006:
6459    ++YYCURSOR;
6460    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6461    yych = *YYCURSOR;
6462    if (yych == 'U') goto yy1008;
6463    if (yych == 'u') goto yy1009;
6464    goto yy1003;
6465yy1007:
6466    ++YYCURSOR;
6467    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6468    yych = *YYCURSOR;
6469    if (yych == '/') goto yy1006;
6470    goto yy1003;
6471yy1008:
6472    ++YYCURSOR;
6473    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6474    yych = *YYCURSOR;
6475    if (yych <= '@') {
6476        if (yych <= '/') goto yy1003;
6477        if (yych <= '9') goto yy1010;
6478        goto yy1003;
6479    } else {
6480        if (yych <= 'F') goto yy1010;
6481        if (yych <= '`') goto yy1003;
6482        if (yych <= 'f') goto yy1010;
6483        goto yy1003;
6484    }
6485yy1009:
6486    ++YYCURSOR;
6487    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6488    yych = *YYCURSOR;
6489    if (yych <= '@') {
6490        if (yych <= '/') goto yy1003;
6491        if (yych <= '9') goto yy1011;
6492        goto yy1003;
6493    } else {
6494        if (yych <= 'F') goto yy1011;
6495        if (yych <= '`') goto yy1003;
6496        if (yych <= 'f') goto yy1011;
6497        goto yy1003;
6498    }
6499yy1010:
6500    ++YYCURSOR;
6501    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6502    yych = *YYCURSOR;
6503    if (yych <= '@') {
6504        if (yych <= '/') goto yy1003;
6505        if (yych <= '9') goto yy1012;
6506        goto yy1003;
6507    } else {
6508        if (yych <= 'F') goto yy1012;
6509        if (yych <= '`') goto yy1003;
6510        if (yych <= 'f') goto yy1012;
6511        goto yy1003;
6512    }
6513yy1011:
6514    ++YYCURSOR;
6515    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6516    yych = *YYCURSOR;
6517    if (yych <= '@') {
6518        if (yych <= '/') goto yy1003;
6519        if (yych <= '9') goto yy1013;
6520        goto yy1003;
6521    } else {
6522        if (yych <= 'F') goto yy1013;
6523        if (yych <= '`') goto yy1003;
6524        if (yych <= 'f') goto yy1013;
6525        goto yy1003;
6526    }
6527yy1012:
6528    ++YYCURSOR;
6529    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6530    yych = *YYCURSOR;
6531    if (yych <= '@') {
6532        if (yych <= '/') goto yy1003;
6533        if (yych <= '9') goto yy1014;
6534        goto yy1003;
6535    } else {
6536        if (yych <= 'F') goto yy1014;
6537        if (yych <= '`') goto yy1003;
6538        if (yych <= 'f') goto yy1014;
6539        goto yy1003;
6540    }
6541yy1013:
6542    ++YYCURSOR;
6543    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6544    yych = *YYCURSOR;
6545    if (yych <= '@') {
6546        if (yych <= '/') goto yy1003;
6547        if (yych <= '9') goto yy1015;
6548        goto yy1003;
6549    } else {
6550        if (yych <= 'F') goto yy1015;
6551        if (yych <= '`') goto yy1003;
6552        if (yych <= 'f') goto yy1015;
6553        goto yy1003;
6554    }
6555yy1014:
6556    ++YYCURSOR;
6557    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6558    yych = *YYCURSOR;
6559    if (yych <= '@') {
6560        if (yych <= '/') goto yy1003;
6561        if (yych <= '9') goto yy1009;
6562        goto yy1003;
6563    } else {
6564        if (yych <= 'F') goto yy1009;
6565        if (yych <= '`') goto yy1003;
6566        if (yych <= 'f') goto yy1009;
6567        goto yy1003;
6568    }
6569yy1015:
6570    ++YYCURSOR;
6571    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6572    yych = *YYCURSOR;
6573    if (yych <= '@') {
6574        if (yych <= '/') goto yy1003;
6575        if (yych <= '9') goto yy999;
6576        goto yy1003;
6577    } else {
6578        if (yych <= 'F') goto yy999;
6579        if (yych <= '`') goto yy1003;
6580        if (yych <= 'f') goto yy999;
6581        goto yy1003;
6582    }
6583}
6584#line 470 "strict_cpp.re"
6585
6586    }
6587    else {
6588
6589#line 6590 "strict_cpp_re.inc"
6590{
6591    YYCTYPE yych;
6592    unsigned int yyaccept = 0;
6593    static const unsigned char yybm[] = {
6594          0,   0,   0,   0,   0,   0,   0,   0,
6595          0,   0,   0,   0,   0,   0,   0,   0,
6596          0,   0,   0,   0,   0,   0,   0,   0,
6597          0,   0,   0,   0,   0,   0,   0,   0,
6598          0,   0,   0,   0,   0,   0,   0,   0,
6599          0,   0,   0,   0,   0,   0,   0,   0,
6600        224, 224, 224, 224, 224, 224, 224, 224,
6601        160, 160,   0,   0,   0,   0,   0,   0,
6602          0, 128, 128, 128, 128, 128, 128,   0,
6603          0,   0,   0,   0,   0,   0,   0,   0,
6604          0,   0,   0,   0,   0,   0,   0,   0,
6605          0,   0,   0,   0,   0,   0,   0,   0,
6606          0, 128, 128, 128, 128, 128, 128,   0,
6607          0,   0,   0,   0,   0,   0,   0,   0,
6608          0,   0,   0,   0,   0,   0,   0,   0,
6609          0,   0,   0,   0,   0,   0,   0,   0,
6610          0,   0,   0,   0,   0,   0,   0,   0,
6611          0,   0,   0,   0,   0,   0,   0,   0,
6612          0,   0,   0,   0,   0,   0,   0,   0,
6613          0,   0,   0,   0,   0,   0,   0,   0,
6614          0,   0,   0,   0,   0,   0,   0,   0,
6615          0,   0,   0,   0,   0,   0,   0,   0,
6616          0,   0,   0,   0,   0,   0,   0,   0,
6617          0,   0,   0,   0,   0,   0,   0,   0,
6618          0,   0,   0,   0,   0,   0,   0,   0,
6619          0,   0,   0,   0,   0,   0,   0,   0,
6620          0,   0,   0,   0,   0,   0,   0,   0,
6621          0,   0,   0,   0,   0,   0,   0,   0,
6622          0,   0,   0,   0,   0,   0,   0,   0,
6623          0,   0,   0,   0,   0,   0,   0,   0,
6624          0,   0,   0,   0,   0,   0,   0,   0,
6625          0,   0,   0,   0,   0,   0,   0,   0,
6626    };
6627    if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
6628    yych = *YYCURSOR;
6629    if (yych <= '/') {
6630        if (yych == '.') goto yy1020;
6631    } else {
6632        if (yych <= '0') goto yy1021;
6633        if (yych <= '9') goto yy1023;
6634    }
6635    ++YYCURSOR;
6636yy1019:
6637#line 479 "strict_cpp.re"
6638    { BOOST_ASSERT(false); }
6639#line 6640 "strict_cpp_re.inc"
6640yy1020:
6641    yych = *++YYCURSOR;
6642    if (yych <= '/') goto yy1019;
6643    if (yych <= '9') goto yy1025;
6644    goto yy1019;
6645yy1021:
6646    yyaccept = 0;
6647    yych = *(YYMARKER = ++YYCURSOR);
6648    if (yych == 'X') goto yy1034;
6649    if (yych == 'x') goto yy1034;
6650    goto yy1029;
6651yy1022:
6652#line 477 "strict_cpp.re"
6653    { goto integer_suffix; }
6654#line 6655 "strict_cpp_re.inc"
6655yy1023:
6656    yyaccept = 0;
6657    YYMARKER = ++YYCURSOR;
6658    if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
6659    yych = *YYCURSOR;
6660    if (yybm[0+yych] & 32) {
6661        goto yy1023;
6662    }
6663    if (yych <= 'D') {
6664        if (yych != '.') goto yy1022;
6665    } else {
6666        if (yych <= 'E') goto yy1033;
6667        if (yych == 'e') goto yy1033;
6668        goto yy1022;
6669    }
6670yy1025:
6671    yyaccept = 1;
6672    YYMARKER = ++YYCURSOR;
6673    if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
6674    yych = *YYCURSOR;
6675    if (yych <= 'K') {
6676        if (yych <= 'D') {
6677            if (yych <= '/') goto yy1027;
6678            if (yych <= '9') goto yy1025;
6679        } else {
6680            if (yych <= 'E') goto yy1033;
6681            if (yych <= 'F') goto yy1035;
6682        }
6683    } else {
6684        if (yych <= 'e') {
6685            if (yych <= 'L') goto yy1036;
6686            if (yych >= 'e') goto yy1033;
6687        } else {
6688            if (yych <= 'f') goto yy1035;
6689            if (yych == 'l') goto yy1036;
6690        }
6691    }
6692yy1027:
6693#line 475 "strict_cpp.re"
6694    { BOOST_WAVE_RET(T_FLOATLIT); }
6695#line 6696 "strict_cpp_re.inc"
6696yy1028:
6697    yyaccept = 0;
6698    YYMARKER = ++YYCURSOR;
6699    if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
6700    yych = *YYCURSOR;
6701yy1029:
6702    if (yybm[0+yych] & 64) {
6703        goto yy1028;
6704    }
6705    if (yych <= '9') {
6706        if (yych == '.') goto yy1025;
6707        if (yych <= '/') goto yy1022;
6708    } else {
6709        if (yych <= 'E') {
6710            if (yych <= 'D') goto yy1022;
6711            goto yy1033;
6712        } else {
6713            if (yych == 'e') goto yy1033;
6714            goto yy1022;
6715        }
6716    }
6717yy1030:
6718    ++YYCURSOR;
6719    if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
6720    yych = *YYCURSOR;
6721    if (yych <= '9') {
6722        if (yych == '.') goto yy1025;
6723        if (yych >= '0') goto yy1030;
6724    } else {
6725        if (yych <= 'E') {
6726            if (yych >= 'E') goto yy1033;
6727        } else {
6728            if (yych == 'e') goto yy1033;
6729        }
6730    }
6731yy1032:
6732    YYCURSOR = YYMARKER;
6733    if (yyaccept == 0) {
6734        goto yy1022;
6735    } else {
6736        goto yy1027;
6737    }
6738yy1033:
6739    yych = *++YYCURSOR;
6740    if (yych <= ',') {
6741        if (yych == '+') goto yy1037;
6742        goto yy1032;
6743    } else {
6744        if (yych <= '-') goto yy1037;
6745        if (yych <= '/') goto yy1032;
6746        if (yych <= '9') goto yy1038;
6747        goto yy1032;
6748    }
6749yy1034:
6750    yych = *++YYCURSOR;
6751    if (yybm[0+yych] & 128) {
6752        goto yy1040;
6753    }
6754    goto yy1032;
6755yy1035:
6756    yych = *++YYCURSOR;
6757    if (yych == 'L') goto yy1042;
6758    if (yych == 'l') goto yy1042;
6759    goto yy1027;
6760yy1036:
6761    yych = *++YYCURSOR;
6762    if (yych == 'F') goto yy1042;
6763    if (yych == 'f') goto yy1042;
6764    goto yy1027;
6765yy1037:
6766    yych = *++YYCURSOR;
6767    if (yych <= '/') goto yy1032;
6768    if (yych >= ':') goto yy1032;
6769yy1038:
6770    ++YYCURSOR;
6771    if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
6772    yych = *YYCURSOR;
6773    if (yych <= 'K') {
6774        if (yych <= '9') {
6775            if (yych <= '/') goto yy1027;
6776            goto yy1038;
6777        } else {
6778            if (yych == 'F') goto yy1035;
6779            goto yy1027;
6780        }
6781    } else {
6782        if (yych <= 'f') {
6783            if (yych <= 'L') goto yy1036;
6784            if (yych <= 'e') goto yy1027;
6785            goto yy1035;
6786        } else {
6787            if (yych == 'l') goto yy1036;
6788            goto yy1027;
6789        }
6790    }
6791yy1040:
6792    ++YYCURSOR;
6793    if (YYLIMIT <= YYCURSOR) YYFILL(1);
6794    yych = *YYCURSOR;
6795    if (yybm[0+yych] & 128) {
6796        goto yy1040;
6797    }
6798    goto yy1022;
6799yy1042:
6800    ++YYCURSOR;
6801    goto yy1027;
6802}
6803#line 480 "strict_cpp.re"
6804
6805    }
6806}
6807
6808/* this subscanner is called, whenever an Integer was recognized */
6809integer_suffix:
6810{
6811    if (s->enable_ms_extensions) {
6812
6813#line 6814 "strict_cpp_re.inc"
6814{
6815    YYCTYPE yych;
6816    if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
6817    yych = *(YYMARKER = YYCURSOR);
6818    if (yych <= 'h') {
6819        if (yych <= 'L') {
6820            if (yych >= 'L') goto yy1046;
6821        } else {
6822            if (yych == 'U') goto yy1047;
6823        }
6824    } else {
6825        if (yych <= 'l') {
6826            if (yych <= 'i') goto yy1048;
6827            if (yych >= 'l') goto yy1050;
6828        } else {
6829            if (yych == 'u') goto yy1047;
6830        }
6831    }
6832yy1045:
6833#line 493 "strict_cpp.re"
6834    { BOOST_WAVE_RET(T_INTLIT); }
6835#line 6836 "strict_cpp_re.inc"
6836yy1046:
6837    yych = *++YYCURSOR;
6838    if (yych <= 'T') {
6839        if (yych == 'L') goto yy1051;
6840        goto yy1045;
6841    } else {
6842        if (yych <= 'U') goto yy1053;
6843        if (yych == 'u') goto yy1053;
6844        goto yy1045;
6845    }
6846yy1047:
6847    yych = *++YYCURSOR;
6848    if (yych == 'L') goto yy1054;
6849    if (yych == 'l') goto yy1055;
6850    goto yy1045;
6851yy1048:
6852    yych = *++YYCURSOR;
6853    if (yych == '6') goto yy1056;
6854yy1049:
6855    YYCURSOR = YYMARKER;
6856    goto yy1045;
6857yy1050:
6858    yych = *++YYCURSOR;
6859    if (yych <= 'k') {
6860        if (yych == 'U') goto yy1053;
6861        goto yy1045;
6862    } else {
6863        if (yych <= 'l') goto yy1051;
6864        if (yych == 'u') goto yy1053;
6865        goto yy1045;
6866    }
6867yy1051:
6868    yych = *++YYCURSOR;
6869    if (yych == 'U') goto yy1057;
6870    if (yych == 'u') goto yy1057;
6871yy1052:
6872#line 490 "strict_cpp.re"
6873    { BOOST_WAVE_RET(T_LONGINTLIT); }
6874#line 6875 "strict_cpp_re.inc"
6875yy1053:
6876    ++YYCURSOR;
6877    goto yy1045;
6878yy1054:
6879    yych = *++YYCURSOR;
6880    if (yych == 'L') goto yy1057;
6881    goto yy1045;
6882yy1055:
6883    yych = *++YYCURSOR;
6884    if (yych == 'l') goto yy1057;
6885    goto yy1045;
6886yy1056:
6887    yych = *++YYCURSOR;
6888    if (yych != '4') goto yy1049;
6889yy1057:
6890    ++YYCURSOR;
6891    goto yy1052;
6892}
6893#line 494 "strict_cpp.re"
6894
6895    }
6896    else {
6897
6898#line 6899 "strict_cpp_re.inc"
6899{
6900    YYCTYPE yych;
6901    if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
6902    yych = *YYCURSOR;
6903    if (yych <= 'U') {
6904        if (yych == 'L') goto yy1061;
6905        if (yych >= 'U') goto yy1062;
6906    } else {
6907        if (yych <= 'l') {
6908            if (yych >= 'l') goto yy1063;
6909        } else {
6910            if (yych == 'u') goto yy1062;
6911        }
6912    }
6913yy1060:
6914#line 502 "strict_cpp.re"
6915    { BOOST_WAVE_RET(T_INTLIT); }
6916#line 6917 "strict_cpp_re.inc"
6917yy1061:
6918    yych = *++YYCURSOR;
6919    if (yych <= 'T') {
6920        if (yych == 'L') goto yy1064;
6921        goto yy1060;
6922    } else {
6923        if (yych <= 'U') goto yy1066;
6924        if (yych == 'u') goto yy1066;
6925        goto yy1060;
6926    }
6927yy1062:
6928    yych = *++YYCURSOR;
6929    if (yych == 'L') goto yy1067;
6930    if (yych == 'l') goto yy1068;
6931    goto yy1060;
6932yy1063:
6933    yych = *++YYCURSOR;
6934    if (yych <= 'k') {
6935        if (yych == 'U') goto yy1066;
6936        goto yy1060;
6937    } else {
6938        if (yych <= 'l') goto yy1064;
6939        if (yych == 'u') goto yy1066;
6940        goto yy1060;
6941    }
6942yy1064:
6943    yych = *++YYCURSOR;
6944    if (yych == 'U') goto yy1069;
6945    if (yych == 'u') goto yy1069;
6946yy1065:
6947#line 499 "strict_cpp.re"
6948    { BOOST_WAVE_RET(T_LONGINTLIT); }
6949#line 6950 "strict_cpp_re.inc"
6950yy1066:
6951    ++YYCURSOR;
6952    goto yy1060;
6953yy1067:
6954    yych = *++YYCURSOR;
6955    if (yych == 'L') goto yy1069;
6956    goto yy1060;
6957yy1068:
6958    yych = *++YYCURSOR;
6959    if (yych != 'l') goto yy1060;
6960yy1069:
6961    ++YYCURSOR;
6962    goto yy1065;
6963}
6964#line 503 "strict_cpp.re"
6965
6966    }
6967
6968    // re2c will complain about -Wmatch-empty-string above
6969    // it's OK because we've already matched an integer
6970    // and will return T_INTLIT
6971}
6972
6973/* this subscanner is invoked for C++0x extended character literals */
6974extcharlit:
6975{
6976
6977#line 6978 "strict_cpp_re.inc"
6978{
6979    YYCTYPE yych;
6980    static const unsigned char yybm[] = {
6981          0,   0,   0,   0,   0,   0,   0,   0,
6982          0,   0,   0,   0,   0,   0,   0,   0,
6983          0,   0,   0,   0,   0,   0,   0,   0,
6984          0,   0,   0,   0,   0,   0,   0,   0,
6985          0,   0,   0,   0,   0,   0,   0,   0,
6986          0,   0,   0,   0,   0,   0,   0,   0,
6987        128, 128, 128, 128, 128, 128, 128, 128,
6988        128, 128,   0,   0,   0,   0,   0,   0,
6989          0, 128, 128, 128, 128, 128, 128,   0,
6990          0,   0,   0,   0,   0,   0,   0,   0,
6991          0,   0,   0,   0,   0,   0,   0,   0,
6992          0,   0,   0,   0,   0,   0,   0,   0,
6993          0, 128, 128, 128, 128, 128, 128,   0,
6994          0,   0,   0,   0,   0,   0,   0,   0,
6995          0,   0,   0,   0,   0,   0,   0,   0,
6996          0,   0,   0,   0,   0,   0,   0,   0,
6997          0,   0,   0,   0,   0,   0,   0,   0,
6998          0,   0,   0,   0,   0,   0,   0,   0,
6999          0,   0,   0,   0,   0,   0,   0,   0,
7000          0,   0,   0,   0,   0,   0,   0,   0,
7001          0,   0,   0,   0,   0,   0,   0,   0,
7002          0,   0,   0,   0,   0,   0,   0,   0,
7003          0,   0,   0,   0,   0,   0,   0,   0,
7004          0,   0,   0,   0,   0,   0,   0,   0,
7005          0,   0,   0,   0,   0,   0,   0,   0,
7006          0,   0,   0,   0,   0,   0,   0,   0,
7007          0,   0,   0,   0,   0,   0,   0,   0,
7008          0,   0,   0,   0,   0,   0,   0,   0,
7009          0,   0,   0,   0,   0,   0,   0,   0,
7010          0,   0,   0,   0,   0,   0,   0,   0,
7011          0,   0,   0,   0,   0,   0,   0,   0,
7012          0,   0,   0,   0,   0,   0,   0,   0,
7013    };
7014    if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
7015    yych = *YYCURSOR;
7016    if (yych <= 0x1F) {
7017        if (yych <= '\n') {
7018            if (yych <= 0x08) goto yy1072;
7019            if (yych <= '\t') goto yy1074;
7020            goto yy1076;
7021        } else {
7022            if (yych <= '\f') goto yy1074;
7023            if (yych <= '\r') goto yy1076;
7024        }
7025    } else {
7026        if (yych <= '>') {
7027            if (yych == '\'') goto yy1076;
7028            goto yy1074;
7029        } else {
7030            if (yych <= '?') goto yy1077;
7031            if (yych == '\\') goto yy1078;
7032            goto yy1074;
7033        }
7034    }
7035yy1072:
7036    ++YYCURSOR;
7037#line 515 "strict_cpp.re"
7038    {
7039            (*s->error_proc)(s, lexing_exception::generic_lexing_error,
7040                "Invalid character in raw string delimiter ('%c')", yych);
7041        }
7042#line 7043 "strict_cpp_re.inc"
7043yy1074:
7044    yych = *++YYCURSOR;
7045    if (yych == '\'') goto yy1079;
7046yy1075:
7047#line 524 "strict_cpp.re"
7048    { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); }
7049#line 7050 "strict_cpp_re.inc"
7050yy1076:
7051    ++YYCURSOR;
7052    goto yy1075;
7053yy1077:
7054    yych = *(YYMARKER = ++YYCURSOR);
7055    if (yych == '\'') goto yy1079;
7056    if (yych == '?') goto yy1081;
7057    goto yy1075;
7058yy1078:
7059    yych = *(YYMARKER = ++YYCURSOR);
7060    if (yych <= '`') {
7061        if (yych <= '7') {
7062            if (yych <= '&') {
7063                if (yych == '"') goto yy1083;
7064                goto yy1075;
7065            } else {
7066                if (yych <= '\'') goto yy1083;
7067                if (yych <= '/') goto yy1075;
7068                goto yy1084;
7069            }
7070        } else {
7071            if (yych <= 'T') {
7072                if (yych == '?') goto yy1085;
7073                goto yy1075;
7074            } else {
7075                if (yych <= 'U') goto yy1086;
7076                if (yych == '\\') goto yy1083;
7077                goto yy1075;
7078            }
7079        }
7080    } else {
7081        if (yych <= 'r') {
7082            if (yych <= 'f') {
7083                if (yych <= 'b') goto yy1083;
7084                if (yych <= 'e') goto yy1075;
7085                goto yy1083;
7086            } else {
7087                if (yych == 'n') goto yy1083;
7088                if (yych <= 'q') goto yy1075;
7089                goto yy1083;
7090            }
7091        } else {
7092            if (yych <= 'u') {
7093                if (yych <= 's') goto yy1075;
7094                if (yych <= 't') goto yy1083;
7095                goto yy1087;
7096            } else {
7097                if (yych <= 'v') goto yy1083;
7098                if (yych == 'x') goto yy1088;
7099                goto yy1075;
7100            }
7101        }
7102    }
7103yy1079:
7104    ++YYCURSOR;
7105#line 521 "strict_cpp.re"
7106    { BOOST_WAVE_RET(T_CHARLIT); }
7107#line 7108 "strict_cpp_re.inc"
7108yy1081:
7109    yych = *++YYCURSOR;
7110    if (yych == '/') goto yy1089;
7111yy1082:
7112    YYCURSOR = YYMARKER;
7113    goto yy1075;
7114yy1083:
7115    yych = *++YYCURSOR;
7116    if (yych == '\'') goto yy1079;
7117    goto yy1082;
7118yy1084:
7119    yych = *++YYCURSOR;
7120    if (yych == '\'') goto yy1079;
7121    if (yych <= '/') goto yy1082;
7122    if (yych <= '7') goto yy1090;
7123    goto yy1082;
7124yy1085:
7125    yych = *++YYCURSOR;
7126    if (yych == '\'') goto yy1079;
7127    if (yych == '?') goto yy1091;
7128    goto yy1082;
7129yy1086:
7130    yych = *++YYCURSOR;
7131    if (yych <= '@') {
7132        if (yych <= '/') goto yy1082;
7133        if (yych <= '9') goto yy1092;
7134        goto yy1082;
7135    } else {
7136        if (yych <= 'F') goto yy1092;
7137        if (yych <= '`') goto yy1082;
7138        if (yych <= 'f') goto yy1092;
7139        goto yy1082;
7140    }
7141yy1087:
7142    yych = *++YYCURSOR;
7143    if (yych <= '@') {
7144        if (yych <= '/') goto yy1082;
7145        if (yych <= '9') goto yy1093;
7146        goto yy1082;
7147    } else {
7148        if (yych <= 'F') goto yy1093;
7149        if (yych <= '`') goto yy1082;
7150        if (yych <= 'f') goto yy1093;
7151        goto yy1082;
7152    }
7153yy1088:
7154    yych = *++YYCURSOR;
7155    if (yych == '\'') goto yy1082;
7156    goto yy1095;
7157yy1089:
7158    yych = *++YYCURSOR;
7159    if (yych <= '`') {
7160        if (yych <= '7') {
7161            if (yych <= '&') {
7162                if (yych == '"') goto yy1083;
7163                goto yy1082;
7164            } else {
7165                if (yych <= '\'') goto yy1083;
7166                if (yych <= '/') goto yy1082;
7167                goto yy1084;
7168            }
7169        } else {
7170            if (yych <= 'T') {
7171                if (yych == '?') goto yy1085;
7172                goto yy1082;
7173            } else {
7174                if (yych <= 'U') goto yy1086;
7175                if (yych == '\\') goto yy1083;
7176                goto yy1082;
7177            }
7178        }
7179    } else {
7180        if (yych <= 'r') {
7181            if (yych <= 'f') {
7182                if (yych <= 'b') goto yy1083;
7183                if (yych <= 'e') goto yy1082;
7184                goto yy1083;
7185            } else {
7186                if (yych == 'n') goto yy1083;
7187                if (yych <= 'q') goto yy1082;
7188                goto yy1083;
7189            }
7190        } else {
7191            if (yych <= 'u') {
7192                if (yych <= 's') goto yy1082;
7193                if (yych <= 't') goto yy1083;
7194                goto yy1087;
7195            } else {
7196                if (yych <= 'v') goto yy1083;
7197                if (yych == 'x') goto yy1088;
7198                goto yy1082;
7199            }
7200        }
7201    }
7202yy1090:
7203    yych = *++YYCURSOR;
7204    if (yych == '\'') goto yy1079;
7205    if (yych <= '/') goto yy1082;
7206    if (yych <= '7') goto yy1083;
7207    goto yy1082;
7208yy1091:
7209    yych = *++YYCURSOR;
7210    if (yych == '/') goto yy1083;
7211    goto yy1082;
7212yy1092:
7213    yych = *++YYCURSOR;
7214    if (yych <= '@') {
7215        if (yych <= '/') goto yy1082;
7216        if (yych <= '9') goto yy1096;
7217        goto yy1082;
7218    } else {
7219        if (yych <= 'F') goto yy1096;
7220        if (yych <= '`') goto yy1082;
7221        if (yych <= 'f') goto yy1096;
7222        goto yy1082;
7223    }
7224yy1093:
7225    yych = *++YYCURSOR;
7226    if (yych <= '@') {
7227        if (yych <= '/') goto yy1082;
7228        if (yych <= '9') goto yy1097;
7229        goto yy1082;
7230    } else {
7231        if (yych <= 'F') goto yy1097;
7232        if (yych <= '`') goto yy1082;
7233        if (yych <= 'f') goto yy1097;
7234        goto yy1082;
7235    }
7236yy1094:
7237    ++YYCURSOR;
7238    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7239    yych = *YYCURSOR;
7240yy1095:
7241    if (yybm[0+yych] & 128) {
7242        goto yy1094;
7243    }
7244    if (yych == '\'') goto yy1079;
7245    goto yy1082;
7246yy1096:
7247    yych = *++YYCURSOR;
7248    if (yych <= '@') {
7249        if (yych <= '/') goto yy1082;
7250        if (yych <= '9') goto yy1098;
7251        goto yy1082;
7252    } else {
7253        if (yych <= 'F') goto yy1098;
7254        if (yych <= '`') goto yy1082;
7255        if (yych <= 'f') goto yy1098;
7256        goto yy1082;
7257    }
7258yy1097:
7259    yych = *++YYCURSOR;
7260    if (yych <= '@') {
7261        if (yych <= '/') goto yy1082;
7262        if (yych <= '9') goto yy1099;
7263        goto yy1082;
7264    } else {
7265        if (yych <= 'F') goto yy1099;
7266        if (yych <= '`') goto yy1082;
7267        if (yych <= 'f') goto yy1099;
7268        goto yy1082;
7269    }
7270yy1098:
7271    yych = *++YYCURSOR;
7272    if (yych <= '@') {
7273        if (yych <= '/') goto yy1082;
7274        if (yych <= '9') goto yy1087;
7275        goto yy1082;
7276    } else {
7277        if (yych <= 'F') goto yy1087;
7278        if (yych <= '`') goto yy1082;
7279        if (yych <= 'f') goto yy1087;
7280        goto yy1082;
7281    }
7282yy1099:
7283    yych = *++YYCURSOR;
7284    if (yych <= '@') {
7285        if (yych <= '/') goto yy1082;
7286        if (yych <= '9') goto yy1083;
7287        goto yy1082;
7288    } else {
7289        if (yych <= 'F') goto yy1083;
7290        if (yych <= '`') goto yy1082;
7291        if (yych <= 'f') goto yy1083;
7292        goto yy1082;
7293    }
7294}
7295#line 525 "strict_cpp.re"
7296
7297}
7298
7299/* this subscanner is invoked for C++0x extended character string literals */
7300extstringlit:
7301{
7302
7303#line 7304 "strict_cpp_re.inc"
7304{
7305    YYCTYPE yych;
7306    unsigned int yyaccept = 0;
7307    static const unsigned char yybm[] = {
7308          0,   0,   0,   0,   0,   0,   0,   0,
7309          0,  32,   0,  32,  32,   0,   0,   0,
7310          0,   0,   0,   0,   0,   0,   0,   0,
7311          0,   0,   0,   0,   0,   0,   0,   0,
7312         32,  32,   0,  32,  32,  32,  32,  32,
7313         32,  32,  32,  32,  32,  32,  32,  32,
7314         32,  32,  32,  32,  32,  32,  32,  32,
7315         32,  32,  32,  32,  32,  32,  32,  64,
7316         32,  32,  32,  32,  32,  32,  32,  32,
7317         32,  32,  32,  32,  32,  32,  32,  32,
7318         32,  32,  32,  32,  32,  32,  32,  32,
7319         32,  32,  32,  32, 128,  32,  32,  32,
7320         32,  32,  32,  32,  32,  32,  32,  32,
7321         32,  32,  32,  32,  32,  32,  32,  32,
7322         32,  32,  32,  32,  32,  32,  32,  32,
7323         32,  32,  32,  32,  32,  32,  32,  32,
7324         32,  32,  32,  32,  32,  32,  32,  32,
7325         32,  32,  32,  32,  32,  32,  32,  32,
7326         32,  32,  32,  32,  32,  32,  32,  32,
7327         32,  32,  32,  32,  32,  32,  32,  32,
7328         32,  32,  32,  32,  32,  32,  32,  32,
7329         32,  32,  32,  32,  32,  32,  32,  32,
7330         32,  32,  32,  32,  32,  32,  32,  32,
7331         32,  32,  32,  32,  32,  32,  32,  32,
7332         32,  32,  32,  32,  32,  32,  32,  32,
7333         32,  32,  32,  32,  32,  32,  32,  32,
7334         32,  32,  32,  32,  32,  32,  32,  32,
7335         32,  32,  32,  32,  32,  32,  32,  32,
7336         32,  32,  32,  32,  32,  32,  32,  32,
7337         32,  32,  32,  32,  32,  32,  32,  32,
7338         32,  32,  32,  32,  32,  32,  32,  32,
7339         32,  32,  32,  32,  32,  32,  32,  32,
7340    };
7341    if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
7342    yych = *YYCURSOR;
7343    if (yych <= 0x1F) {
7344        if (yych <= '\n') {
7345            if (yych <= 0x08) goto yy1102;
7346            if (yych <= '\t') goto yy1104;
7347            goto yy1106;
7348        } else {
7349            if (yych <= '\f') goto yy1104;
7350            if (yych <= '\r') goto yy1106;
7351        }
7352    } else {
7353        if (yych <= '>') {
7354            if (yych == '"') goto yy1107;
7355            goto yy1104;
7356        } else {
7357            if (yych <= '?') goto yy1109;
7358            if (yych == '\\') goto yy1110;
7359            goto yy1104;
7360        }
7361    }
7362yy1102:
7363    ++YYCURSOR;
7364#line 532 "strict_cpp.re"
7365    {
7366            (*s->error_proc)(s, lexing_exception::generic_lexing_error,
7367                "Invalid character in raw string delimiter ('%c')", yych);
7368        }
7369#line 7370 "strict_cpp_re.inc"
7370yy1104:
7371    yyaccept = 0;
7372    yych = *(YYMARKER = ++YYCURSOR);
7373    if (yych <= '\n') {
7374        if (yych == '\t') goto yy1112;
7375    } else {
7376        if (yych <= '\f') goto yy1112;
7377        if (yych >= ' ') goto yy1112;
7378    }
7379yy1105:
7380#line 541 "strict_cpp.re"
7381    { BOOST_WAVE_RET(TOKEN_FROM_ID(*s->tok, UnknownTokenType)); }
7382#line 7383 "strict_cpp_re.inc"
7383yy1106:
7384    ++YYCURSOR;
7385    goto yy1105;
7386yy1107:
7387    ++YYCURSOR;
7388yy1108:
7389#line 538 "strict_cpp.re"
7390    { BOOST_WAVE_RET(T_STRINGLIT); }
7391#line 7392 "strict_cpp_re.inc"
7392yy1109:
7393    yyaccept = 0;
7394    yych = *(YYMARKER = ++YYCURSOR);
7395    if (yybm[0+yych] & 64) {
7396        goto yy1116;
7397    }
7398    if (yych <= '\n') {
7399        if (yych == '\t') goto yy1112;
7400        goto yy1105;
7401    } else {
7402        if (yych <= '\f') goto yy1112;
7403        if (yych <= 0x1F) goto yy1105;
7404        goto yy1112;
7405    }
7406yy1110:
7407    yyaccept = 0;
7408    yych = *(YYMARKER = ++YYCURSOR);
7409    if (yych <= '`') {
7410        if (yych <= '7') {
7411            if (yych <= '&') {
7412                if (yych != '"') goto yy1105;
7413            } else {
7414                if (yych <= '\'') goto yy1111;
7415                if (yych <= '/') goto yy1105;
7416            }
7417        } else {
7418            if (yych <= 'T') {
7419                if (yych != '?') goto yy1105;
7420            } else {
7421                if (yych <= 'U') goto yy1118;
7422                if (yych != '\\') goto yy1105;
7423            }
7424        }
7425    } else {
7426        if (yych <= 'r') {
7427            if (yych <= 'f') {
7428                if (yych <= 'b') goto yy1111;
7429                if (yych <= 'e') goto yy1105;
7430            } else {
7431                if (yych == 'n') goto yy1111;
7432                if (yych <= 'q') goto yy1105;
7433            }
7434        } else {
7435            if (yych <= 'u') {
7436                if (yych <= 's') goto yy1105;
7437                if (yych >= 'u') goto yy1119;
7438            } else {
7439                if (yych <= 'v') goto yy1111;
7440                if (yych == 'x') goto yy1120;
7441                goto yy1105;
7442            }
7443        }
7444    }
7445yy1111:
7446    ++YYCURSOR;
7447    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7448    yych = *YYCURSOR;
7449yy1112:
7450    if (yybm[0+yych] & 32) {
7451        goto yy1111;
7452    }
7453    if (yych <= 0x1F) goto yy1113;
7454    if (yych <= '"') goto yy1107;
7455    if (yych <= '?') goto yy1114;
7456    goto yy1115;
7457yy1113:
7458    YYCURSOR = YYMARKER;
7459    if (yyaccept == 0) {
7460        goto yy1105;
7461    } else {
7462        goto yy1108;
7463    }
7464yy1114:
7465    ++YYCURSOR;
7466    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7467    yych = *YYCURSOR;
7468    if (yybm[0+yych] & 32) {
7469        goto yy1111;
7470    }
7471    if (yych <= 0x1F) goto yy1113;
7472    if (yych <= '"') goto yy1107;
7473    if (yych <= '?') goto yy1116;
7474yy1115:
7475    ++YYCURSOR;
7476    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7477    yych = *YYCURSOR;
7478    if (yych <= '`') {
7479        if (yych <= '7') {
7480            if (yych <= '&') {
7481                if (yych == '"') goto yy1111;
7482                goto yy1113;
7483            } else {
7484                if (yych <= '\'') goto yy1111;
7485                if (yych <= '/') goto yy1113;
7486                goto yy1111;
7487            }
7488        } else {
7489            if (yych <= 'T') {
7490                if (yych == '?') goto yy1111;
7491                goto yy1113;
7492            } else {
7493                if (yych <= 'U') goto yy1118;
7494                if (yych == '\\') goto yy1111;
7495                goto yy1113;
7496            }
7497        }
7498    } else {
7499        if (yych <= 'r') {
7500            if (yych <= 'f') {
7501                if (yych <= 'b') goto yy1111;
7502                if (yych <= 'e') goto yy1113;
7503                goto yy1111;
7504            } else {
7505                if (yych == 'n') goto yy1111;
7506                if (yych <= 'q') goto yy1113;
7507                goto yy1111;
7508            }
7509        } else {
7510            if (yych <= 'u') {
7511                if (yych <= 's') goto yy1113;
7512                if (yych <= 't') goto yy1111;
7513                goto yy1119;
7514            } else {
7515                if (yych <= 'v') goto yy1111;
7516                if (yych == 'x') goto yy1120;
7517                goto yy1113;
7518            }
7519        }
7520    }
7521yy1116:
7522    ++YYCURSOR;
7523    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7524    yych = *YYCURSOR;
7525    if (yybm[0+yych] & 64) {
7526        goto yy1116;
7527    }
7528    if (yych <= '!') {
7529        if (yych <= '\n') {
7530            if (yych == '\t') goto yy1111;
7531            goto yy1113;
7532        } else {
7533            if (yych <= '\f') goto yy1111;
7534            if (yych <= 0x1F) goto yy1113;
7535            goto yy1111;
7536        }
7537    } else {
7538        if (yych <= '/') {
7539            if (yych <= '"') goto yy1107;
7540            if (yych <= '.') goto yy1111;
7541            goto yy1121;
7542        } else {
7543            if (yych == '\\') goto yy1115;
7544            goto yy1111;
7545        }
7546    }
7547yy1118:
7548    ++YYCURSOR;
7549    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7550    yych = *YYCURSOR;
7551    if (yych <= '@') {
7552        if (yych <= '/') goto yy1113;
7553        if (yych <= '9') goto yy1123;
7554        goto yy1113;
7555    } else {
7556        if (yych <= 'F') goto yy1123;
7557        if (yych <= '`') goto yy1113;
7558        if (yych <= 'f') goto yy1123;
7559        goto yy1113;
7560    }
7561yy1119:
7562    ++YYCURSOR;
7563    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7564    yych = *YYCURSOR;
7565    if (yych <= '@') {
7566        if (yych <= '/') goto yy1113;
7567        if (yych <= '9') goto yy1124;
7568        goto yy1113;
7569    } else {
7570        if (yych <= 'F') goto yy1124;
7571        if (yych <= '`') goto yy1113;
7572        if (yych <= 'f') goto yy1124;
7573        goto yy1113;
7574    }
7575yy1120:
7576    ++YYCURSOR;
7577    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7578    yych = *YYCURSOR;
7579    if (yych <= '@') {
7580        if (yych <= '/') goto yy1113;
7581        if (yych <= '9') goto yy1111;
7582        goto yy1113;
7583    } else {
7584        if (yych <= 'F') goto yy1111;
7585        if (yych <= '`') goto yy1113;
7586        if (yych <= 'f') goto yy1111;
7587        goto yy1113;
7588    }
7589yy1121:
7590    ++YYCURSOR;
7591    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7592    yych = *YYCURSOR;
7593    if (yybm[0+yych] & 32) {
7594        goto yy1111;
7595    }
7596    if (yych <= 0x1F) goto yy1113;
7597    if (yych <= '"') goto yy1125;
7598    if (yych <= '?') goto yy1114;
7599    goto yy1121;
7600yy1123:
7601    ++YYCURSOR;
7602    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7603    yych = *YYCURSOR;
7604    if (yych <= '@') {
7605        if (yych <= '/') goto yy1113;
7606        if (yych <= '9') goto yy1126;
7607        goto yy1113;
7608    } else {
7609        if (yych <= 'F') goto yy1126;
7610        if (yych <= '`') goto yy1113;
7611        if (yych <= 'f') goto yy1126;
7612        goto yy1113;
7613    }
7614yy1124:
7615    ++YYCURSOR;
7616    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7617    yych = *YYCURSOR;
7618    if (yych <= '@') {
7619        if (yych <= '/') goto yy1113;
7620        if (yych <= '9') goto yy1127;
7621        goto yy1113;
7622    } else {
7623        if (yych <= 'F') goto yy1127;
7624        if (yych <= '`') goto yy1113;
7625        if (yych <= 'f') goto yy1127;
7626        goto yy1113;
7627    }
7628yy1125:
7629    yyaccept = 1;
7630    YYMARKER = ++YYCURSOR;
7631    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7632    yych = *YYCURSOR;
7633    if (yybm[0+yych] & 32) {
7634        goto yy1111;
7635    }
7636    if (yych <= 0x1F) goto yy1108;
7637    if (yych <= '"') goto yy1107;
7638    if (yych <= '?') goto yy1114;
7639    goto yy1115;
7640yy1126:
7641    ++YYCURSOR;
7642    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7643    yych = *YYCURSOR;
7644    if (yych <= '@') {
7645        if (yych <= '/') goto yy1113;
7646        if (yych <= '9') goto yy1128;
7647        goto yy1113;
7648    } else {
7649        if (yych <= 'F') goto yy1128;
7650        if (yych <= '`') goto yy1113;
7651        if (yych <= 'f') goto yy1128;
7652        goto yy1113;
7653    }
7654yy1127:
7655    ++YYCURSOR;
7656    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7657    yych = *YYCURSOR;
7658    if (yych <= '@') {
7659        if (yych <= '/') goto yy1113;
7660        if (yych <= '9') goto yy1120;
7661        goto yy1113;
7662    } else {
7663        if (yych <= 'F') goto yy1120;
7664        if (yych <= '`') goto yy1113;
7665        if (yych <= 'f') goto yy1120;
7666        goto yy1113;
7667    }
7668yy1128:
7669    ++YYCURSOR;
7670    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7671    yych = *YYCURSOR;
7672    if (yych <= '@') {
7673        if (yych <= '/') goto yy1113;
7674        if (yych <= '9') goto yy1119;
7675        goto yy1113;
7676    } else {
7677        if (yych <= 'F') goto yy1119;
7678        if (yych <= '`') goto yy1113;
7679        if (yych <= 'f') goto yy1119;
7680        goto yy1113;
7681    }
7682}
7683#line 542 "strict_cpp.re"
7684
7685}
7686
7687extrawstringlit:
7688{
7689    // we have consumed the double quote but not the lparen
7690    // at this point we may see a delimiter
7691
7692
7693#line 7694 "strict_cpp_re.inc"
7694{
7695    YYCTYPE yych;
7696    if (YYLIMIT <= YYCURSOR) YYFILL(1);
7697    yych = *YYCURSOR;
7698    if (yych <= '(') {
7699        if (yych <= 0x1F) goto yy1131;
7700        if (yych <= '\'') goto yy1133;
7701        goto yy1135;
7702    } else {
7703        if (yych <= ')') goto yy1131;
7704        if (yych != '\\') goto yy1133;
7705    }
7706yy1131:
7707    ++YYCURSOR;
7708#line 551 "strict_cpp.re"
7709    {
7710            (*s->error_proc)(s, lexing_exception::generic_lexing_error,
7711                "Invalid character in raw string delimiter ('%c')", yych);
7712        }
7713#line 7714 "strict_cpp_re.inc"
7714yy1133:
7715    ++YYCURSOR;
7716#line 558 "strict_cpp.re"
7717    {
7718            rawstringdelim += yych;
7719            if (rawstringdelim.size() > 16)
7720            {
7721                (*s->error_proc)(s, lexing_exception::generic_lexing_error,
7722                    "Raw string delimiter of excessive length (\"%s\") in input stream",
7723                    rawstringdelim.c_str());
7724            }
7725            goto extrawstringlit;
7726        }
7727#line 7728 "strict_cpp_re.inc"
7728yy1135:
7729    ++YYCURSOR;
7730#line 570 "strict_cpp.re"
7731    {
7732            rawstringdelim = ")" + rawstringdelim;
7733            goto extrawstringbody;
7734        }
7735#line 7736 "strict_cpp_re.inc"
7736}
7737#line 575 "strict_cpp.re"
7738
7739}
7740
7741extrawstringbody:
7742{
7743
7744#line 7745 "strict_cpp_re.inc"
7745{
7746    YYCTYPE yych;
7747    static const unsigned char yybm[] = {
7748          0,   0,   0,   0,   0,   0,   0,   0,
7749          0,   0,   0,   0,   0,   0,   0,   0,
7750          0,   0,   0,   0,   0,   0,   0,   0,
7751          0,   0,   0,   0,   0,   0,   0,   0,
7752          0,   0,   0,   0,   0,   0,   0,   0,
7753          0,   0,   0,   0,   0,   0,   0,   0,
7754        128, 128, 128, 128, 128, 128, 128, 128,
7755        128, 128,   0,   0,   0,   0,   0,   0,
7756          0, 128, 128, 128, 128, 128, 128,   0,
7757          0,   0,   0,   0,   0,   0,   0,   0,
7758          0,   0,   0,   0,   0,   0,   0,   0,
7759          0,   0,   0,   0,   0,   0,   0,   0,
7760          0, 128, 128, 128, 128, 128, 128,   0,
7761          0,   0,   0,   0,   0,   0,   0,   0,
7762          0,   0,   0,   0,   0,   0,   0,   0,
7763          0,   0,   0,   0,   0,   0,   0,   0,
7764          0,   0,   0,   0,   0,   0,   0,   0,
7765          0,   0,   0,   0,   0,   0,   0,   0,
7766          0,   0,   0,   0,   0,   0,   0,   0,
7767          0,   0,   0,   0,   0,   0,   0,   0,
7768          0,   0,   0,   0,   0,   0,   0,   0,
7769          0,   0,   0,   0,   0,   0,   0,   0,
7770          0,   0,   0,   0,   0,   0,   0,   0,
7771          0,   0,   0,   0,   0,   0,   0,   0,
7772          0,   0,   0,   0,   0,   0,   0,   0,
7773          0,   0,   0,   0,   0,   0,   0,   0,
7774          0,   0,   0,   0,   0,   0,   0,   0,
7775          0,   0,   0,   0,   0,   0,   0,   0,
7776          0,   0,   0,   0,   0,   0,   0,   0,
7777          0,   0,   0,   0,   0,   0,   0,   0,
7778          0,   0,   0,   0,   0,   0,   0,   0,
7779          0,   0,   0,   0,   0,   0,   0,   0,
7780    };
7781    if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
7782    yych = *YYCURSOR;
7783    if (yych <= 0x1F) {
7784        if (yych <= '\n') {
7785            if (yych <= 0x08) goto yy1139;
7786            if (yych <= '\t') goto yy1141;
7787            goto yy1143;
7788        } else {
7789            if (yych <= '\f') goto yy1141;
7790            if (yych <= '\r') goto yy1145;
7791        }
7792    } else {
7793        if (yych <= '>') {
7794            if (yych == '"') goto yy1146;
7795            goto yy1141;
7796        } else {
7797            if (yych <= '?') goto yy1148;
7798            if (yych == '\\') goto yy1149;
7799            goto yy1141;
7800        }
7801    }
7802yy1139:
7803    ++YYCURSOR;
7804#line 582 "strict_cpp.re"
7805    {
7806            (*s->error_proc)(s, lexing_exception::generic_lexing_error,
7807                "Invalid character in raw string body ('%c')", yych);
7808        }
7809#line 7810 "strict_cpp_re.inc"
7810yy1141:
7811    ++YYCURSOR;
7812yy1142:
7813#line 595 "strict_cpp.re"
7814    {
7815            goto extrawstringbody;
7816        }
7817#line 7818 "strict_cpp_re.inc"
7818yy1143:
7819    ++YYCURSOR;
7820yy1144:
7821#line 588 "strict_cpp.re"
7822    {
7823            s->line += count_backslash_newlines(s, cursor) +1;
7824            cursor.column = 1;
7825            goto extrawstringbody;
7826        }
7827#line 7828 "strict_cpp_re.inc"
7828yy1145:
7829    yych = *++YYCURSOR;
7830    if (yych == '\n') goto yy1143;
7831    goto yy1144;
7832yy1146:
7833    ++YYCURSOR;
7834#line 600 "strict_cpp.re"
7835    {
7836            // check to see if we have completed a delimiter
7837            if (string_type((char *)(YYCURSOR - rawstringdelim.size() - 1),
7838                             (char *)(YYCURSOR - 1)) == rawstringdelim)
7839            {
7840                 BOOST_WAVE_RET(T_RAWSTRINGLIT);
7841            } else {
7842                goto extrawstringbody;
7843            }
7844        }
7845#line 7846 "strict_cpp_re.inc"
7846yy1148:
7847    yych = *(YYMARKER = ++YYCURSOR);
7848    if (yych == '?') goto yy1150;
7849    goto yy1142;
7850yy1149:
7851    yych = *(YYMARKER = ++YYCURSOR);
7852    if (yych <= '`') {
7853        if (yych <= '7') {
7854            if (yych <= '&') {
7855                if (yych == '"') goto yy1141;
7856                goto yy1142;
7857            } else {
7858                if (yych <= '\'') goto yy1141;
7859                if (yych <= '/') goto yy1142;
7860                goto yy1152;
7861            }
7862        } else {
7863            if (yych <= 'T') {
7864                if (yych == '?') goto yy1153;
7865                goto yy1142;
7866            } else {
7867                if (yych <= 'U') goto yy1154;
7868                if (yych == '\\') goto yy1141;
7869                goto yy1142;
7870            }
7871        }
7872    } else {
7873        if (yych <= 'r') {
7874            if (yych <= 'f') {
7875                if (yych <= 'b') goto yy1141;
7876                if (yych <= 'e') goto yy1142;
7877                goto yy1141;
7878            } else {
7879                if (yych == 'n') goto yy1141;
7880                if (yych <= 'q') goto yy1142;
7881                goto yy1141;
7882            }
7883        } else {
7884            if (yych <= 'u') {
7885                if (yych <= 's') goto yy1142;
7886                if (yych <= 't') goto yy1141;
7887                goto yy1155;
7888            } else {
7889                if (yych <= 'v') goto yy1141;
7890                if (yych == 'x') goto yy1156;
7891                goto yy1142;
7892            }
7893        }
7894    }
7895yy1150:
7896    yych = *++YYCURSOR;
7897    if (yych == '/') goto yy1157;
7898yy1151:
7899    YYCURSOR = YYMARKER;
7900    goto yy1142;
7901yy1152:
7902    yych = *++YYCURSOR;
7903    if (yych <= '/') goto yy1142;
7904    if (yych <= '7') goto yy1158;
7905    goto yy1142;
7906yy1153:
7907    yych = *(YYMARKER = ++YYCURSOR);
7908    if (yych == '?') goto yy1159;
7909    goto yy1142;
7910yy1154:
7911    yych = *++YYCURSOR;
7912    if (yych <= '@') {
7913        if (yych <= '/') goto yy1151;
7914        if (yych <= '9') goto yy1160;
7915        goto yy1151;
7916    } else {
7917        if (yych <= 'F') goto yy1160;
7918        if (yych <= '`') goto yy1151;
7919        if (yych <= 'f') goto yy1160;
7920        goto yy1151;
7921    }
7922yy1155:
7923    yych = *++YYCURSOR;
7924    if (yych <= '@') {
7925        if (yych <= '/') goto yy1151;
7926        if (yych <= '9') goto yy1161;
7927        goto yy1151;
7928    } else {
7929        if (yych <= 'F') goto yy1161;
7930        if (yych <= '`') goto yy1151;
7931        if (yych <= 'f') goto yy1161;
7932        goto yy1151;
7933    }
7934yy1156:
7935    yych = *++YYCURSOR;
7936    if (yybm[0+yych] & 128) {
7937        goto yy1162;
7938    }
7939    goto yy1151;
7940yy1157:
7941    yych = *++YYCURSOR;
7942    if (yych <= '`') {
7943        if (yych <= '7') {
7944            if (yych <= '&') {
7945                if (yych == '"') goto yy1141;
7946                goto yy1151;
7947            } else {
7948                if (yych <= '\'') goto yy1141;
7949                if (yych <= '/') goto yy1151;
7950                goto yy1152;
7951            }
7952        } else {
7953            if (yych <= 'T') {
7954                if (yych == '?') goto yy1153;
7955                goto yy1151;
7956            } else {
7957                if (yych <= 'U') goto yy1154;
7958                if (yych == '\\') goto yy1141;
7959                goto yy1151;
7960            }
7961        }
7962    } else {
7963        if (yych <= 'r') {
7964            if (yych <= 'f') {
7965                if (yych <= 'b') goto yy1141;
7966                if (yych <= 'e') goto yy1151;
7967                goto yy1141;
7968            } else {
7969                if (yych == 'n') goto yy1141;
7970                if (yych <= 'q') goto yy1151;
7971                goto yy1141;
7972            }
7973        } else {
7974            if (yych <= 'u') {
7975                if (yych <= 's') goto yy1151;
7976                if (yych <= 't') goto yy1141;
7977                goto yy1155;
7978            } else {
7979                if (yych <= 'v') goto yy1141;
7980                if (yych == 'x') goto yy1156;
7981                goto yy1151;
7982            }
7983        }
7984    }
7985yy1158:
7986    yych = *++YYCURSOR;
7987    if (yych <= '/') goto yy1142;
7988    if (yych <= '7') goto yy1141;
7989    goto yy1142;
7990yy1159:
7991    yych = *++YYCURSOR;
7992    if (yych == '/') goto yy1141;
7993    goto yy1151;
7994yy1160:
7995    yych = *++YYCURSOR;
7996    if (yych <= '@') {
7997        if (yych <= '/') goto yy1151;
7998        if (yych <= '9') goto yy1164;
7999        goto yy1151;
8000    } else {
8001        if (yych <= 'F') goto yy1164;
8002        if (yych <= '`') goto yy1151;
8003        if (yych <= 'f') goto yy1164;
8004        goto yy1151;
8005    }
8006yy1161:
8007    yych = *++YYCURSOR;
8008    if (yych <= '@') {
8009        if (yych <= '/') goto yy1151;
8010        if (yych <= '9') goto yy1165;
8011        goto yy1151;
8012    } else {
8013        if (yych <= 'F') goto yy1165;
8014        if (yych <= '`') goto yy1151;
8015        if (yych <= 'f') goto yy1165;
8016        goto yy1151;
8017    }
8018yy1162:
8019    ++YYCURSOR;
8020    if (YYLIMIT <= YYCURSOR) YYFILL(1);
8021    yych = *YYCURSOR;
8022    if (yybm[0+yych] & 128) {
8023        goto yy1162;
8024    }
8025    goto yy1142;
8026yy1164:
8027    yych = *++YYCURSOR;
8028    if (yych <= '@') {
8029        if (yych <= '/') goto yy1151;
8030        if (yych <= '9') goto yy1166;
8031        goto yy1151;
8032    } else {
8033        if (yych <= 'F') goto yy1166;
8034        if (yych <= '`') goto yy1151;
8035        if (yych <= 'f') goto yy1166;
8036        goto yy1151;
8037    }
8038yy1165:
8039    yych = *++YYCURSOR;
8040    if (yych <= '@') {
8041        if (yych <= '/') goto yy1151;
8042        if (yych <= '9') goto yy1167;
8043        goto yy1151;
8044    } else {
8045        if (yych <= 'F') goto yy1167;
8046        if (yych <= '`') goto yy1151;
8047        if (yych <= 'f') goto yy1167;
8048        goto yy1151;
8049    }
8050yy1166:
8051    yych = *++YYCURSOR;
8052    if (yych <= '@') {
8053        if (yych <= '/') goto yy1151;
8054        if (yych <= '9') goto yy1155;
8055        goto yy1151;
8056    } else {
8057        if (yych <= 'F') goto yy1155;
8058        if (yych <= '`') goto yy1151;
8059        if (yych <= 'f') goto yy1155;
8060        goto yy1151;
8061    }
8062yy1167:
8063    yych = *++YYCURSOR;
8064    if (yych <= '@') {
8065        if (yych <= '/') goto yy1151;
8066        if (yych <= '9') goto yy1141;
8067        goto yy1151;
8068    } else {
8069        if (yych <= 'F') goto yy1141;
8070        if (yych <= '`') goto yy1151;
8071        if (yych <= 'f') goto yy1141;
8072        goto yy1151;
8073    }
8074}
8075#line 610 "strict_cpp.re"
8076
8077}
8078