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