Changeset 90c3b1c for src/Parser/lex.cc


Ignore:
Timestamp:
Mar 2, 2016, 4:59:19 PM (8 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
bdad1679
Parents:
ac1ed49
Message:

compile CFA with C++11, further update refrat with lstlisting macros, support varags, enumeration initialization, add implicit separators to output streams, update example programs that print

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.cc

    rac1ed49 r90c3b1c  
    382382        (yy_c_buf_p) = yy_cp;
    383383
    384 #define YY_NUM_RULES 179
    385 #define YY_END_OF_BUFFER 180
     384#define YY_NUM_RULES 180
     385#define YY_END_OF_BUFFER 181
    386386/* This struct is not used in this scanner,
    387387   but its presence is necessary. */
     
    391391        flex_int32_t yy_nxt;
    392392        };
    393 static yyconst flex_int16_t yy_accept[876] =
     393static yyconst flex_int16_t yy_accept[883] =
    394394    {   0,
    395         0,    0,    0,    0,    0,    0,  114,  114,  117,  117,
    396       180,  178,    7,    9,    8,  137,  116,  101,  142,  145,
    397       113,  124,  125,  140,  138,  128,  139,  131,  141,  106,
    398       107,  108,  129,  130,  147,  149,  148,  150,  178,  101,
    399       122,  178,  123,  143,  101,  103,  101,  101,  101,  101,
    400       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    401       101,  126,  146,  127,  144,    7,  178,    4,    4,  179,
    402       104,  179,  105,  114,  115,  121,  117,  118,    7,    9,
    403         0,    8,  154,  173,  101,    0,  166,  136,  159,  167,
    404       164,  151,  162,  152,  163,  161,    0,  111,    3,    0,
    405 
    406       165,  111,  109,    0,    0,  109,  109,    0,    0,  109,
    407       108,  108,  108,    0,  108,  134,  135,  133,  155,  157,
    408       153,  158,  156,    0,    0,    0,    0,    0,    0,    0,
    409         0,    0,    0,    0,    0,    0,    0,    0,  102,  172,
    410         0,  116,  113,  101,    0,    0,  169,    0,  101,  101,
    411       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    412       101,  101,  101,  101,  101,   39,  101,  101,  101,  101,
    413       101,  101,  101,  101,  101,  101,   57,  101,  101,  101,
    414       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    415       101,  101,  168,  160,    7,    0,    0,    0,    2,    0,
    416 
    417         5,  104,    0,    0,    0,  114,    0,  120,  119,  119,
    418         0,    0,    0,  117,    0,    0,    0,    0,    0,    0,
    419         0,    0,    0,    0,    0,    0,    0,    0,    0,  132,
    420       111,  111,    0,  111,  111,  111,    0,    6,  111,  109,
    421         0,    0,    0,  111,    0,  109,  109,  109,  109,    0,
    422       110,    0,    0,  108,  108,  108,  108,    0,  170,  171,
    423         0,  176,  174,    0,    0,    0,  102,    0,    0,    0,
    424         0,    0,    0,    0,    0,  101,   17,  101,  101,  101,
    425       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    426       101,  101,  101,  101,  101,   14,  101,  101,  101,  101,
    427 
    428       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    429       101,  101,  101,  101,   51,  101,  101,  101,   64,  101,
    430       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    431       101,   88,  101,  101,  101,  101,  101,  101,  101,    0,
    432         0,    0,    0,    0,    0,    0,    0,  119,    0,    0,
    433         0,    0,    0,  119,    0,    0,  177,    0,    0,    0,
    434         0,    0,    0,    0,  111,    0,  111,    0,  111,    0,
    435         0,  111,  111,  109,  109,    0,    0,  110,  110,    0,
    436       110,    0,  110,  108,  108,    0,    0,    0,    0,    0,
    437         0,    0,    0,    0,    0,  175,  101,  101,  101,  101,
    438 
    439       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    440       101,  101,  101,  101,  101,  101,  101,  101,  101,   21,
    441       101,   24,  101,   27,  101,  101,  101,  101,  101,  101,
    442       101,   42,  101,   44,  101,  101,  101,  101,  101,  101,
    443       101,   56,  101,   67,  101,  101,  101,  101,  101,  101,
    444       101,  101,  101,  101,  101,   89,  101,  101,   96,  101,
    445       101,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    446         0,    0,    0,    0,    0,  119,    0,    0,    0,    0,
    447         0,  111,  111,    0,    0,    0,    0,    0,  110,  110,
    448         0,  112,    0,  110,  110,    0,    0,    0,    0,    0,
    449 
    450         0,    0,    0,    0,    0,    0,    0,    0,  101,  101,
    451        22,  101,  101,  101,  101,  101,  101,  101,   15,  101,
    452       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    453       101,  101,  101,   23,   25,  101,   32,  101,  101,  101,
    454       101,  101,   41,  101,  101,  101,  101,   49,  101,  101,
    455        54,  101,  101,  101,  101,  101,   76,  101,  101,  101,
    456       101,  101,   86,  101,  101,   94,  101,  101,  100,    0,
     395        0,    0,    0,    0,    0,    0,  115,  115,  118,  118,
     396      181,  179,    7,    9,    8,  138,  117,  102,  143,  146,
     397      114,  125,  126,  141,  139,  129,  140,  132,  142,  107,
     398      108,  109,  130,  131,  148,  150,  149,  151,  179,  102,
     399      123,  179,  124,  144,  102,  104,  102,  102,  102,  102,
     400      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     401      102,  127,  147,  128,  145,    7,  179,    4,    4,  180,
     402      105,  180,  106,  115,  116,  122,  118,  119,    7,    9,
     403        0,    8,  155,  174,  102,    0,  167,  137,  160,  168,
     404      165,  152,  163,  153,  164,  162,    0,  112,    3,    0,
     405
     406      166,  112,  110,    0,    0,  110,  110,    0,    0,  110,
     407      109,  109,  109,    0,  109,  135,  136,  134,  156,  158,
     408      154,  159,  157,    0,    0,    0,    0,    0,    0,    0,
     409        0,    0,    0,    0,    0,    0,    0,    0,  103,  173,
     410        0,  117,  114,  102,    0,    0,  170,    0,  102,  102,
     411      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     412      102,  102,  102,  102,  102,   39,  102,  102,  102,  102,
     413      102,  102,  102,  102,  102,  102,   57,  102,  102,  102,
     414      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     415      102,  102,  169,  161,    7,    0,    0,    0,    2,    0,
     416
     417        5,  105,    0,    0,    0,  115,    0,  121,  120,  120,
     418        0,    0,    0,  118,    0,    0,    0,    0,    0,    0,
     419        0,    0,    0,    0,    0,    0,    0,    0,    0,  133,
     420      112,  112,    0,  112,  112,  112,    0,    6,  112,  110,
     421        0,    0,    0,  112,    0,  110,  110,  110,  110,    0,
     422      111,    0,    0,  109,  109,  109,  109,    0,  171,  172,
     423        0,  177,  175,    0,    0,    0,  103,    0,    0,    0,
     424        0,    0,    0,    0,    0,  102,   17,  102,  102,  102,
     425      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     426      102,  102,  102,  102,  102,   14,  102,  102,  102,  102,
     427
     428      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     429      102,  102,  102,  102,   51,  102,  102,  102,   64,  102,
     430      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     431      102,   88,  102,  102,  102,  102,  102,  102,  102,    0,
     432        0,    0,    0,    0,    0,    0,    0,  120,    0,    0,
     433        0,    0,    0,  120,    0,    0,  178,    0,    0,    0,
     434        0,    0,    0,    0,  112,    0,  112,    0,  112,    0,
     435        0,  112,  112,  110,  110,    0,    0,  111,  111,    0,
     436      111,    0,  111,  109,  109,    0,    0,    0,    0,    0,
     437        0,    0,    0,    0,    0,  176,  102,  102,  102,  102,
     438
     439      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     440      102,  102,  102,  102,  102,  102,  102,  102,  102,   21,
     441      102,   24,  102,   27,  102,  102,  102,  102,  102,  102,
     442      102,   42,  102,   44,  102,  102,  102,  102,  102,  102,
     443      102,   56,  102,   67,  102,  102,  102,  102,  102,  102,
     444      102,  102,  102,  102,  102,   89,  102,  102,   97,  102,
     445      102,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     446        0,    0,    0,    0,    0,  120,    0,    0,    0,    0,
     447        0,  112,  112,    0,    0,    0,    0,    0,  111,  111,
     448        0,  113,    0,  111,  111,    0,    0,    0,    0,    0,
     449
     450        0,    0,    0,    0,    0,    0,    0,    0,  102,  102,
     451       22,  102,  102,  102,  102,  102,  102,  102,   15,  102,
     452      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     453      102,  102,  102,   23,   25,  102,   32,  102,  102,  102,
     454      102,  102,   41,  102,  102,  102,  102,   49,  102,  102,
     455       54,  102,  102,  102,  102,  102,   76,  102,  102,  102,
     456      102,  102,   86,  102,  102,   94,  102,  102,  101,    0,
    457457        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    458         0,    0,    0,    0,    0,    0,    0,    0,  112,    0,
    459         0,  110,  112,  112,  112,  112,  112,  110,    0,    0,
    460 
    461         0,    0,    0,    0,    0,    0,    0,    0,  101,    0,
    462       101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    463       101,  101,  101,  101,  101,  101,   59,  101,  101,  101,
    464       101,  101,  101,  101,  101,   28,  101,  101,  101,  101,
    465        40,   43,   46,  101,  101,   52,  101,   61,   68,  101,
    466       101,   75,   77,   80,   81,   83,   84,  101,  101,   91,
    467       101,  101,    0,    1,    0,    0,    0,    0,    0,    0,
    468       104,    0,    0,    0,  119,    0,    0,    0,    0,  112,
    469       112,  112,  112,    0,    0,    0,    0,    0,    0,    0,
    470         0,    0,  101,  101,   18,  101,  101,  101,  101,  101,
    471 
    472       101,  101,   16,  101,  101,  101,   33,  101,  101,  101,
    473       101,  101,  101,  101,  101,  101,  101,  101,   35,  101,
    474        37,   38,  101,   48,   53,  101,  101,  101,   90,  101,
    475       101,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    476         0,    0,    0,    0,   10,   11,   29,   55,  101,  101,
    477       101,  101,  101,  101,  101,  101,  101,  101,  101,   60,
    478        62,   65,  101,  101,   78,   92,  101,  101,   36,   47,
    479        71,   72,  101,   95,   97,    0,    0,    0,    0,    0,
    480         0,    0,    0,    0,    0,    0,    0,  101,   69,  101,
    481       101,   12,  101,  101,   30,   34,  101,  101,  101,   66,
    482 
    483       101,  101,  101,  101,  101,  101,    0,    0,    0,    0,
     458        0,    0,    0,    0,    0,    0,    0,    0,  113,    0,
     459        0,  111,  113,  113,  113,  113,  113,  111,    0,    0,
     460
     461        0,    0,    0,    0,    0,    0,    0,    0,  102,    0,
     462      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     463      102,  102,  102,  102,  102,  102,   59,  102,  102,  102,
     464      102,  102,  102,  102,  102,   28,  102,  102,  102,  102,
     465       40,   43,   46,  102,  102,   52,  102,   61,   68,  102,
     466      102,   75,   77,   80,   81,   83,   84,  102,  102,   91,
     467      102,  102,    0,    1,    0,    0,    0,    0,    0,    0,
     468      105,    0,    0,    0,  120,    0,    0,    0,    0,  113,
     469      113,  113,  113,    0,    0,    0,    0,    0,    0,    0,
     470        0,    0,  102,  102,   18,  102,  102,  102,  102,  102,
     471
     472      102,  102,   16,  102,  102,  102,   33,  102,  102,  102,
     473      102,  102,  102,  102,  102,  102,  102,  102,   35,  102,
     474       37,   38,  102,   48,   53,  102,  102,  102,   90,  102,
     475      102,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     476        0,    0,    0,    0,   10,   11,   29,   55,  102,  102,
     477      102,  102,  102,  102,  102,  102,  102,  102,  102,   60,
     478       62,   65,  102,  102,   78,   92,  102,  102,   36,   47,
     479       71,   72,  102,   95,   98,    0,    0,    0,    0,    0,
     480        0,    0,    0,    0,    0,    0,    0,  102,   69,  102,
     481      102,   12,  102,  102,   30,   34,  102,  102,  102,   66,
     482
     483      102,  102,  102,  102,  102,  102,    0,    0,    0,    0,
    484484        0,    0,    0,    0,    0,    0,    0,    0,    0,   58,
    485       101,  101,  101,  101,  101,  101,  101,   50,   63,   73,
    486        79,   93,   98,  101,  101,    0,    0,    0,    0,    0,
    487         0,    0,    0,  101,  101,   13,   19,  101,   31,  101,
    488       101,  101,   26,   87,    0,    0,  101,  101,  101,  101,
    489       101,   74,   99,  101,   85,   20,  101,   45,   82,  101,
    490       101,  101,  101,   70,    0
     485      102,  102,  102,  102,  102,  102,  102,   50,   63,   73,
     486       79,   93,   99,  102,  102,    0,    0,    0,    0,    0,
     487        0,    0,    0,  102,  102,   13,   19,  102,  102,   31,
     488      102,  102,  102,   26,   87,    0,    0,  102,  102,  102,
     489      102,  102,  102,   74,  100,  102,   85,   20,  102,  102,
     490       45,   82,  102,  102,  102,  102,  102,  102,  102,   96,
     491       70,    0
    491492    } ;
    492493
     
    536537    } ;
    537538
    538 static yyconst flex_int16_t yy_base[1050] =
     539static yyconst flex_int16_t yy_base[1057] =
    539540    {   0,
    540         0,   83, 2238, 2237,   93,    0,  175,  176,  177,  178,
    541      2252, 2782,  189, 2782,  195,   54, 2782, 2197,   59,  171,
    542      2782, 2782, 2782,   55,  186, 2782,  189,  187,  202,  214,
    543       272,    0, 2213, 2782,  214, 2213,  150,  340,  153,  222,
    544      2782,  157, 2782,  215,  224, 2782,  207,  181,  221,  249,
     541        0,   83, 2255, 2253,   93,    0,  175,  176,  177,  178,
     542     2267, 2793,  189, 2793,  195,   54, 2793, 2214,   59,  171,
     543     2793, 2793, 2793,   55,  186, 2793,  189,  187,  202,  214,
     544      272,    0, 2232, 2793,  214, 2231,  150,  340,  153,  222,
     545     2793,  157, 2793,  215,  224, 2793,  207,  181,  221,  249,
    545546      235,  289,  155,  255,  218,  206,  266,  256,  323,  259,
    546       192, 2782,  223, 2782, 2210,  377,  342, 2782, 2220, 2782,
    547      2187,  234, 2782,    0, 2782,  421,    0, 2782,  393, 2782,
    548       399,  405, 2782,  492, 2184,  241, 2782, 2782, 2782, 2782,
    549      2782, 2201, 2782, 2200, 2782, 2782, 2211,  552, 2782, 2226,
    550 
    551      2782,  413,  393,  437,  493,  377,  318,  195,  430,  382,
    552         0,  384,  321,  196,  427, 2782, 2782, 2782, 2194, 2782,
    553      2782, 2782, 2193, 2192,  252,  302, 2206,  342,  435,  422,
    554       381,  455,  400,  494, 2185,  440, 2133,  469, 2163, 2782,
    555       276, 2782, 2782,  520, 2159, 2157, 2782, 2128,  414,  463,
     547      192, 2793,  223, 2793, 2226,  377,  342, 2793, 2235, 2793,
     548     2204,  234, 2793,    0, 2793,  421,    0, 2793,  393, 2793,
     549      399,  405, 2793,  492, 2203,  241, 2793, 2793, 2793, 2793,
     550     2793, 2219, 2793, 2216, 2793, 2793, 2226,  552, 2793, 2243,
     551
     552     2793,  413,  393,  437,  493,  377,  318,  195,  430,  382,
     553        0,  384,  321,  196,  427, 2793, 2793, 2793, 2213, 2793,
     554     2793, 2793, 2211, 2208,  252,  302, 2221,  342,  435,  422,
     555      381,  455,  400,  494, 2202,  440, 2152,  469, 2181, 2793,
     556      276, 2793, 2793,  520, 2175, 2172, 2793, 2145,  414,  463,
    556557      470,  325,  254,  479,  432,  274,  480,  423,  483,  498,
    557558      492,  503,  499,  509,  341,  455,  484,  377,  510,  512,
    558       517,  518,  529,  530,  531,  537, 2154,  541,  536,  544,
     559      517,  518,  529,  530,  531,  537, 2173,  541,  536,  544,
    559560      557,  546,  566,  569,  538,  552,  548,  554,  588,  571,
    560       570,  580, 2782, 2782,  645,  651, 2202,  657, 2782,  663,
    561 
    562      2782, 2152,  593, 2147, 2144,    0,  631, 2782, 2782,  669,
    563      2141, 2140, 2139,    0, 2160,  629,  635,  639,  678,  677,
    564       666,  670,  671,  674, 2138,  681,  682, 2115, 2114, 2782,
    565         0,  597,  702,  678,  676, 2111, 2160, 2782,  693,    0,
    566       710,  723,  743,  762,  788,  707, 2782, 2119, 2094,    0,
    567       776, 2138,  768,  723, 2782, 2113, 2086,  809, 2782, 2782,
    568      2118, 2782, 2782,  705,  710, 2098, 2097,  724, 2091, 2088,
    569      2087,    0, 2086,    0, 2056,  709,  682,  707,  712,  710,
     561      570,  580, 2793, 2793,  645,  651, 2220,  657, 2793,  663,
     562
     563     2793, 2168,  593, 2162, 2161,    0,  631, 2793, 2793,  669,
     564     2160, 2158, 2155,    0, 2175,  629,  635,  639,  678,  677,
     565      666,  670,  671,  674, 2172,  681,  682, 2150, 2148, 2793,
     566        0,  597,  702,  678,  676, 2128, 2178, 2793,  693,    0,
     567      710,  723,  743,  762,  788,  707, 2793, 2137, 2110,    0,
     568      776, 2153,  768,  723, 2793, 2130, 2105,  809, 2793, 2793,
     569     2136, 2793, 2793,  705,  710, 2114, 2112,  724, 2108, 2107,
     570     2105,    0, 2102,    0, 2071,  709,  682,  707,  712,  710,
    570571      724,  647,  750,  671,  786,  751,  748,  731,  778,  787,
    571       789,  788,  792,  790,  758, 2084,  796,  806,  800,  813,
     572      789,  788,  792,  790,  758, 2101,  796,  806,  800,  813,
    572573
    573574      798,  810,  802,  816,  822,  819,  815,  826,  830,  829,
    574       831,  832,  833,  837,  839,  841,  846,  843, 2081,  848,
     575      831,  832,  833,  837,  839,  841,  846,  843, 2100,  848,
    575576      850,  849,  851,  852,  854,  853,  857,  855,  858,  863,
    576       868, 2080,  867,  912,  871,  878,  872,  879,  882,  937,
    577       939, 2076, 2074, 2071,    0, 2070,    0,  927,  931, 2069,
    578         0, 2067,    0, 2064,    0, 2084, 2782,  913,  926, 2064,
    579      2060,    0, 2057,    0, 2782,  942,  960,  953, 2782,  966,
    580       981, 1005, 2053, 2782, 2782,  955,  968,  995,  968, 1028,
    581       892, 1014,  970, 2782, 2782, 2049, 2047, 2045,    0, 2042,
    582         0, 2040,    0, 2038,    0, 2782,  909,  944,  982,  943,
     577      868, 2098,  867,  912,  871,  878,  872,  879,  882,  937,
     578      939, 2092, 2089, 2088,    0, 2087,    0,  927,  931, 2085,
     579        0, 2082,    0, 2081,    0, 2101, 2793,  913,  926, 2080,
     580     2075,    0, 2074,    0, 2793,  942,  960,  953, 2793,  966,
     581      981, 1005, 2073, 2793, 2793,  955,  968,  995,  968, 1028,
     582      892, 1014,  970, 2793, 2793, 2071, 2068, 2064,    0, 2060,
     583        0, 2058,    0, 2056,    0, 2793,  909,  944,  982,  943,
    583584
    584585     1006,  911, 1012,  923, 1013, 1019, 1009, 1016, 1023, 1024,
    585      1020,  972, 1030, 1028,  989, 1026, 1034, 1027, 1039, 2038,
    586      1044, 2035, 1048, 2034, 1049, 1051, 1052, 1053, 1056, 1057,
    587      1055, 2033, 1059, 2031,  946, 1063, 1066, 1067, 1068, 1071,
    588      1069, 2028, 1075, 2025, 1077, 1080, 1079, 1082, 1084, 1086,
    589      1087, 1090, 1097, 1107, 1088, 1108, 1093, 1098, 2024, 1096,
    590      1111, 1164, 2020,    0, 2018,    0, 2015,    0, 2012,    0,
    591      1151, 2011,    0, 2010,    0, 2008, 2005, 2002,    0, 2001,
    592         0, 1156, 2000, 1162, 1148, 1182, 1149, 1126, 1147, 2782,
    593      1201, 1215, 1241, 2010, 1983, 1992, 1991,    0, 1990,    0,
    594 
    595      1988,    0, 1985,    0, 1982,    0, 1981,    0, 1161, 1149,
    596      1983, 1179, 1140, 1180, 1117, 1182, 1192, 1199, 1181, 1163,
     586     1020,  972, 1030, 1028,  989, 1026, 1034, 1027, 1039, 2056,
     587     1044, 2054, 1048, 2052, 1049, 1051, 1052, 1053, 1056, 1057,
     588     1055, 2049, 1059, 2046,  946, 1063, 1066, 1067, 1068, 1071,
     589     1069, 2045, 1075, 2044, 1077, 1080, 1079, 1082, 1084, 1086,
     590     1087, 1090, 1097, 1107, 1088, 1108, 1093, 1098, 2042, 1096,
     591     1111, 1164, 2036,    0, 2033,    0, 2032,    0, 2031,    0,
     592     1151, 2029,    0, 2026,    0, 2023, 2022, 2021,    0, 2019,
     593        0, 1156, 2016, 1162, 1148, 1182, 1149, 1126, 1147, 2793,
     594     1201, 1215, 1241, 2025, 2000, 2011, 2009,    0, 2006,    0,
     595
     596     2003,    0, 2002,    0, 2001,    0, 1999,    0, 1161, 1149,
     597     1999, 1179, 1140, 1180, 1117, 1182, 1192, 1199, 1181, 1163,
    597598     1196, 1200, 1201, 1220, 1198, 1221, 1224,  604, 1226, 1227,
    598      1231, 1233, 1234, 1981, 1244, 1236, 1978, 1240, 1241, 1246,
    599      1247, 1243, 1975, 1250, 1251, 1253, 1254, 1974, 1255, 1267,
    600      1973, 1264, 1271, 1256, 1263, 1257, 1971, 1275, 1277, 1279,
    601      1260, 1281, 1290, 1285, 1288, 1968, 1289, 1291, 1967, 2015,
    602      1961,    0, 1958,    0, 1957,    0, 1956,    0, 1954,    0,
    603      1921,    0, 1919,    0, 1918,    0, 1336, 1342, 1369, 1353,
    604      1915, 2782, 1359, 1307, 1359, 1309, 1912, 2782, 1911,    0,
    605 
    606      1910,    0, 1908,    0, 1905,    0,    0,    0, 1905,    0,
     599     1231, 1233, 1234, 1996, 1244, 1236, 1995, 1240, 1241, 1246,
     600     1247, 1243, 1994, 1250, 1251, 1253, 1254, 1992, 1255, 1267,
     601     1989, 1264, 1271, 1256, 1263, 1257, 1986, 1275, 1277, 1279,
     602     1260, 1281, 1290, 1285, 1288, 1985, 1289, 1291, 1984, 2031,
     603     1976,    0, 1975,    0, 1974,    0, 1972,    0, 1969,    0,
     604     1968,    0, 1967,    0, 1965,    0, 1336, 1342, 1369, 1353,
     605     1932, 2793, 1359, 1307, 1359, 1309, 1930, 2793, 1929,    0,
     606
     607     1926,    0, 1923,    0, 1922,    0,    0,    0, 1924,    0,
    607608     1347, 1295, 1292, 1323, 1337, 1338, 1296, 1349, 1351, 1355,
    608609     1353, 1348, 1363, 1364, 1371, 1373, 1380, 1375, 1403, 1381,
    609      1385, 1389, 1094, 1387, 1390, 1904, 1391, 1393, 1397, 1401,
    610      1903, 1901, 1898, 1394, 1400, 1897, 1404, 1896, 1894, 1402,
    611      1408, 1891, 1890, 1889, 1887, 1884, 1880, 1417, 1412, 1876,
    612      1420, 1418, 1921, 2782, 1853,    0, 1852,    0,    0,    0,
    613      1854,    0,    0,    0, 2782,    0,    0,    0,    0, 1463,
    614      1849, 2782, 2782, 1469, 1846,    0, 1845,    0,    0,    0,
    615         0, 1844, 1407, 1446, 1845, 1406, 1423, 1300, 1431, 1449,
    616 
    617      1455, 1447, 1842, 1457, 1448, 1459, 1464, 1460, 1490, 1474,
    618      1470, 1494, 1480, 1475, 1484, 1485, 1486, 1482, 1841, 1487,
    619      1840, 1838, 1489, 1835, 1834, 1491, 1493, 1497, 1833, 1498,
    620      1500,    0,    0,    0, 1828, 1825, 1824, 1548,    0, 1823,
    621      1821, 1818, 1817, 1816, 1817, 1814, 1813, 1812, 1505, 1510,
    622      1502, 1501, 1504, 1508, 1513, 1517, 1526, 1528, 1559, 1810,
    623      1533, 1807, 1534, 1535, 1544, 1545, 1538, 1539, 1806, 1805,
    624      1803, 1800, 1540, 1799, 1798, 1793, 1786, 1784, 1783, 1780,
    625      1779, 1778, 1776, 1759, 1750, 1749, 1746, 1546, 1742, 1549,
    626      1550, 1552, 1554, 1557, 1558, 1739, 1556, 1589, 1566, 1732,
    627 
    628      1565, 1572, 1577, 1579, 1567, 1578, 1727, 1726, 1705, 1704,
    629      1703, 1696, 1694, 1693, 1650, 1649, 1647, 1645, 1644, 1646,
    630      1571, 1584, 1582, 1581, 1586, 1593, 1595, 1645, 1644, 1597,
    631      1642, 1641, 1598, 1599, 1602, 1636, 1635, 1633, 1422, 1421,
    632      1205, 1201,  946, 1605, 1610,  910, 1603, 1607,  768, 1613,
    633      1618, 1619,  723,  605,  503,  370, 1609, 1620, 1623, 1624,
    634      1625,  338,  337, 1627,  290,  251, 1630,  200,  196, 1631,
    635      1632, 1637, 1633,  136, 2782, 1707, 1720, 1733, 1743, 1753,
    636      1766, 1776, 1789, 1802, 1815, 1823, 1833, 1840, 1847, 1854,
    637      1861, 1868, 1875, 1882, 1889, 1896, 1909, 1916, 1920, 1928,
    638 
    639      1931, 1938, 1945, 1952, 1955, 1962, 1968, 1981, 1994, 2001,
    640      2008, 2015, 2022, 2025, 2032, 2035, 2042, 2045, 2052, 2055,
    641      2062, 2065, 2072, 2075, 2082, 2085, 2092, 2100, 2107, 2114,
    642      2121, 2128, 2131, 2138, 2141, 2148, 2151, 2158, 2164, 2177,
    643      2184, 2191, 2194, 2201, 2204, 2211, 2214, 2221, 2224, 2231,
    644      2234, 2241, 2244, 2251, 2258, 2261, 2268, 2271, 2278, 2285,
    645      2292, 2295, 2302, 2305, 2312, 2315, 2322, 2325, 2332, 2335,
    646      2342, 2348, 2361, 2368, 2375, 2378, 2385, 2388, 2395, 2398,
    647      2405, 2408, 2415, 2418, 2425, 2428, 2435, 2438, 2445, 2448,
    648      2455, 2462, 2465, 2472, 2475, 2482, 2485, 2492, 2495, 2498,
    649 
    650      2504, 2511, 2520, 2527, 2534, 2537, 2544, 2547, 2550, 2556,
    651      2563, 2566, 2569, 2572, 2575, 2578, 2581, 2584, 2591, 2594,
    652      2601, 2604, 2607, 2610, 2613, 2623, 2630, 2633, 2636, 2639,
    653      2646, 2653, 2660, 2663, 2670, 2677, 2684, 2691, 2698, 2705,
    654      2712, 2719, 2726, 2733, 2740, 2747, 2754, 2761, 2768
     610     1385, 1389, 1094, 1387, 1390, 1922, 1391, 1393, 1397, 1401,
     611     1919, 1916, 1915, 1394, 1400, 1914, 1404, 1912, 1909, 1402,
     612     1408, 1908, 1907, 1905, 1902, 1901, 1900, 1417, 1412, 1898,
     613     1420, 1418, 1944, 2793, 1888,    0, 1884,    0,    0,    0,
     614     1883,    0,    0,    0, 2793,    0,    0,    0,    0, 1463,
     615     1864, 2793, 2793, 1469, 1863,    0, 1862,    0,    0,    0,
     616        0, 1860, 1407, 1446, 1860, 1406, 1423, 1300, 1431, 1449,
     617
     618     1455, 1447, 1859, 1457, 1448, 1459, 1464, 1460, 1490, 1474,
     619     1470, 1494, 1480, 1475, 1484, 1485, 1486, 1482, 1858, 1487,
     620     1856, 1853, 1489, 1852, 1851, 1491, 1493, 1497, 1849, 1498,
     621     1500,    0,    0,    0, 1843, 1842, 1841, 1548,    0, 1839,
     622     1836, 1835, 1834, 1832, 1832, 1831, 1830, 1828, 1505, 1510,
     623     1502, 1501, 1504, 1508, 1513, 1517, 1526, 1528, 1559, 1825,
     624     1533, 1824, 1534, 1535, 1544, 1545, 1538, 1539, 1823, 1821,
     625     1818, 1817, 1540, 1816, 1814, 1808, 1807, 1806, 1804, 1797,
     626     1795, 1794, 1791, 1790, 1789, 1787, 1770, 1546, 1764, 1549,
     627     1550, 1552, 1554, 1557, 1558, 1763, 1556, 1589, 1566, 1760,
     628
     629     1565, 1572, 1577, 1579, 1567, 1578, 1750, 1747, 1740, 1738,
     630     1737, 1716, 1715, 1714, 1707, 1705, 1704, 1662, 1659, 1661,
     631     1571, 1584, 1582, 1581, 1586, 1593, 1595, 1659, 1657, 1597,
     632     1654, 1652, 1598, 1599, 1602, 1648, 1647, 1644, 1642, 1422,
     633     1421, 1205, 1201, 1605, 1613,  949, 1603, 1607, 1615,  910,
     634     1616, 1621, 1622,  768,  723,  602,  503, 1609, 1623, 1627,
     635     1626, 1628, 1632,  373,  338, 1633,  337,  290, 1637, 1634,
     636      251,  200, 1639, 1640, 1641, 1643, 1642, 1644, 1646,  196,
     637      136, 2793, 1718, 1731, 1744, 1754, 1764, 1777, 1787, 1800,
     638     1813, 1826, 1834, 1844, 1851, 1858, 1865, 1872, 1879, 1886,
     639
     640     1893, 1900, 1907, 1920, 1927, 1931, 1939, 1942, 1949, 1956,
     641     1963, 1966, 1973, 1979, 1992, 2005, 2012, 2019, 2026, 2033,
     642     2036, 2043, 2046, 2053, 2056, 2063, 2066, 2073, 2076, 2083,
     643     2086, 2093, 2096, 2103, 2111, 2118, 2125, 2132, 2139, 2142,
     644     2149, 2152, 2159, 2162, 2169, 2175, 2188, 2195, 2202, 2205,
     645     2212, 2215, 2222, 2225, 2232, 2235, 2242, 2245, 2252, 2255,
     646     2262, 2269, 2272, 2279, 2282, 2289, 2296, 2303, 2306, 2313,
     647     2316, 2323, 2326, 2333, 2336, 2343, 2346, 2353, 2359, 2372,
     648     2379, 2386, 2389, 2396, 2399, 2406, 2409, 2416, 2419, 2426,
     649     2429, 2436, 2439, 2446, 2449, 2456, 2459, 2466, 2473, 2476,
     650
     651     2483, 2486, 2493, 2496, 2503, 2506, 2509, 2515, 2522, 2531,
     652     2538, 2545, 2548, 2555, 2558, 2561, 2567, 2574, 2577, 2580,
     653     2583, 2586, 2589, 2592, 2595, 2602, 2605, 2612, 2615, 2618,
     654     2621, 2624, 2634, 2641, 2644, 2647, 2650, 2657, 2664, 2671,
     655     2674, 2681, 2688, 2695, 2702, 2709, 2716, 2723, 2730, 2737,
     656     2744, 2751, 2758, 2765, 2772, 2779
    655657    } ;
    656658
    657 static yyconst flex_int16_t yy_def[1050] =
     659static yyconst flex_int16_t yy_def[1057] =
    658660    {   0,
    659       875,    1,  876,  876,  875,    5,  877,  877,  878,  878,
    660       875,  875,  875,  875,  875,  875,  875,  879,  875,  875,
    661       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    662       875,   31,  875,  875,  875,  875,  875,  875,  880,  879,
    663       875,  875,  875,  875,  879,  875,  879,  879,  879,  879,
    664       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
    665       879,  875,  875,  875,  875,  875,  881,  875,  875,  875,
    666       882,  875,  875,  883,  875,  875,  884,  875,  875,  875,
    667       875,  875,  875,  875,  879,  875,  875,  875,  875,  875,
    668       875,  875,  875,  875,  875,  875,  875,  875,  875,  885,
    669 
    670       875,   98,   30,  875,  875,  875,  875,  886,   30,  875,
    671        31,  875,  875,   31,  875,  875,  875,  875,  875,  875,
    672       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    673       875,  875,  875,  875,  875,  875,  875,  875,  887,  875,
    674       875,  875,  875,  879,  888,  889,  875,  875,  879,  879,
    675       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
    676       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
    677       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
    678       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
    679       879,  879,  875,  875,  875,  881,  881,  881,  875,  881,
    680 
    681       875,  882,  875,  890,  891,  883,  875,  875,  875,  875,
    682       892,  893,  894,  884,  875,  875,  875,  875,  875,  875,
    683       875,  875,  875,  875,  875,  875,  875,  895,  896,  875,
    684        98,  875,  875,  875,  875,   98,  897,  875,  875,  103,
    685       103,  875,  875,  875,  875,  875,  875,  875,  875,  898,
    686       899,  900,  875,  875,  875,  875,  875,  875,  875,  875,
    687       875,  875,  875,  875,  875,  875,  887,  875,  901,  902,
    688       903,  904,  905,  906,  875,  907,  907,  907,  907,  907,
    689       907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
    690       907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
    691 
    692       907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
    693       907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
    694       907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
    695       907,  907,  907,  907,  907,  907,  907,  907,  907,  908,
    696       909,  910,  911,  912,  913,  914,  915,  875,  875,  916,
    697       917,  918,  919,  920,  921,  875,  875,  875,  875,  875,
    698       922,  923,  924,  925,  875,  875,  875,  875,  875,  875,
    699       875,  367,  372,  875,  875,  926,  927,  928,  875,  875,
    700       875,  928,  875,  875,  875,  929,  930,  931,  932,  933,
    701       934,  935,  936,  937,  938,  875,  939,  939,  939,  939,
    702 
    703       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    704       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    705       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    706       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    707       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    708       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
    709       939,  940,  941,  942,  943,  944,  945,  946,  947,  948,
    710       875,  949,  950,  951,  952,  953,  953,  954,  955,  956,
    711       957,  875,  482,  875,  958,  875,  958,  875,  875,  875,
    712       875,  875,  875,  875,  875,  959,  960,  961,  962,  963,
    713 
    714       964,  965,  966,  967,  968,  969,  970,  971,  972,  972,
    715       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    716       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    717       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    718       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    719       972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
    720       972,  972,  972,  972,  972,  972,  972,  972,  972,  973,
    721       974,  975,  976,  977,  978,  979,  980,  981,  982,  983,
    722       984,  985,  986,  987,  988,  989,  875,  875,  875,  875,
    723       990,  875,  589,  875,  875,  875,  593,  875,  991,  992,
    724 
    725       993,  994,  995,  996,  997,  998,  999, 1000, 1001, 1002,
    726      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
    727      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
    728      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
    729      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
    730      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
    731      1001, 1001, 1003,  875, 1004, 1005, 1006, 1007, 1008, 1009,
    732      1010, 1011, 1012, 1013,  875, 1014, 1015, 1016, 1017,  875,
    733       680,  875,  875,  875, 1018, 1019, 1020, 1021, 1022, 1023,
    734      1024, 1025, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    735 
    736      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    737      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    738      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    739      1026, 1027, 1028, 1029, 1030, 1031, 1032,  875, 1033, 1018,
    740      1020, 1034, 1035, 1025, 1026, 1026, 1026, 1026, 1026, 1026,
    741      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    742      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    743      1026, 1026, 1026, 1026, 1026, 1036, 1037, 1030, 1038, 1031,
    744      1039, 1032, 1040, 1041, 1034, 1042, 1035, 1026, 1026, 1026,
    745      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    746 
    747      1026, 1026, 1026, 1026, 1026, 1026, 1043, 1036, 1044, 1037,
    748      1045, 1038, 1046, 1039, 1047, 1040, 1048, 1041, 1042, 1026,
    749      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    750      1026, 1026, 1026, 1026, 1026, 1049, 1043, 1044, 1045, 1046,
    751      1020, 1047, 1048, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    752      1026, 1026, 1026, 1026, 1049, 1020, 1026, 1026, 1026, 1026,
    753      1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
    754      1026, 1026, 1026, 1026,    0,  875,  875,  875,  875,  875,
    755       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    756       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    757 
    758       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    759       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    760       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    761       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    762       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    763       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    764       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    765       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    766       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    767       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    768 
    769       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    770       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    771       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    772       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    773       875,  875,  875,  875,  875,  875,  875,  875,  875
     661      882,    1,  883,  883,  882,    5,  884,  884,  885,  885,
     662      882,  882,  882,  882,  882,  882,  882,  886,  882,  882,
     663      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     664      882,   31,  882,  882,  882,  882,  882,  882,  887,  886,
     665      882,  882,  882,  882,  886,  882,  886,  886,  886,  886,
     666      886,  886,  886,  886,  886,  886,  886,  886,  886,  886,
     667      886,  882,  882,  882,  882,  882,  888,  882,  882,  882,
     668      889,  882,  882,  890,  882,  882,  891,  882,  882,  882,
     669      882,  882,  882,  882,  886,  882,  882,  882,  882,  882,
     670      882,  882,  882,  882,  882,  882,  882,  882,  882,  892,
     671
     672      882,   98,   30,  882,  882,  882,  882,  893,   30,  882,
     673       31,  882,  882,   31,  882,  882,  882,  882,  882,  882,
     674      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     675      882,  882,  882,  882,  882,  882,  882,  882,  894,  882,
     676      882,  882,  882,  886,  895,  896,  882,  882,  886,  886,
     677      886,  886,  886,  886,  886,  886,  886,  886,  886,  886,
     678      886,  886,  886,  886,  886,  886,  886,  886,  886,  886,
     679      886,  886,  886,  886,  886,  886,  886,  886,  886,  886,
     680      886,  886,  886,  886,  886,  886,  886,  886,  886,  886,
     681      886,  886,  882,  882,  882,  888,  888,  888,  882,  888,
     682
     683      882,  889,  882,  897,  898,  890,  882,  882,  882,  882,
     684      899,  900,  901,  891,  882,  882,  882,  882,  882,  882,
     685      882,  882,  882,  882,  882,  882,  882,  902,  903,  882,
     686       98,  882,  882,  882,  882,   98,  904,  882,  882,  103,
     687      103,  882,  882,  882,  882,  882,  882,  882,  882,  905,
     688      906,  907,  882,  882,  882,  882,  882,  882,  882,  882,
     689      882,  882,  882,  882,  882,  882,  894,  882,  908,  909,
     690      910,  911,  912,  913,  882,  914,  914,  914,  914,  914,
     691      914,  914,  914,  914,  914,  914,  914,  914,  914,  914,
     692      914,  914,  914,  914,  914,  914,  914,  914,  914,  914,
     693
     694      914,  914,  914,  914,  914,  914,  914,  914,  914,  914,
     695      914,  914,  914,  914,  914,  914,  914,  914,  914,  914,
     696      914,  914,  914,  914,  914,  914,  914,  914,  914,  914,
     697      914,  914,  914,  914,  914,  914,  914,  914,  914,  915,
     698      916,  917,  918,  919,  920,  921,  922,  882,  882,  923,
     699      924,  925,  926,  927,  928,  882,  882,  882,  882,  882,
     700      929,  930,  931,  932,  882,  882,  882,  882,  882,  882,
     701      882,  367,  372,  882,  882,  933,  934,  935,  882,  882,
     702      882,  935,  882,  882,  882,  936,  937,  938,  939,  940,
     703      941,  942,  943,  944,  945,  882,  946,  946,  946,  946,
     704
     705      946,  946,  946,  946,  946,  946,  946,  946,  946,  946,
     706      946,  946,  946,  946,  946,  946,  946,  946,  946,  946,
     707      946,  946,  946,  946,  946,  946,  946,  946,  946,  946,
     708      946,  946,  946,  946,  946,  946,  946,  946,  946,  946,
     709      946,  946,  946,  946,  946,  946,  946,  946,  946,  946,
     710      946,  946,  946,  946,  946,  946,  946,  946,  946,  946,
     711      946,  947,  948,  949,  950,  951,  952,  953,  954,  955,
     712      882,  956,  957,  958,  959,  960,  960,  961,  962,  963,
     713      964,  882,  482,  882,  965,  882,  965,  882,  882,  882,
     714      882,  882,  882,  882,  882,  966,  967,  968,  969,  970,
     715
     716      971,  972,  973,  974,  975,  976,  977,  978,  979,  979,
     717      979,  979,  979,  979,  979,  979,  979,  979,  979,  979,
     718      979,  979,  979,  979,  979,  979,  979,  979,  979,  979,
     719      979,  979,  979,  979,  979,  979,  979,  979,  979,  979,
     720      979,  979,  979,  979,  979,  979,  979,  979,  979,  979,
     721      979,  979,  979,  979,  979,  979,  979,  979,  979,  979,
     722      979,  979,  979,  979,  979,  979,  979,  979,  979,  980,
     723      981,  982,  983,  984,  985,  986,  987,  988,  989,  990,
     724      991,  992,  993,  994,  995,  996,  882,  882,  882,  882,
     725      997,  882,  589,  882,  882,  882,  593,  882,  998,  999,
     726
     727     1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
     728     1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
     729     1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
     730     1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
     731     1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
     732     1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
     733     1008, 1008, 1010,  882, 1011, 1012, 1013, 1014, 1015, 1016,
     734     1017, 1018, 1019, 1020,  882, 1021, 1022, 1023, 1024,  882,
     735      680,  882,  882,  882, 1025, 1026, 1027, 1028, 1029, 1030,
     736     1031, 1032, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
     737
     738     1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
     739     1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
     740     1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
     741     1033, 1034, 1035, 1036, 1037, 1038, 1039,  882, 1040, 1025,
     742     1027, 1041, 1042, 1032, 1033, 1033, 1033, 1033, 1033, 1033,
     743     1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
     744     1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
     745     1033, 1033, 1033, 1033, 1033, 1043, 1044, 1037, 1045, 1038,
     746     1046, 1039, 1047, 1048, 1041, 1049, 1042, 1033, 1033, 1033,
     747     1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
     748
     749     1033, 1033, 1033, 1033, 1033, 1033, 1050, 1043, 1051, 1044,
     750     1052, 1045, 1053, 1046, 1054, 1047, 1055, 1048, 1049, 1033,
     751     1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
     752     1033, 1033, 1033, 1033, 1033, 1056, 1050, 1051, 1052, 1053,
     753     1027, 1054, 1055, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
     754     1033, 1033, 1033, 1033, 1033, 1056, 1027, 1033, 1033, 1033,
     755     1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
     756     1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033,
     757     1033,    0,  882,  882,  882,  882,  882,  882,  882,  882,
     758      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     759
     760      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     761      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     762      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     763      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     764      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     765      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     766      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     767      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     768      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     769      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     770
     771      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     772      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     773      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     774      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     775      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     776      882,  882,  882,  882,  882,  882
    774777    } ;
    775778
    776 static yyconst flex_int16_t yy_nxt[2867] =
     779static yyconst flex_int16_t yy_nxt[2878] =
    777780    {   0,
    778781       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
     
    799802
    800803       82,   81,   90,   92,  141,  145,   86,   97,   94,   98,
    801        98,   98,   98,   98,   98,  250,  875,   93,   99,   84,
     804       98,   98,   98,   98,   98,  250,  882,   93,   99,   84,
    802805       95,   96,   84,  100,  176,  117,   76,   76,   76,   76,
    803806      142,  146,   86,  101,  102,  143,  103,  103,  103,  103,
     
    822825       81,   80,   81,   81,   81,   81,   81,   80,   82,   82,
    823826       82,   81,  261,  305,  262,  240,  240,  240,  240,  246,
    824       137,  138,  207,  208,  875,  247,  254,  207,   86,  209,
     827      137,  138,  207,  208,   86,  247,  254,  207,   86,  209,
    825828      247,  261,  255,  262,  209,   98,   98,   98,   98,   98,
    826        98,  263,  875,  210,  210,  210,  210,  241,  246,  308,
    827       875,  247,  263,  261,  209,  262,  247,  102,  255,  104,
     829       98,  263,  882,  210,  210,  210,  210,  241,  246,  308,
     830      882,  247,  263,  261,  209,  262,  247,  102,  255,  104,
    828831      104,  104,  104,  104,  104,   86,  261,  239,  262,  211,
    829       875,  261,  209,  262,   86,  255,  105,  209,  209,  875,
     832      882,  261,  209,  262,   86,  255,  105,  209,  209,  882,
    830833      276,  209,  209,   86,  253,  264,  261,  277,  262,  209,
    831834      296,  242,  209,  254,  209,  212,  209,  105,  213,  215,
    832835
    833       261,  255,  262,  216,  217,  283,   86,  875,  218,  219,
     836      261,  255,  262,  216,  217,  283,   86,  882,  218,  219,
    834837      243,  220,  243,  221,   86,  244,  244,  244,  244,  244,
    835838      244,   86,  222,  223,  224,  261,  265,  262,  142,  306,
    836839       86,   86,  278,  143,   86,   86,  285,  286,  287,  279,
    837840      288,  289,  225,   86,  290,  226,  291,  245,  282,   86,
    838        86,  292,  293,  294,   86,  295,  297,  875,  298,  301,
     841       86,  292,  293,  294,   86,  295,  297,  882,  298,  301,
    839842       86,   86,  307,   86,  299,  300,  309,  303,   86,   86,
    840843      304,   86,  302,  227,  231,  231,  231,  231,  231,  231,
     
    847850      324,   86,  207,  208,  337,  335,  338,  207,  365,   86,
    848851      329,  342,  334,  336,  339,  327,  195,   80,   81,   81,
    849        81,  195,  198,  199,  196,   86,   86,  198,  198,  199,
     852       81,  195,  198,  199,  196,   86,  882,  198,  198,  199,
    850853      356,  365,  357,  198,  340,  199,  356,  343,  357,  340,
    851854      356,  341,  357,  200,  200,  200,  200,  200,  200,  200,
     
    856859      357,  357,  356,  356,  357,  357,  369,  365,  403,  366,
    857860      369,  366,   86,  349,  367,  367,  367,  367,  367,  367,
    858       875,  232,  233,   86,  234,  235,  261,  369,  262,  369,
     861      882,  232,  233,   86,  234,  235,  261,  369,  262,  369,
    859862      365,  261,  405,  262,  369,  104,  104,  104,  104,  104,
    860863      104,  398,  232,  233,  232,  374,  368,  234,   86,  235,
     
    886889      231,  231,  231,  231,   86,   86,  516,   86,  232,  486,
    887890
    888       875,  234,  235,  240,  240,  240,  240,  104,  104,  487,
     891       86,  234,  235,  240,  240,  240,  240,  104,  104,  487,
    889892      489,  510,  486,  512,  483,  377,  490,  545,  490,  232,
    890893      370,  232,  488,   86,  234,  486,  235,  372,  372,  372,
    891       372,  372,  372,   86,  875,  371,  489,  379,  486,  380,
     894      372,  372,  372,   86,  882,  371,  489,  379,  486,  380,
    892895       86,  525,  490,  381,  490,  491,  529,  491,  511,  382,
    893896      492,  492,  492,  492,  492,  492,  379,   86,  380,  373,
     
    913916       86,   86,   86,   86,  621,  620,  590,  593,  593,  593,
    914917      593,  593,  593,   86,  615,  613,  617,   86,  618,   86,
    915        86,   86,   86,  594,  626,  875,  595,  596,  491,  856,
     918       86,   86,   86,  594,  626,  882,  595,  596,  491,  882,
    916919      491,  619,  622,  492,  492,  492,  492,  492,  492,  597,
    917920      623,   86,   86,  624,  594,   86,  594,   86,   86,  595,
     
    937940      718,   86,   86,   86,   86,   86,  714,   86,   86,   86,
    938941      717,  722,  726,   86,  719,  723,  727,  720,   86,   86,
    939       721,   86,  725,  729,   86,  875,  875,  728,  724,  745,
     942      721,   86,  725,  729,   86,  857,  882,  728,  724,  745,
    940943      730,  748,   86,  747,  731,  680,  680,  680,  680,  680,
    941944      680,  593,  593,  593,  593,  593,  593,   86,   86,   86,
     
    956959      829,  821,   86,   86,  820,  827,  831,  824,   86,   86,
    957960       86,  832,   86,   86,  834,   86,  846,   86,  830,  833,
    958        86,  847,  845,  844,   86,  835,   86,  849,   86,   86,
    959        86,  851,  852,   86,   86,  848,   86,  859,   86,  853,
    960        86,   86,  854,  850,   86,  857,  858,  861,  860,   86,
    961        86,   86,  862,  863,   86,   86,   86,  866,   86,  868,
    962       864,   86,   86,   86,   86,  867,  865,  875,   86,  875,
    963       855,  871,   86,   86,  874,   86,   86,   86,  875,  875,
    964 
    965       869,  843,  870,  875,  842,  872,  873,   68,   68,   68,
     961       86,  847,  845,  844,   86,  835,   86,  850,   86,   86,
     962       86,  852,  853,   86,   86,  848,   86,  860,   86,  854,
     963       86,  849,  855,  851,   86,  858,   86,   86,  861,  859,
     964      863,  862,   86,   86,   86,  864,  865,   86,   86,   86,
     965      866,  868,  870,   86,   86,   86,  871,  869,   86,  867,
     966       86,   86,   86,   86,   86,   86,  882,   86,  882,  875,
     967
     968      874,  882,  856,   86,  876,   86,  872,  881,   86,  873,
     969       86,  879,   86,  882,  877,  878,  882,  880,   68,   68,
    966970       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
    967        74,   74,   74,   74,   74,   74,   74,   74,   74,   74,
    968        74,   74,   74,   77,   77,   77,   77,   77,   77,   77,
    969        77,   77,   77,   77,   77,   77,   85,  875,  840,   85,
    970       875,   85,   85,   85,   85,   85,  139,  839,  875,  838,
    971       139,  139,  139,  139,  139,  139,  197,  197,  197,  197,
    972       197,  197,  197,  197,  197,  197,  197,  197,  197,  202,
    973       875,  837,  202,   86,  202,  202,  202,  202,  202,  206,
    974        86,  206,  206,   86,  206,  206,  206,  206,  206,  206,
    975 
    976       875,  206,  214,  819,  875,  214,  214,  214,  214,  214,
    977       214,  214,  214,  818,  214,  237,  237,  237,  237,  237,
    978       237,  237,  237,  237,  237,  237,  237,  237,  251,  251,
    979       816,  251,  875,  814,  875,  251,  267,  812,  875,  267,
    980       810,  267,  267,  267,  267,  267,  271,  808,  271,   86,
    981        86,   86,  271,  273,   86,  273,   86,   86,   86,  273,
    982       344,   86,  344,   86,   86,   86,  344,  346,   86,  346,
    983       875,  787,  785,  346,  350,  875,  350,  875,  782,  780,
    984       350,  352,  778,  352,   86,   86,   86,  352,  354,   86,
    985       354,   86,   86,   86,  354,  361,   86,  361,  744,  741,
    986 
    987       740,  361,  363,  738,  363,  203,  734,  733,  363,  237,
     971       68,   74,   74,   74,   74,   74,   74,   74,   74,   74,
     972       74,   74,   74,   74,   77,   77,   77,   77,   77,   77,
     973       77,   77,   77,   77,   77,   77,   77,   85,  843,  882,
     974       85,  842,   85,   85,   85,   85,   85,  139,  882,  840,
     975      882,  139,  139,  139,  139,  139,  139,  197,  197,  197,
     976      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
     977      202,  839,  882,  202,  838,  202,  202,  202,  202,  202,
     978
     979      206,  882,  206,  206,  837,  206,  206,  206,  206,  206,
     980      206,   86,  206,  214,   86,   86,  214,  214,  214,  214,
     981      214,  214,  214,  214,  882,  214,  237,  237,  237,  237,
     982      237,  237,  237,  237,  237,  237,  237,  237,  237,  251,
     983      251,  819,  251,  882,  818,  816,  251,  267,  882,  814,
     984      267,  882,  267,  267,  267,  267,  267,  271,  812,  271,
     985      882,  810,  808,  271,  273,   86,  273,   86,   86,   86,
     986      273,  344,   86,  344,   86,   86,   86,  344,  346,   86,
     987      346,   86,   86,   86,  346,  350,  882,  350,  787,  785,
     988      882,  350,  352,  882,  352,  782,  780,  778,  352,  354,
     989
     990       86,  354,   86,   86,   86,  354,  361,   86,  361,   86,
     991       86,   86,  361,  363,  744,  363,  741,  740,  738,  363,
    988992      237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
    989       237,  237,  376,  664,  376,  378,  378,   86,  378,  378,
    990       378,   86,  378,  251,  251,   86,  251,  388,   86,  388,
    991        86,   86,   86,  388,  390,   86,  390,   86,   86,   86,
    992       390,  392,   86,  392,   86,   86,   86,  392,  271,  691,
    993       271,  394,  690,  394,  688,  686,  684,  394,  273,  591,
    994       273,   85,  679,  678,   85,  676,   85,   85,   85,   85,
    995        85,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    996       197,  197,  197,  197,  462,  462,  462,  462,  462,  462,
    997 
    998       462,  462,  462,  462,  462,  462,  462,  463,  674,  463,
    999       672,  670,  668,  463,  465,  666,  465,  664,   86,   86,
    1000       465,  467,   86,  467,   86,   86,   86,  467,  344,   86,
    1001       344,  469,   86,  469,   86,  610,  608,  469,  346,  606,
    1002       346,  472,  604,  472,  602,  600,  496,  472,  350,  598,
    1003       350,  474,  598,  474,  587,  586,  584,  474,  352,  477,
    1004       352,  476,  477,  476,  582,  580,  578,  476,  354,  576,
    1005       354,  478,  574,  478,  572,   86,   86,  478,  361,   86,
    1006       361,  480,   86,  480,   86,   86,   86,  480,  363,   86,
    1007       363,  485,  508,  485,  506,  485,  504,  485,  376,  502,
    1008 
    1009       376,  500,  376,  498,  376,  378,  378,  484,  378,  378,
    1010       378,  481,  378,  497,  479,  497,  357,  357,  477,  497,
    1011       499,  475,  499,  473,  470,  468,  499,  501,  466,  501,
    1012       464,   86,   86,  501,  388,   86,  388,  503,  396,  503,
    1013       395,  393,  391,  503,  390,  389,  390,  505,  268,  505,
    1014       263,  262,  385,  505,  392,  385,  392,  507,  250,  507,
    1015       375,  375,  238,  507,  394,  370,  394,   85,  364,  362,
    1016        85,  360,   85,   85,   85,   85,   85,  462,  462,  462,
     993      237,  237,  237,  376,  203,  376,  378,  378,  734,  378,
     994      378,  378,  733,  378,  251,  251,  664,  251,  388,   86,
     995      388,   86,   86,   86,  388,  390,   86,  390,   86,   86,
     996       86,  390,  392,   86,  392,   86,   86,   86,  392,  271,
     997       86,  271,  394,   86,  394,   86,  691,  690,  394,  273,
     998      688,  273,   85,  686,  684,   85,  591,   85,   85,   85,
     999       85,   85,  197,  197,  197,  197,  197,  197,  197,  197,
     1000
     1001      197,  197,  197,  197,  197,  462,  462,  462,  462,  462,
     1002      462,  462,  462,  462,  462,  462,  462,  462,  463,  679,
     1003      463,  678,  676,  674,  463,  465,  672,  465,  670,  668,
     1004      666,  465,  467,  664,  467,   86,   86,   86,  467,  344,
     1005       86,  344,  469,   86,  469,   86,   86,   86,  469,  346,
     1006       86,  346,  472,  610,  472,  608,  606,  604,  472,  350,
     1007      602,  350,  474,  600,  474,  496,  598,  598,  474,  352,
     1008      587,  352,  476,  586,  476,  584,  477,  477,  476,  354,
     1009      582,  354,  478,  580,  478,  578,  576,  574,  478,  361,
     1010      572,  361,  480,   86,  480,   86,   86,   86,  480,  363,
     1011
     1012       86,  363,  485,   86,  485,   86,  485,   86,  485,  376,
     1013      508,  376,  506,  376,  504,  376,  378,  378,  502,  378,
     1014      378,  378,  500,  378,  497,  498,  497,  484,  481,  479,
     1015      497,  499,  357,  499,  357,  477,  475,  499,  501,  473,
     1016      501,  470,  468,  466,  501,  388,  464,  388,  503,   86,
     1017      503,   86,   86,  396,  503,  390,  395,  390,  505,  393,
     1018      505,  391,  389,  268,  505,  392,  263,  392,  507,  262,
     1019      507,  385,  385,  250,  507,  394,  375,  394,   85,  375,
     1020      238,   85,  370,   85,   85,   85,   85,   85,  462,  462,
    10171021      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
    1018       571,  356,  571,  355,  353,  351,  571,  463,  347,  463,
    1019 
    1020       573,  345,  573,  203,  199,   86,  573,  465,  275,  465,
    1021       575,  274,  575,  272,  268,  263,  575,  467,  266,  467,
    1022       577,  263,  577,  261,  260,  259,  577,  469,  238,  469,
    1023       579,  230,  579,   84,   84,   86,  579,  472,  203,  472,
    1024       581,  201,  581,   84,  121,  116,  581,  474,   86,  474,
    1025       476,  875,  476,   69,   69,  875,  476,  583,  875,  583,
    1026       875,  875,  875,  583,  478,  875,  478,  585,  875,  585,
    1027       875,  875,  875,  585,  480,  875,  480,  485,  875,  485,
    1028       875,  485,  875,  485,  378,  875,  378,  875,  875,  875,
    1029       378,  599,  875,  599,  875,  875,  875,  599,  497,  875,
    1030 
    1031       497,  601,  875,  601,  875,  875,  875,  601,  499,  875,
    1032       499,  603,  875,  603,  875,  875,  875,  603,  501,  875,
    1033       501,  605,  875,  605,  875,  875,  875,  605,  503,  875,
    1034       503,  607,  875,  607,  875,  875,  875,  607,  505,  875,
    1035       505,  609,  875,  609,  875,  875,  875,  609,  507,  875,
    1036       507,   85,  875,  875,   85,  875,   85,   85,   85,   85,
    1037        85,  663,  663,  663,  663,  663,  663,  663,  663,  663,
    1038       663,  663,  663,  663,  665,  875,  665,  875,  875,  875,
    1039       665,  571,  875,  571,  667,  875,  667,  875,  875,  875,
    1040       667,  573,  875,  573,  669,  875,  669,  875,  875,  875,
    1041 
    1042       669,  575,  875,  575,  671,  875,  671,  875,  875,  875,
    1043       671,  577,  875,  577,  673,  875,  673,  875,  875,  875,
    1044       673,  579,  875,  579,  675,  875,  675,  875,  875,  875,
    1045       675,  581,  875,  581,  677,  875,  677,  875,  875,  875,
    1046       677,  583,  875,  583,   85,  875,   85,  875,  875,  875,
    1047        85,  585,  875,  585,  485,  875,  485,  875,  875,  875,
    1048       485,  685,  875,  685,  875,  875,  875,  685,  599,  875,
    1049       599,  687,  875,  687,  875,  875,  875,  687,  601,  875,
    1050       601,  689,  875,  689,  875,  875,  875,  689,  603,  875,
    1051       603,  139,  875,  139,  875,  875,  875,  139,  605,  875,
    1052 
    1053       605,  692,  875,  692,  607,  875,  607,   85,  875,  875,
    1054        85,  875,   85,   85,   85,   85,   85,  609,  875,  609,
    1055       663,  663,  663,  663,  663,  663,  663,  663,  663,  663,
    1056       663,  663,  663,  732,  875,  732,  875,  875,  875,  732,
    1057       665,  875,  665,  202,  875,  202,  875,  875,  875,  202,
    1058       667,  875,  667,  735,  875,  735,  669,  875,  669,  202,
    1059       875,  875,  202,  875,  202,  202,  202,  202,  202,  671,
    1060       875,  671,  736,  875,  736,  673,  875,  673,  675,  875,
    1061       675,  737,  875,  737,  677,  875,  677,   85,  875,   85,
    1062       739,  875,  739,  875,  875,  875,  739,  685,  875,  685,
    1063 
    1064       267,  875,  267,  875,  875,  875,  267,  687,  875,  687,
    1065       742,  875,  742,  689,  875,  689,  139,  875,  139,  743,
    1066       875,  743,  875,  875,  875,  743,   85,  875,  875,   85,
    1067       875,   85,   85,   85,   85,   85,  776,  875,  776,  732,
    1068       875,  732,  202,  875,  202,  777,  875,  777,  875,  875,
    1069       875,  777,  779,  875,  779,  875,  875,  875,  779,  781,
    1070       875,  781,  875,  875,  875,  781,  783,  875,  783,  784,
    1071       875,  784,  875,  875,  875,  784,  786,  875,  786,  875,
    1072       875,  875,  786,  807,  875,  807,  875,  875,  875,  807,
    1073       809,  875,  809,  875,  875,  875,  809,  811,  875,  811,
    1074 
    1075       875,  875,  875,  811,  813,  875,  813,  875,  875,  875,
    1076       813,  815,  875,  815,  875,  875,  875,  815,  817,  875,
    1077       817,  875,  875,  875,  817,  609,  875,  609,  875,  875,
    1078       875,  609,  836,  875,  836,  875,  875,  875,  836,  671,
    1079       875,  671,  875,  875,  875,  671,  675,  875,  675,  875,
    1080       875,  875,  675,   85,  875,   85,  875,  875,  875,   85,
    1081       841,  875,  841,  875,  875,  875,  841,  139,  875,  139,
    1082       875,  875,  875,  139,  202,  875,  202,  875,  875,  875,
    1083       202,   11,  875,  875,  875,  875,  875,  875,  875,  875,
    1084       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1085 
    1086       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1087       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1088       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1089       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1090       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1091       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1092       875,  875,  875,  875,  875,  875
     1022
     1023      462,  571,  364,  571,  362,  360,  356,  571,  463,  355,
     1024      463,  573,  353,  573,  351,  347,  345,  573,  465,  203,
     1025      465,  575,  199,  575,   86,  275,  274,  575,  467,  272,
     1026      467,  577,  268,  577,  263,  266,  263,  577,  469,  261,
     1027      469,  579,  260,  579,  259,  238,  230,  579,  472,   84,
     1028      472,  581,   84,  581,   86,  203,  201,  581,  474,   84,
     1029      474,  476,  121,  476,  116,   86,  882,  476,  583,   69,
     1030      583,   69,  882,  882,  583,  478,  882,  478,  585,  882,
     1031      585,  882,  882,  882,  585,  480,  882,  480,  485,  882,
     1032      485,  882,  485,  882,  485,  378,  882,  378,  882,  882,
     1033
     1034      882,  378,  599,  882,  599,  882,  882,  882,  599,  497,
     1035      882,  497,  601,  882,  601,  882,  882,  882,  601,  499,
     1036      882,  499,  603,  882,  603,  882,  882,  882,  603,  501,
     1037      882,  501,  605,  882,  605,  882,  882,  882,  605,  503,
     1038      882,  503,  607,  882,  607,  882,  882,  882,  607,  505,
     1039      882,  505,  609,  882,  609,  882,  882,  882,  609,  507,
     1040      882,  507,   85,  882,  882,   85,  882,   85,   85,   85,
     1041       85,   85,  663,  663,  663,  663,  663,  663,  663,  663,
     1042      663,  663,  663,  663,  663,  665,  882,  665,  882,  882,
     1043      882,  665,  571,  882,  571,  667,  882,  667,  882,  882,
     1044
     1045      882,  667,  573,  882,  573,  669,  882,  669,  882,  882,
     1046      882,  669,  575,  882,  575,  671,  882,  671,  882,  882,
     1047      882,  671,  577,  882,  577,  673,  882,  673,  882,  882,
     1048      882,  673,  579,  882,  579,  675,  882,  675,  882,  882,
     1049      882,  675,  581,  882,  581,  677,  882,  677,  882,  882,
     1050      882,  677,  583,  882,  583,   85,  882,   85,  882,  882,
     1051      882,   85,  585,  882,  585,  485,  882,  485,  882,  882,
     1052      882,  485,  685,  882,  685,  882,  882,  882,  685,  599,
     1053      882,  599,  687,  882,  687,  882,  882,  882,  687,  601,
     1054      882,  601,  689,  882,  689,  882,  882,  882,  689,  603,
     1055
     1056      882,  603,  139,  882,  139,  882,  882,  882,  139,  605,
     1057      882,  605,  692,  882,  692,  607,  882,  607,   85,  882,
     1058      882,   85,  882,   85,   85,   85,   85,   85,  609,  882,
     1059      609,  663,  663,  663,  663,  663,  663,  663,  663,  663,
     1060      663,  663,  663,  663,  732,  882,  732,  882,  882,  882,
     1061      732,  665,  882,  665,  202,  882,  202,  882,  882,  882,
     1062      202,  667,  882,  667,  735,  882,  735,  669,  882,  669,
     1063      202,  882,  882,  202,  882,  202,  202,  202,  202,  202,
     1064      671,  882,  671,  736,  882,  736,  673,  882,  673,  675,
     1065      882,  675,  737,  882,  737,  677,  882,  677,   85,  882,
     1066
     1067       85,  739,  882,  739,  882,  882,  882,  739,  685,  882,
     1068      685,  267,  882,  267,  882,  882,  882,  267,  687,  882,
     1069      687,  742,  882,  742,  689,  882,  689,  139,  882,  139,
     1070      743,  882,  743,  882,  882,  882,  743,   85,  882,  882,
     1071       85,  882,   85,   85,   85,   85,   85,  776,  882,  776,
     1072      732,  882,  732,  202,  882,  202,  777,  882,  777,  882,
     1073      882,  882,  777,  779,  882,  779,  882,  882,  882,  779,
     1074      781,  882,  781,  882,  882,  882,  781,  783,  882,  783,
     1075      784,  882,  784,  882,  882,  882,  784,  786,  882,  786,
     1076      882,  882,  882,  786,  807,  882,  807,  882,  882,  882,
     1077
     1078      807,  809,  882,  809,  882,  882,  882,  809,  811,  882,
     1079      811,  882,  882,  882,  811,  813,  882,  813,  882,  882,
     1080      882,  813,  815,  882,  815,  882,  882,  882,  815,  817,
     1081      882,  817,  882,  882,  882,  817,  609,  882,  609,  882,
     1082      882,  882,  609,  836,  882,  836,  882,  882,  882,  836,
     1083      671,  882,  671,  882,  882,  882,  671,  675,  882,  675,
     1084      882,  882,  882,  675,   85,  882,   85,  882,  882,  882,
     1085       85,  841,  882,  841,  882,  882,  882,  841,  139,  882,
     1086      139,  882,  882,  882,  139,  202,  882,  202,  882,  882,
     1087      882,  202,   11,  882,  882,  882,  882,  882,  882,  882,
     1088
     1089      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1090      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1091      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1092      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1093      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1094      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1095      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1096      882,  882,  882,  882,  882,  882,  882
    10931097    } ;
    10941098
    1095 static yyconst flex_int16_t yy_chk[2867] =
     1099static yyconst flex_int16_t yy_chk[2878] =
    10961100    {   0,
    10971101        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    11141118        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    11151119        5,    5,    5,    5,    5,    5,    5,    7,    8,    9,
    1116        10,   37,   37,   20,   39,    9,   10,  874,    7,    8,
     1120       10,   37,   37,   20,   39,    9,   10,  881,    7,    8,
    11171121       13,   13,   13,   13,   13,   13,   15,   15,   15,   15,
    11181122
     
    11211125       27,   27,   27,   29,   53,   35,    7,    8,    9,   10,
    11221126       40,   42,   48,   29,   30,   40,   30,   30,   30,   30,
    1123        30,   30,   35,   61,   35,   35,   44,  869,   44,  108,
    1124       114,  868,   48,   30,   63,   61,   30,   56,   47,   45,
     1127       30,   30,   35,   61,   35,   35,   44,  880,   44,  108,
     1128      114,  872,   48,   30,   63,   61,   30,   56,   47,   45,
    11251129       45,   45,   30,   30,   45,   45,   56,   45,   30,   55,
    11261130       45,   45,   49,   40,   30,   45,   40,   49,   45,   47,
     
    11281132       49,   30,   31,   55,   31,   31,   31,   31,   31,   31,
    11291133
    1130        50,   51,  866,   51,   63,  153,   54,   58,   72,   50,
     1134       50,   51,  871,   51,   63,  153,   54,   58,   72,   50,
    11311135       60,   31,   51,   50,   31,   86,   54,   57,   50,   58,
    11321136       31,  153,   50,   54,  141,  156,   31,   58,   60,   57,
    11331137       57,   59,   31,  126,   58,  126,   59,  156,   31,   57,
    1134        52,  865,   57,   67,   67,   52,   31,   38,   67,   59,
     1138       52,  868,   57,   67,   67,   52,   31,   38,   67,   59,
    11351139      141,   38,   38,   52,   38,   52,   38,   38,   52,   38,
    11361140      107,   38,   52,  113,   67,   67,   67,   67,   67,   67,
    11371141       38,   38,   38,  128,   59,  128,  152,   59,   66,   66,
    1138        66,   66,   66,   66,  107,  152,   66,  113,  863,  862,
     1142       66,   66,   66,   66,  107,  152,   66,  113,  867,  865,
    11391143       38,   59,  165,   38,   79,   79,   79,   79,   79,   79,
    11401144
    11411145       81,   81,   81,   81,   81,   81,   82,   82,   82,   82,
    11421146       82,   82,  131,  165,  131,  103,  103,  103,  103,  106,
    1143        38,   38,   76,   76,  856,  106,  112,   76,  168,   76,
     1147       38,   38,   76,   76,  864,  106,  112,   76,  168,   76,
    11441148      110,  133,  112,  133,   76,  102,  102,  102,  102,  102,
    11451149      102,  130,  103,   76,   76,   76,   76,  103,  110,  168,
     
    11551159      154,  157,  150,  144,  159,  167,  157,  157,  157,  151,
    11561160      157,  157,   84,  161,  157,   84,  157,  105,  154,  160,
    1157       163,  157,  157,  157,  162,  157,  159,  855,  160,  162,
     1161      163,  157,  157,  157,  162,  157,  159,  857,  160,  162,
    11581162      164,  169,  167,  170,  161,  161,  169,  163,  171,  172,
    11591163      164,  144,  162,   84,   98,   98,   98,   98,   98,   98,
     
    11661170      181,  192,  207,  207,  191,  190,  191,  207,  232,  189,
    11671171      184,  203,  189,  190,  192,  183,  195,  195,  195,  195,
    1168       195,  195,  196,  196,  195,  528,  854,  196,  198,  198,
     1172      195,  195,  196,  196,  195,  528,  856,  196,  198,  198,
    11691173      216,  232,  216,  198,  200,  200,  217,  203,  217,  200,
    11701174      218,  200,  218,  196,  196,  196,  196,  196,  196,  198,
     
    11791183      242,  277,  239,  239,  239,  246,  233,  239,  278,  239,
    11801184      276,  280,  242,  279,  241,  243,  243,  243,  243,  243,
    1181       243,  254,  268,  276,  853,  281,  278,  242,  280,  279,
     1185      243,  254,  268,  276,  855,  281,  278,  242,  280,  279,
    11821186      281,  246,  288,  242,  244,  244,  244,  244,  244,  244,
    11831187      253,  253,  253,  253,  253,  253,  251,  254,  268,  287,
    11841188
    11851189      244,  283,  286,  244,  244,  245,  283,  245,  288,  295,
    1186       245,  245,  245,  245,  245,  245,  244,  287,  251,  849,
     1190      245,  245,  245,  245,  245,  245,  244,  287,  251,  854,
    11871191      251,  244,  253,  244,  251,  286,  244,  295,  244,  289,
    11881192      251,  258,  258,  258,  258,  258,  258,  285,  290,  292,
     
    12001204      335,  341,  336,  340,  358,  340,  358,  341,  339,  348,
    12011205      348,  348,  348,  349,  349,  349,  349,  359,  381,  359,
    1202       397,  846,  402,  334,  366,  366,  366,  366,  366,  366,
     1206      397,  850,  402,  334,  366,  366,  366,  366,  366,  366,
    12031207      368,  397,  368,  402,  404,  368,  368,  368,  368,  368,
    12041208      368,  348,  367,  367,  367,  367,  367,  367,  370,  370,
    12051209      370,  370,  370,  370,  400,  398,  404,  435,  367,  376,
    12061210
    1207       843,  367,  367,  371,  371,  371,  371,  371,  371,  376,
     1211      846,  367,  367,  371,  371,  371,  371,  371,  371,  376,
    12081212      379,  398,  377,  400,  367,  378,  379,  435,  383,  367,
    12091213      370,  367,  377,  412,  367,  376,  367,  372,  372,  372,
     
    12321236      512,  514,  519,  516,  520,  519,  486,  492,  492,  492,
    12331237      492,  492,  492,  517,  514,  512,  516,  521,  517,  525,
    1234       518,  522,  523,  492,  525,  842,  492,  492,  493,  841,
     1238      518,  522,  523,  492,  525,  843,  492,  492,  493,  842,
    12351239      493,  518,  521,  493,  493,  493,  493,  493,  493,  492,
    12361240      522,  524,  526,  523,  492,  527,  492,  529,  530,  492,
     
    12561260      635,  645,  640,  650,  629,  647,  631,  696,  693,  651,
    12571261      634,  640,  650,  659,  637,  644,  651,  638,  658,  662,
    1258       639,  661,  647,  659,  697,  840,  839,  658,  645,  693,
     1262      639,  661,  647,  659,  697,  841,  840,  658,  645,  693,
    12591263      661,  697,  699,  696,  662,  680,  680,  680,  680,  680,
    12601264      680,  684,  684,  684,  684,  684,  684,  694,  702,  705,
     
    12771281      798,  824,  822,  821,  826,  806,  827,  826,  830,  833,
    12781282      834,  830,  833,  835,  847,  825,  844,  847,  848,  834,
    1279       857,  845,  835,  827,  850,  844,  845,  850,  848,  851,
    1280       852,  858,  851,  852,  859,  860,  861,  859,  864,  861,
    1281       857,  867,  870,  871,  873,  860,  858,  838,  872,  837,
    1282       836,  870,  832,  831,  873,  829,  828,  820,  819,  818,
    1283 
    1284       864,  817,  867,  816,  815,  871,  872,  876,  876,  876,
    1285       876,  876,  876,  876,  876,  876,  876,  876,  876,  876,
    1286       877,  877,  877,  877,  877,  877,  877,  877,  877,  877,
    1287       877,  877,  877,  878,  878,  878,  878,  878,  878,  878,
    1288       878,  878,  878,  878,  878,  878,  879,  814,  813,  879,
    1289       812,  879,  879,  879,  879,  879,  880,  811,  810,  809,
    1290       880,  880,  880,  880,  880,  880,  881,  881,  881,  881,
    1291       881,  881,  881,  881,  881,  881,  881,  881,  881,  882,
    1292       808,  807,  882,  800,  882,  882,  882,  882,  882,  883,
    1293       796,  883,  883,  789,  883,  883,  883,  883,  883,  883,
    1294 
    1295       787,  883,  884,  786,  785,  884,  884,  884,  884,  884,
    1296       884,  884,  884,  784,  884,  885,  885,  885,  885,  885,
    1297       885,  885,  885,  885,  885,  885,  885,  885,  886,  886,
    1298       783,  886,  782,  781,  780,  886,  887,  779,  778,  887,
    1299       777,  887,  887,  887,  887,  887,  888,  776,  888,  775,
    1300       774,  772,  888,  889,  771,  889,  770,  769,  762,  889,
    1301       890,  760,  890,  748,  747,  746,  890,  891,  745,  891,
    1302       744,  743,  742,  891,  892,  741,  892,  740,  737,  736,
    1303       892,  893,  735,  893,  729,  725,  724,  893,  894,  722,
    1304       894,  721,  719,  703,  894,  895,  695,  895,  692,  687,
    1305 
    1306       685,  895,  896,  681,  896,  671,  667,  665,  896,  897,
    1307       897,  897,  897,  897,  897,  897,  897,  897,  897,  897,
    1308       897,  897,  898,  663,  898,  899,  899,  660,  899,  899,
    1309       899,  657,  899,  900,  900,  656,  900,  901,  655,  901,
    1310       654,  653,  652,  901,  902,  649,  902,  648,  646,  643,
    1311       902,  903,  642,  903,  641,  636,  609,  903,  904,  605,
    1312       904,  905,  603,  905,  601,  599,  597,  905,  906,  591,
    1313       906,  907,  585,  583,  907,  581,  907,  907,  907,  907,
    1314       907,  908,  908,  908,  908,  908,  908,  908,  908,  908,
    1315       908,  908,  908,  908,  909,  909,  909,  909,  909,  909,
    1316 
    1317       909,  909,  909,  909,  909,  909,  909,  910,  579,  910,
    1318       577,  575,  573,  910,  911,  571,  911,  570,  569,  566,
    1319       911,  912,  557,  912,  551,  548,  543,  912,  913,  537,
    1320       913,  914,  534,  914,  511,  507,  505,  914,  915,  503,
    1321       915,  916,  501,  916,  499,  497,  496,  916,  917,  495,
    1322       917,  918,  494,  918,  483,  480,  478,  918,  919,  477,
    1323       919,  920,  476,  920,  474,  472,  469,  920,  921,  467,
    1324       921,  922,  465,  922,  463,  459,  444,  922,  923,  442,
    1325       923,  924,  434,  924,  432,  424,  422,  924,  925,  420,
    1326       925,  926,  394,  926,  392,  926,  390,  926,  927,  388,
    1327 
    1328       927,  387,  927,  386,  927,  928,  928,  373,  928,  928,
    1329       928,  363,  928,  929,  361,  929,  360,  356,  354,  929,
    1330       930,  352,  930,  350,  346,  344,  930,  931,  343,  931,
    1331       342,  332,  319,  931,  932,  296,  932,  933,  275,  933,
    1332       273,  271,  270,  933,  934,  269,  934,  935,  267,  935,
    1333       266,  261,  257,  935,  936,  256,  936,  937,  252,  937,
    1334       249,  248,  237,  937,  938,  236,  938,  939,  229,  228,
    1335       939,  225,  939,  939,  939,  939,  939,  940,  940,  940,
    1336       940,  940,  940,  940,  940,  940,  940,  940,  940,  940,
    1337       941,  215,  941,  213,  212,  211,  941,  942,  205,  942,
    1338 
    1339       943,  204,  943,  202,  197,  177,  943,  944,  148,  944,
    1340       945,  146,  945,  145,  139,  137,  945,  946,  135,  946,
    1341       947,  127,  947,  124,  123,  119,  947,  948,  100,  948,
    1342       949,   97,  949,   94,   92,   85,  949,  950,   71,  950,
    1343       951,   69,  951,   65,   36,   33,  951,  952,   18,  952,
    1344       953,   11,  953,    4,    3,    0,  953,  954,    0,  954,
    1345         0,    0,    0,  954,  955,    0,  955,  956,    0,  956,
    1346         0,    0,    0,  956,  957,    0,  957,  958,    0,  958,
    1347         0,  958,    0,  958,  959,    0,  959,    0,    0,    0,
    1348       959,  960,    0,  960,    0,    0,    0,  960,  961,    0,
    1349 
    1350       961,  962,    0,  962,    0,    0,    0,  962,  963,    0,
    1351       963,  964,    0,  964,    0,    0,    0,  964,  965,    0,
    1352       965,  966,    0,  966,    0,    0,    0,  966,  967,    0,
    1353       967,  968,    0,  968,    0,    0,    0,  968,  969,    0,
    1354       969,  970,    0,  970,    0,    0,    0,  970,  971,    0,
    1355       971,  972,    0,    0,  972,    0,  972,  972,  972,  972,
    1356       972,  973,  973,  973,  973,  973,  973,  973,  973,  973,
    1357       973,  973,  973,  973,  974,    0,  974,    0,    0,    0,
    1358       974,  975,    0,  975,  976,    0,  976,    0,    0,    0,
    1359       976,  977,    0,  977,  978,    0,  978,    0,    0,    0,
    1360 
    1361       978,  979,    0,  979,  980,    0,  980,    0,    0,    0,
    1362       980,  981,    0,  981,  982,    0,  982,    0,    0,    0,
    1363       982,  983,    0,  983,  984,    0,  984,    0,    0,    0,
    1364       984,  985,    0,  985,  986,    0,  986,    0,    0,    0,
    1365       986,  987,    0,  987,  988,    0,  988,    0,    0,    0,
    1366       988,  989,    0,  989,  990,    0,  990,    0,    0,    0,
    1367       990,  991,    0,  991,    0,    0,    0,  991,  992,    0,
    1368       992,  993,    0,  993,    0,    0,    0,  993,  994,    0,
    1369       994,  995,    0,  995,    0,    0,    0,  995,  996,    0,
    1370       996,  997,    0,  997,    0,    0,    0,  997,  998,    0,
    1371 
    1372       998,  999,    0,  999, 1000,    0, 1000, 1001,    0,    0,
    1373      1001,    0, 1001, 1001, 1001, 1001, 1001, 1002,    0, 1002,
    1374      1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003,
    1375      1003, 1003, 1003, 1004,    0, 1004,    0,    0,    0, 1004,
    1376      1005,    0, 1005, 1006,    0, 1006,    0,    0,    0, 1006,
    1377      1007,    0, 1007, 1008,    0, 1008, 1009,    0, 1009, 1010,
    1378         0,    0, 1010,    0, 1010, 1010, 1010, 1010, 1010, 1011,
    1379         0, 1011, 1012,    0, 1012, 1013,    0, 1013, 1014,    0,
    1380      1014, 1015,    0, 1015, 1016,    0, 1016, 1017,    0, 1017,
    1381      1018,    0, 1018,    0,    0,    0, 1018, 1019,    0, 1019,
    1382 
    1383      1020,    0, 1020,    0,    0,    0, 1020, 1021,    0, 1021,
    1384      1022,    0, 1022, 1023,    0, 1023, 1024,    0, 1024, 1025,
    1385         0, 1025,    0,    0,    0, 1025, 1026,    0,    0, 1026,
    1386         0, 1026, 1026, 1026, 1026, 1026, 1027,    0, 1027, 1028,
    1387         0, 1028, 1029,    0, 1029, 1030,    0, 1030,    0,    0,
    1388         0, 1030, 1031,    0, 1031,    0,    0,    0, 1031, 1032,
    1389         0, 1032,    0,    0,    0, 1032, 1033,    0, 1033, 1034,
    1390         0, 1034,    0,    0,    0, 1034, 1035,    0, 1035,    0,
    1391         0,    0, 1035, 1036,    0, 1036,    0,    0,    0, 1036,
    1392      1037,    0, 1037,    0,    0,    0, 1037, 1038,    0, 1038,
    1393 
    1394         0,    0,    0, 1038, 1039,    0, 1039,    0,    0,    0,
    1395      1039, 1040,    0, 1040,    0,    0,    0, 1040, 1041,    0,
    1396      1041,    0,    0,    0, 1041, 1042,    0, 1042,    0,    0,
    1397         0, 1042, 1043,    0, 1043,    0,    0,    0, 1043, 1044,
    1398         0, 1044,    0,    0,    0, 1044, 1045,    0, 1045,    0,
    1399         0,    0, 1045, 1046,    0, 1046,    0,    0,    0, 1046,
    1400      1047,    0, 1047,    0,    0,    0, 1047, 1048,    0, 1048,
    1401         0,    0,    0, 1048, 1049,    0, 1049,    0,    0,    0,
    1402      1049,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1403       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1404 
    1405       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1406       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1407       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1408       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1409       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1410       875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
    1411       875,  875,  875,  875,  875,  875
     1283      858,  825,  835,  827,  845,  844,  849,  851,  848,  845,
     1284      851,  849,  852,  853,  859,  852,  853,  861,  860,  862,
     1285      858,  860,  862,  863,  866,  870,  863,  861,  869,  859,
     1286      873,  874,  875,  877,  876,  878,  839,  879,  838,  873,
     1287
     1288      870,  837,  836,  832,  874,  831,  866,  879,  829,  869,
     1289      828,  877,  820,  819,  875,  876,  818,  878,  883,  883,
     1290      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
     1291      883,  884,  884,  884,  884,  884,  884,  884,  884,  884,
     1292      884,  884,  884,  884,  885,  885,  885,  885,  885,  885,
     1293      885,  885,  885,  885,  885,  885,  885,  886,  817,  816,
     1294      886,  815,  886,  886,  886,  886,  886,  887,  814,  813,
     1295      812,  887,  887,  887,  887,  887,  887,  888,  888,  888,
     1296      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1297      889,  811,  810,  889,  809,  889,  889,  889,  889,  889,
     1298
     1299      890,  808,  890,  890,  807,  890,  890,  890,  890,  890,
     1300      890,  800,  890,  891,  796,  789,  891,  891,  891,  891,
     1301      891,  891,  891,  891,  787,  891,  892,  892,  892,  892,
     1302      892,  892,  892,  892,  892,  892,  892,  892,  892,  893,
     1303      893,  786,  893,  785,  784,  783,  893,  894,  782,  781,
     1304      894,  780,  894,  894,  894,  894,  894,  895,  779,  895,
     1305      778,  777,  776,  895,  896,  775,  896,  774,  772,  771,
     1306      896,  897,  770,  897,  769,  762,  760,  897,  898,  748,
     1307      898,  747,  746,  745,  898,  899,  744,  899,  743,  742,
     1308      741,  899,  900,  740,  900,  737,  736,  735,  900,  901,
     1309
     1310      729,  901,  725,  724,  722,  901,  902,  721,  902,  719,
     1311      703,  695,  902,  903,  692,  903,  687,  685,  681,  903,
     1312      904,  904,  904,  904,  904,  904,  904,  904,  904,  904,
     1313      904,  904,  904,  905,  671,  905,  906,  906,  667,  906,
     1314      906,  906,  665,  906,  907,  907,  663,  907,  908,  660,
     1315      908,  657,  656,  655,  908,  909,  654,  909,  653,  652,
     1316      649,  909,  910,  648,  910,  646,  643,  642,  910,  911,
     1317      641,  911,  912,  636,  912,  609,  605,  603,  912,  913,
     1318      601,  913,  914,  599,  597,  914,  591,  914,  914,  914,
     1319      914,  914,  915,  915,  915,  915,  915,  915,  915,  915,
     1320
     1321      915,  915,  915,  915,  915,  916,  916,  916,  916,  916,
     1322      916,  916,  916,  916,  916,  916,  916,  916,  917,  585,
     1323      917,  583,  581,  579,  917,  918,  577,  918,  575,  573,
     1324      571,  918,  919,  570,  919,  569,  566,  557,  919,  920,
     1325      551,  920,  921,  548,  921,  543,  537,  534,  921,  922,
     1326      511,  922,  923,  507,  923,  505,  503,  501,  923,  924,
     1327      499,  924,  925,  497,  925,  496,  495,  494,  925,  926,
     1328      483,  926,  927,  480,  927,  478,  477,  476,  927,  928,
     1329      474,  928,  929,  472,  929,  469,  467,  465,  929,  930,
     1330      463,  930,  931,  459,  931,  444,  442,  434,  931,  932,
     1331
     1332      432,  932,  933,  424,  933,  422,  933,  420,  933,  934,
     1333      394,  934,  392,  934,  390,  934,  935,  935,  388,  935,
     1334      935,  935,  387,  935,  936,  386,  936,  373,  363,  361,
     1335      936,  937,  360,  937,  356,  354,  352,  937,  938,  350,
     1336      938,  346,  344,  343,  938,  939,  342,  939,  940,  332,
     1337      940,  319,  296,  275,  940,  941,  273,  941,  942,  271,
     1338      942,  270,  269,  267,  942,  943,  266,  943,  944,  261,
     1339      944,  257,  256,  252,  944,  945,  249,  945,  946,  248,
     1340      237,  946,  236,  946,  946,  946,  946,  946,  947,  947,
     1341      947,  947,  947,  947,  947,  947,  947,  947,  947,  947,
     1342
     1343      947,  948,  229,  948,  228,  225,  215,  948,  949,  213,
     1344      949,  950,  212,  950,  211,  205,  204,  950,  951,  202,
     1345      951,  952,  197,  952,  177,  148,  146,  952,  953,  145,
     1346      953,  954,  139,  954,  137,  135,  127,  954,  955,  124,
     1347      955,  956,  123,  956,  119,  100,   97,  956,  957,   94,
     1348      957,  958,   92,  958,   85,   71,   69,  958,  959,   65,
     1349      959,  960,   36,  960,   33,   18,   11,  960,  961,    4,
     1350      961,    3,    0,    0,  961,  962,    0,  962,  963,    0,
     1351      963,    0,    0,    0,  963,  964,    0,  964,  965,    0,
     1352      965,    0,  965,    0,  965,  966,    0,  966,    0,    0,
     1353
     1354        0,  966,  967,    0,  967,    0,    0,    0,  967,  968,
     1355        0,  968,  969,    0,  969,    0,    0,    0,  969,  970,
     1356        0,  970,  971,    0,  971,    0,    0,    0,  971,  972,
     1357        0,  972,  973,    0,  973,    0,    0,    0,  973,  974,
     1358        0,  974,  975,    0,  975,    0,    0,    0,  975,  976,
     1359        0,  976,  977,    0,  977,    0,    0,    0,  977,  978,
     1360        0,  978,  979,    0,    0,  979,    0,  979,  979,  979,
     1361      979,  979,  980,  980,  980,  980,  980,  980,  980,  980,
     1362      980,  980,  980,  980,  980,  981,    0,  981,    0,    0,
     1363        0,  981,  982,    0,  982,  983,    0,  983,    0,    0,
     1364
     1365        0,  983,  984,    0,  984,  985,    0,  985,    0,    0,
     1366        0,  985,  986,    0,  986,  987,    0,  987,    0,    0,
     1367        0,  987,  988,    0,  988,  989,    0,  989,    0,    0,
     1368        0,  989,  990,    0,  990,  991,    0,  991,    0,    0,
     1369        0,  991,  992,    0,  992,  993,    0,  993,    0,    0,
     1370        0,  993,  994,    0,  994,  995,    0,  995,    0,    0,
     1371        0,  995,  996,    0,  996,  997,    0,  997,    0,    0,
     1372        0,  997,  998,    0,  998,    0,    0,    0,  998,  999,
     1373        0,  999, 1000,    0, 1000,    0,    0,    0, 1000, 1001,
     1374        0, 1001, 1002,    0, 1002,    0,    0,    0, 1002, 1003,
     1375
     1376        0, 1003, 1004,    0, 1004,    0,    0,    0, 1004, 1005,
     1377        0, 1005, 1006,    0, 1006, 1007,    0, 1007, 1008,    0,
     1378        0, 1008,    0, 1008, 1008, 1008, 1008, 1008, 1009,    0,
     1379     1009, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010,
     1380     1010, 1010, 1010, 1010, 1011,    0, 1011,    0,    0,    0,
     1381     1011, 1012,    0, 1012, 1013,    0, 1013,    0,    0,    0,
     1382     1013, 1014,    0, 1014, 1015,    0, 1015, 1016,    0, 1016,
     1383     1017,    0,    0, 1017,    0, 1017, 1017, 1017, 1017, 1017,
     1384     1018,    0, 1018, 1019,    0, 1019, 1020,    0, 1020, 1021,
     1385        0, 1021, 1022,    0, 1022, 1023,    0, 1023, 1024,    0,
     1386
     1387     1024, 1025,    0, 1025,    0,    0,    0, 1025, 1026,    0,
     1388     1026, 1027,    0, 1027,    0,    0,    0, 1027, 1028,    0,
     1389     1028, 1029,    0, 1029, 1030,    0, 1030, 1031,    0, 1031,
     1390     1032,    0, 1032,    0,    0,    0, 1032, 1033,    0,    0,
     1391     1033,    0, 1033, 1033, 1033, 1033, 1033, 1034,    0, 1034,
     1392     1035,    0, 1035, 1036,    0, 1036, 1037,    0, 1037,    0,
     1393        0,    0, 1037, 1038,    0, 1038,    0,    0,    0, 1038,
     1394     1039,    0, 1039,    0,    0,    0, 1039, 1040,    0, 1040,
     1395     1041,    0, 1041,    0,    0,    0, 1041, 1042,    0, 1042,
     1396        0,    0,    0, 1042, 1043,    0, 1043,    0,    0,    0,
     1397
     1398     1043, 1044,    0, 1044,    0,    0,    0, 1044, 1045,    0,
     1399     1045,    0,    0,    0, 1045, 1046,    0, 1046,    0,    0,
     1400        0, 1046, 1047,    0, 1047,    0,    0,    0, 1047, 1048,
     1401        0, 1048,    0,    0,    0, 1048, 1049,    0, 1049,    0,
     1402        0,    0, 1049, 1050,    0, 1050,    0,    0,    0, 1050,
     1403     1051,    0, 1051,    0,    0,    0, 1051, 1052,    0, 1052,
     1404        0,    0,    0, 1052, 1053,    0, 1053,    0,    0,    0,
     1405     1053, 1054,    0, 1054,    0,    0,    0, 1054, 1055,    0,
     1406     1055,    0,    0,    0, 1055, 1056,    0, 1056,    0,    0,
     1407        0, 1056,  882,  882,  882,  882,  882,  882,  882,  882,
     1408
     1409      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1410      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1411      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1412      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1413      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1414      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1415      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
     1416      882,  882,  882,  882,  882,  882,  882
    14121417    } ;
    14131418
    14141419/* Table of booleans, true if rule could match eol. */
    1415 static yyconst flex_int32_t yy_rule_can_match_eol[180] =
     1420static yyconst flex_int32_t yy_rule_can_match_eol[181] =
    14161421    {   0,
    141714221, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     
    14201425    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14211426    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1422     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
    1423     1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     1427    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
     1428    0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14241429    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14251430    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1426         };
     1431    0,     };
    14271432
    14281433static yy_state_type yy_last_accepting_state;
     
    14521457 * Created On       : Sat Sep 22 08:58:10 2001
    14531458 * Last Modified By : Peter A. Buhr
    1454  * Last Modified On : Tue Feb  2 15:06:54 2016
    1455  * Update Count     : 426
     1459 * Last Modified On : Thu Feb 25 16:18:14 2016
     1460 * Update Count     : 427
    14561461 */
    14571462#line 20 "lex.ll"
     
    15111516
    15121517
    1513 #line 1514 "Parser/lex.cc"
     1518#line 1519 "Parser/lex.cc"
    15141519
    15151520#define INITIAL 0
     
    17061711
    17071712                                   /* line directives */
    1708 #line 1709 "Parser/lex.cc"
     1713#line 1714 "Parser/lex.cc"
    17091714
    17101715        if ( !(yy_init) )
     
    17601765                                {
    17611766                                yy_current_state = (int) yy_def[yy_current_state];
    1762                                 if ( yy_current_state >= 876 )
     1767                                if ( yy_current_state >= 883 )
    17631768                                        yy_c = yy_meta[(unsigned int) yy_c];
    17641769                                }
     
    17661771                        ++yy_cp;
    17671772                        }
    1768                 while ( yy_base[yy_current_state] != 2782 );
     1773                while ( yy_base[yy_current_state] != 2793 );
    17691774
    17701775yy_find_action:
     
    23082313YY_RULE_SETUP
    23092314#line 264 "lex.ll"
     2315{ KEYWORD_RETURN(VALIST); }                     // GCC
     2316        YY_BREAK
     2317case 97:
     2318YY_RULE_SETUP
     2319#line 265 "lex.ll"
    23102320{ KEYWORD_RETURN(VOID); }
    23112321        YY_BREAK
    2312 case 97:
    2313 YY_RULE_SETUP
    2314 #line 265 "lex.ll"
     2322case 98:
     2323YY_RULE_SETUP
     2324#line 266 "lex.ll"
    23152325{ KEYWORD_RETURN(VOLATILE); }
    2316         YY_BREAK
    2317 case 98:
    2318 YY_RULE_SETUP
    2319 #line 266 "lex.ll"
    2320 { KEYWORD_RETURN(VOLATILE); }                   // GCC
    23212326        YY_BREAK
    23222327case 99:
     
    23282333YY_RULE_SETUP
    23292334#line 268 "lex.ll"
     2335{ KEYWORD_RETURN(VOLATILE); }                   // GCC
     2336        YY_BREAK
     2337case 101:
     2338YY_RULE_SETUP
     2339#line 269 "lex.ll"
    23302340{ KEYWORD_RETURN(WHILE); }
    23312341        YY_BREAK
    23322342/* identifier */
    2333 case 101:
    2334 YY_RULE_SETUP
    2335 #line 271 "lex.ll"
     2343case 102:
     2344YY_RULE_SETUP
     2345#line 272 "lex.ll"
    23362346{ IDENTIFIER_RETURN(); }
    23372347        YY_BREAK
    2338 case 102:
    2339 YY_RULE_SETUP
    2340 #line 272 "lex.ll"
     2348case 103:
     2349YY_RULE_SETUP
     2350#line 273 "lex.ll"
    23412351{ ATTRIBUTE_RETURN(); }
    23422352        YY_BREAK
    2343 case 103:
    2344 YY_RULE_SETUP
    2345 #line 273 "lex.ll"
     2353case 104:
     2354YY_RULE_SETUP
     2355#line 274 "lex.ll"
    23462356{ BEGIN BKQUOTE; }
    23472357        YY_BREAK
    2348 case 104:
    2349 YY_RULE_SETUP
    2350 #line 274 "lex.ll"
     2358case 105:
     2359YY_RULE_SETUP
     2360#line 275 "lex.ll"
    23512361{ IDENTIFIER_RETURN(); }
    23522362        YY_BREAK
    2353 case 105:
    2354 YY_RULE_SETUP
    2355 #line 275 "lex.ll"
     2363case 106:
     2364YY_RULE_SETUP
     2365#line 276 "lex.ll"
    23562366{ BEGIN 0; }
    23572367        YY_BREAK
    23582368/* numeric constants */
    2359 case 106:
    2360 YY_RULE_SETUP
    2361 #line 278 "lex.ll"
     2369case 107:
     2370YY_RULE_SETUP
     2371#line 279 "lex.ll"
    23622372{ NUMERIC_RETURN(ZERO); }                               // CFA
    23632373        YY_BREAK
    2364 case 107:
    2365 YY_RULE_SETUP
    2366 #line 279 "lex.ll"
     2374case 108:
     2375YY_RULE_SETUP
     2376#line 280 "lex.ll"
    23672377{ NUMERIC_RETURN(ONE); }                                // CFA
    2368         YY_BREAK
    2369 case 108:
    2370 YY_RULE_SETUP
    2371 #line 280 "lex.ll"
    2372 { NUMERIC_RETURN(INTEGERconstant); }
    23732378        YY_BREAK
    23742379case 109:
     
    23852390YY_RULE_SETUP
    23862391#line 283 "lex.ll"
    2387 { NUMERIC_RETURN(FLOATINGconstant); }
     2392{ NUMERIC_RETURN(INTEGERconstant); }
    23882393        YY_BREAK
    23892394case 112:
     
    23922397{ NUMERIC_RETURN(FLOATINGconstant); }
    23932398        YY_BREAK
     2399case 113:
     2400YY_RULE_SETUP
     2401#line 285 "lex.ll"
     2402{ NUMERIC_RETURN(FLOATINGconstant); }
     2403        YY_BREAK
    23942404/* character constant, allows empty value */
    2395 case 113:
    2396 YY_RULE_SETUP
    2397 #line 287 "lex.ll"
     2405case 114:
     2406YY_RULE_SETUP
     2407#line 288 "lex.ll"
    23982408{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    23992409        YY_BREAK
    2400 case 114:
    2401 YY_RULE_SETUP
    2402 #line 288 "lex.ll"
     2410case 115:
     2411YY_RULE_SETUP
     2412#line 289 "lex.ll"
    24032413{ *strtext += std::string( yytext ); }
    24042414        YY_BREAK
    2405 case 115:
    2406 /* rule 115 can match eol */
    2407 YY_RULE_SETUP
    2408 #line 289 "lex.ll"
     2415case 116:
     2416/* rule 116 can match eol */
     2417YY_RULE_SETUP
     2418#line 290 "lex.ll"
    24092419{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
    24102420        YY_BREAK
    24112421/* ' stop highlighting */
    24122422/* string constant */
    2413 case 116:
    2414 YY_RULE_SETUP
    2415 #line 293 "lex.ll"
     2423case 117:
     2424YY_RULE_SETUP
     2425#line 294 "lex.ll"
    24162426{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    24172427        YY_BREAK
    2418 case 117:
    2419 YY_RULE_SETUP
    2420 #line 294 "lex.ll"
     2428case 118:
     2429YY_RULE_SETUP
     2430#line 295 "lex.ll"
    24212431{ *strtext += std::string( yytext ); }
    24222432        YY_BREAK
    2423 case 118:
    2424 /* rule 118 can match eol */
    2425 YY_RULE_SETUP
    2426 #line 295 "lex.ll"
     2433case 119:
     2434/* rule 119 can match eol */
     2435YY_RULE_SETUP
     2436#line 296 "lex.ll"
    24272437{ BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); }
    24282438        YY_BREAK
    24292439/* " stop highlighting */
    24302440/* common character/string constant */
    2431 case 119:
    2432 YY_RULE_SETUP
    2433 #line 299 "lex.ll"
     2441case 120:
     2442YY_RULE_SETUP
     2443#line 300 "lex.ll"
    24342444{ rm_underscore(); *strtext += std::string( yytext ); }
    24352445        YY_BREAK
    2436 case 120:
    2437 /* rule 120 can match eol */
    2438 YY_RULE_SETUP
    2439 #line 300 "lex.ll"
     2446case 121:
     2447/* rule 121 can match eol */
     2448YY_RULE_SETUP
     2449#line 301 "lex.ll"
    24402450{}                                              // continuation (ALSO HANDLED BY CPP)
    24412451        YY_BREAK
    2442 case 121:
    2443 YY_RULE_SETUP
    2444 #line 301 "lex.ll"
     2452case 122:
     2453YY_RULE_SETUP
     2454#line 302 "lex.ll"
    24452455{ *strtext += std::string( yytext ); } // unknown escape character
    24462456        YY_BREAK
    24472457/* punctuation */
    2448 case 122:
    2449 YY_RULE_SETUP
    2450 #line 304 "lex.ll"
    2451 { ASCIIOP_RETURN(); }
    2452         YY_BREAK
    24532458case 123:
    24542459YY_RULE_SETUP
     
    24792484YY_RULE_SETUP
    24802485#line 310 "lex.ll"
     2486{ ASCIIOP_RETURN(); }
     2487        YY_BREAK
     2488case 129:
     2489YY_RULE_SETUP
     2490#line 311 "lex.ll"
    24812491{ ASCIIOP_RETURN(); }                                   // also operator
    2482         YY_BREAK
    2483 case 129:
    2484 YY_RULE_SETUP
    2485 #line 311 "lex.ll"
    2486 { ASCIIOP_RETURN(); }
    24872492        YY_BREAK
    24882493case 130:
     
    24942499YY_RULE_SETUP
    24952500#line 313 "lex.ll"
     2501{ ASCIIOP_RETURN(); }
     2502        YY_BREAK
     2503case 132:
     2504YY_RULE_SETUP
     2505#line 314 "lex.ll"
    24962506{ ASCIIOP_RETURN(); }                                   // also operator
    24972507        YY_BREAK
    2498 case 132:
    2499 YY_RULE_SETUP
    2500 #line 314 "lex.ll"
     2508case 133:
     2509YY_RULE_SETUP
     2510#line 315 "lex.ll"
    25012511{ NAMEDOP_RETURN(ELLIPSIS); }
    25022512        YY_BREAK
    25032513/* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
    2504 case 133:
    2505 YY_RULE_SETUP
    2506 #line 317 "lex.ll"
     2514case 134:
     2515YY_RULE_SETUP
     2516#line 318 "lex.ll"
    25072517{ RETURN_VAL('['); }
    25082518        YY_BREAK
    2509 case 134:
    2510 YY_RULE_SETUP
    2511 #line 318 "lex.ll"
     2519case 135:
     2520YY_RULE_SETUP
     2521#line 319 "lex.ll"
    25122522{ RETURN_VAL(']'); }
    25132523        YY_BREAK
    2514 case 135:
    2515 YY_RULE_SETUP
    2516 #line 319 "lex.ll"
     2524case 136:
     2525YY_RULE_SETUP
     2526#line 320 "lex.ll"
    25172527{ RETURN_VAL('{'); }
    25182528        YY_BREAK
    2519 case 136:
    2520 YY_RULE_SETUP
    2521 #line 320 "lex.ll"
     2529case 137:
     2530YY_RULE_SETUP
     2531#line 321 "lex.ll"
    25222532{ RETURN_VAL('}'); }
    25232533        YY_BREAK
    25242534/* operators */
    2525 case 137:
    2526 YY_RULE_SETUP
    2527 #line 323 "lex.ll"
    2528 { ASCIIOP_RETURN(); }
    2529         YY_BREAK
    25302535case 138:
    25312536YY_RULE_SETUP
     
    25952600case 151:
    25962601YY_RULE_SETUP
    2597 #line 338 "lex.ll"
     2602#line 337 "lex.ll"
     2603{ ASCIIOP_RETURN(); }
     2604        YY_BREAK
     2605case 152:
     2606YY_RULE_SETUP
     2607#line 339 "lex.ll"
    25982608{ NAMEDOP_RETURN(ICR); }
    25992609        YY_BREAK
    2600 case 152:
    2601 YY_RULE_SETUP
    2602 #line 339 "lex.ll"
     2610case 153:
     2611YY_RULE_SETUP
     2612#line 340 "lex.ll"
    26032613{ NAMEDOP_RETURN(DECR); }
    26042614        YY_BREAK
    2605 case 153:
    2606 YY_RULE_SETUP
    2607 #line 340 "lex.ll"
     2615case 154:
     2616YY_RULE_SETUP
     2617#line 341 "lex.ll"
    26082618{ NAMEDOP_RETURN(EQ); }
    26092619        YY_BREAK
    2610 case 154:
    2611 YY_RULE_SETUP
    2612 #line 341 "lex.ll"
     2620case 155:
     2621YY_RULE_SETUP
     2622#line 342 "lex.ll"
    26132623{ NAMEDOP_RETURN(NE); }
    26142624        YY_BREAK
    2615 case 155:
    2616 YY_RULE_SETUP
    2617 #line 342 "lex.ll"
     2625case 156:
     2626YY_RULE_SETUP
     2627#line 343 "lex.ll"
    26182628{ NAMEDOP_RETURN(LS); }
    26192629        YY_BREAK
    2620 case 156:
    2621 YY_RULE_SETUP
    2622 #line 343 "lex.ll"
     2630case 157:
     2631YY_RULE_SETUP
     2632#line 344 "lex.ll"
    26232633{ NAMEDOP_RETURN(RS); }
    26242634        YY_BREAK
    2625 case 157:
    2626 YY_RULE_SETUP
    2627 #line 344 "lex.ll"
     2635case 158:
     2636YY_RULE_SETUP
     2637#line 345 "lex.ll"
    26282638{ NAMEDOP_RETURN(LE); }
    26292639        YY_BREAK
    2630 case 158:
    2631 YY_RULE_SETUP
    2632 #line 345 "lex.ll"
     2640case 159:
     2641YY_RULE_SETUP
     2642#line 346 "lex.ll"
    26332643{ NAMEDOP_RETURN(GE); }
    26342644        YY_BREAK
    2635 case 159:
    2636 YY_RULE_SETUP
    2637 #line 346 "lex.ll"
     2645case 160:
     2646YY_RULE_SETUP
     2647#line 347 "lex.ll"
    26382648{ NAMEDOP_RETURN(ANDAND); }
    26392649        YY_BREAK
    2640 case 160:
    2641 YY_RULE_SETUP
    2642 #line 347 "lex.ll"
     2650case 161:
     2651YY_RULE_SETUP
     2652#line 348 "lex.ll"
    26432653{ NAMEDOP_RETURN(OROR); }
    26442654        YY_BREAK
    2645 case 161:
    2646 YY_RULE_SETUP
    2647 #line 348 "lex.ll"
     2655case 162:
     2656YY_RULE_SETUP
     2657#line 349 "lex.ll"
    26482658{ NAMEDOP_RETURN(ARROW); }
    26492659        YY_BREAK
    2650 case 162:
    2651 YY_RULE_SETUP
    2652 #line 349 "lex.ll"
     2660case 163:
     2661YY_RULE_SETUP
     2662#line 350 "lex.ll"
    26532663{ NAMEDOP_RETURN(PLUSassign); }
    26542664        YY_BREAK
    2655 case 163:
    2656 YY_RULE_SETUP
    2657 #line 350 "lex.ll"
     2665case 164:
     2666YY_RULE_SETUP
     2667#line 351 "lex.ll"
    26582668{ NAMEDOP_RETURN(MINUSassign); }
    26592669        YY_BREAK
    2660 case 164:
    2661 YY_RULE_SETUP
    2662 #line 351 "lex.ll"
     2670case 165:
     2671YY_RULE_SETUP
     2672#line 352 "lex.ll"
    26632673{ NAMEDOP_RETURN(MULTassign); }
    26642674        YY_BREAK
    2665 case 165:
    2666 YY_RULE_SETUP
    2667 #line 352 "lex.ll"
     2675case 166:
     2676YY_RULE_SETUP
     2677#line 353 "lex.ll"
    26682678{ NAMEDOP_RETURN(DIVassign); }
    26692679        YY_BREAK
    2670 case 166:
    2671 YY_RULE_SETUP
    2672 #line 353 "lex.ll"
     2680case 167:
     2681YY_RULE_SETUP
     2682#line 354 "lex.ll"
    26732683{ NAMEDOP_RETURN(MODassign); }
    26742684        YY_BREAK
    2675 case 167:
    2676 YY_RULE_SETUP
    2677 #line 354 "lex.ll"
     2685case 168:
     2686YY_RULE_SETUP
     2687#line 355 "lex.ll"
    26782688{ NAMEDOP_RETURN(ANDassign); }
    26792689        YY_BREAK
    2680 case 168:
    2681 YY_RULE_SETUP
    2682 #line 355 "lex.ll"
     2690case 169:
     2691YY_RULE_SETUP
     2692#line 356 "lex.ll"
    26832693{ NAMEDOP_RETURN(ORassign); }
    26842694        YY_BREAK
    2685 case 169:
    2686 YY_RULE_SETUP
    2687 #line 356 "lex.ll"
     2695case 170:
     2696YY_RULE_SETUP
     2697#line 357 "lex.ll"
    26882698{ NAMEDOP_RETURN(ERassign); }
    26892699        YY_BREAK
    2690 case 170:
    2691 YY_RULE_SETUP
    2692 #line 357 "lex.ll"
     2700case 171:
     2701YY_RULE_SETUP
     2702#line 358 "lex.ll"
    26932703{ NAMEDOP_RETURN(LSassign); }
    26942704        YY_BREAK
    2695 case 171:
    2696 YY_RULE_SETUP
    2697 #line 358 "lex.ll"
     2705case 172:
     2706YY_RULE_SETUP
     2707#line 359 "lex.ll"
    26982708{ NAMEDOP_RETURN(RSassign); }
    26992709        YY_BREAK
    2700 case 172:
    2701 YY_RULE_SETUP
    2702 #line 360 "lex.ll"
     2710case 173:
     2711YY_RULE_SETUP
     2712#line 361 "lex.ll"
    27032713{ NAMEDOP_RETURN(ATassign); }
    27042714        YY_BREAK
    27052715/* CFA, operator identifier */
    2706 case 173:
    2707 YY_RULE_SETUP
    2708 #line 363 "lex.ll"
     2716case 174:
     2717YY_RULE_SETUP
     2718#line 364 "lex.ll"
    27092719{ IDENTIFIER_RETURN(); }                                // unary
    2710         YY_BREAK
    2711 case 174:
    2712 YY_RULE_SETUP
    2713 #line 364 "lex.ll"
    2714 { IDENTIFIER_RETURN(); }
    27152720        YY_BREAK
    27162721case 175:
     
    27222727YY_RULE_SETUP
    27232728#line 366 "lex.ll"
     2729{ IDENTIFIER_RETURN(); }
     2730        YY_BREAK
     2731case 177:
     2732YY_RULE_SETUP
     2733#line 367 "lex.ll"
    27242734{ IDENTIFIER_RETURN(); }                // binary
    27252735        YY_BREAK
     
    27502760          an argument list.
    27512761        */
    2752 case 177:
    2753 YY_RULE_SETUP
    2754 #line 393 "lex.ll"
     2762case 178:
     2763YY_RULE_SETUP
     2764#line 394 "lex.ll"
    27552765{
    27562766        // 1 or 2 character unary operator ?
     
    27652775        YY_BREAK
    27662776/* unknown characters */
    2767 case 178:
    2768 YY_RULE_SETUP
    2769 #line 405 "lex.ll"
     2777case 179:
     2778YY_RULE_SETUP
     2779#line 406 "lex.ll"
    27702780{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
    27712781        YY_BREAK
    2772 case 179:
    2773 YY_RULE_SETUP
    2774 #line 407 "lex.ll"
     2782case 180:
     2783YY_RULE_SETUP
     2784#line 408 "lex.ll"
    27752785ECHO;
    27762786        YY_BREAK
    2777 #line 2778 "Parser/lex.cc"
     2787#line 2788 "Parser/lex.cc"
    27782788case YY_STATE_EOF(INITIAL):
    27792789case YY_STATE_EOF(COMMENT):
     
    30723082                        {
    30733083                        yy_current_state = (int) yy_def[yy_current_state];
    3074                         if ( yy_current_state >= 876 )
     3084                        if ( yy_current_state >= 883 )
    30753085                                yy_c = yy_meta[(unsigned int) yy_c];
    30763086                        }
     
    31003110                {
    31013111                yy_current_state = (int) yy_def[yy_current_state];
    3102                 if ( yy_current_state >= 876 )
     3112                if ( yy_current_state >= 883 )
    31033113                        yy_c = yy_meta[(unsigned int) yy_c];
    31043114                }
    31053115        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    3106         yy_is_jam = (yy_current_state == 875);
     3116        yy_is_jam = (yy_current_state == 882);
    31073117
    31083118        return yy_is_jam ? 0 : yy_current_state;
     
    37503760#define YYTABLES_NAME "yytables"
    37513761
    3752 #line 407 "lex.ll"
     3762#line 408 "lex.ll"
    37533763
    37543764
Note: See TracChangeset for help on using the changeset viewer.