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