Fix parsing of floating point numbers
[com/gs-lite.git] / src / ftacmp / ftalexer.cc
index 2882ba5..c06e941 100644 (file)
@@ -416,29 +416,29 @@ static yyconst flex_int16_t yy_accept[692] =
        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
        71,   71,   47,   48,   70,   83,   82,    0,   81,   80,
-        0,   76,    0,    0,   75,   72,    0,    0,   60,   66,
-       63,   67,   61,   71,   71,   27,   71,   71,   71,   10,
+        0,   76,    0,   75,   72,    0,    0,   60,   66,   63,
+       67,   61,   71,   71,   27,   71,   71,   71,   10,   71,
        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
-       71,   71,   71,   71,   71,   71,   71,   71,   28,   71,
+       71,   71,   71,   71,   71,   71,   71,   28,   71,   28,
 
-       28,   71,   71,   71,   71,   71,   71,   71,   71,   71,
-       71,   71,   71,   30,   71,   30,   71,   71,   71,   71,
        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
+       71,   71,   30,   71,   30,   71,   71,   71,   71,   71,
        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
-       28,   71,   71,   71,   71,   71,   30,   71,   71,   71,
-       71,   71,   71,   71,   71,   71,    0,   84,    0,   79,
-        0,   85,   75,    0,    0,   77,   73,    1,    5,    1,
+       71,   71,   71,   71,   71,   71,   71,   71,   71,   28,
+       71,   71,   71,   71,   71,   30,   71,   71,   71,   71,
+       71,   71,   71,   71,   71,    0,   84,    0,    0,   85,
+       75,    0,    0,   77,   73,    1,    5,    1,   71,   71,
        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
-       71,   71,   71,   52,   71,   71,   71,   71,   71,   41,
+       71,   52,   71,   71,   71,   71,   71,   41,   71,   71,
 
-       71,   71,   71,   71,   71,   71,   71,   71,   71,    7,
-       71,    6,   71,   29,   71,   71,   71,   71,   71,   71,
-       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
-        8,   71,   71,   71,   71,   71,   71,   71,   71,   71,
-       71,   71,   71,   71,   71,   71,   71,    1,   71,   71,
+       71,   71,   71,   71,   71,   71,   71,    7,   71,    6,
+       71,   29,   71,   71,   71,   71,   71,   71,   71,   71,
+       71,   71,   71,   71,   71,   71,   71,   71,    8,   71,
        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
+       71,   71,   71,   71,   71,    1,   71,   71,   71,   71,
        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
+       71,   71,   71,   71,   71,   71,   71,   71,    0,   79,
         0,   78,   74,   71,   71,   71,   71,   71,   20,   71,
        71,   71,   71,   71,   71,   71,   11,   71,   71,   71,
        71,   71,   71,   71,   71,   71,   71,   71,   42,   71,
@@ -534,82 +534,82 @@ static yyconst YY_CHAR yy_meta[69] =
 
 static yyconst flex_uint16_t yy_base[697] =
     {   0,
-        0,    0,  816,  817,  813,    0,  817,   66,  807,   62,
-      804,   66,  817,   65,  817,   69,   56,   30,   61,  792,
-        0,   65,   54,   76,   70,   83,  104,   75,   96,   88,
-      109,  114,  119,  782,  121,   80,  104,  745,   92,  116,
-      751,  765,  752,  759,  125,  749,  112,  126,   47,  754,
-      135,  747,  817,  817,  817,  800,    0,  135,  817,  817,
-      798,  169,  177,  797,  180,  184,  191,  772,  817,  817,
-      817,  817,  817,    0,  779,    0,  775,  750,  746,    0,
-      126,  758,  776,  149,  731,  747,  769,  762,  166,  758,
-      771,  733,  729,  754,  727,  745,  742,  718,  750,  166,
-
-      723,  756,  756,  727,  735,  740,  743,  707,  712,  714,
-      733,  707,  746,  723,  729,  721,  702,  728,  730,  737,
-      731,  708,  703,  728,  738,  720,  193,  699,  161,  734,
-      734,  721,  712,  704,  715,  710,  724,  683,  695,  708,
-      682,  693,  689,  166,  676,  692,  682,  678,  677,  670,
-      676,  682,  665,  670,  672,  666,  683,  664,  674,  669,
-      668,  169,  677,  659,  671,  659,  713,  817,  219,  222,
-      712,  817,  224,  230,  228,  232,  687,  671,    0,  670,
-      695,  676,  680,  688,  664,  647,  650,  657,  679,  668,
-      674,  665,  671,    0,  638,  643,  660,  634,  670,    0,
-
-      642,  672,  680,  653,  678,  641,  652,  647,  625,    0,
-      662,    0,  634,    0,  649,  665,  660,  663,  631,  661,
-      641,  652,  647,  623,  619,  651,  652,  649,  636,  644,
-        0,  646,  618,  614,  616,  635,  626,  640,  639,  598,
-      641,  638,  622,  609,  595,  610,  609,  608,  606,  589,
-      592,  599,  585,  590,  582,  591,  594,  580,  590,  595,
-      590,  586,  582,  587,  583,  585,  571,  585,  571,  586,
-      235,  237,  817,  611,  610,  596,  600,  588,    0,  567,
-      570,  560,  590,  598,  598,  596,    0,  568,  583,  556,
-      583,  556,  577,  567,  592,  565,  548,  563,    0,  562,
-
-      583,  555,  585,  578,  566,  549,  539,  568,  565,  559,
-      557,  532,  530,  572,  563,  572,  551,    0,  553,  540,
-      526,  563,    0,  545,    0,  563,  557,  559,  528,  530,
-      560,  559,  531,  518,  521,  511,  523,  512,  513,  509,
-      524,  518,  515,  505,  502,  500,  515,  501,  508,  510,
-      513,  533,  505,  529,  523,    0,  500,  495,  529,    0,
-      514,  514,  488,  521,  493,  521,  493,  499,  503,  512,
-      501,  495,  506,  505,    0,  499,  511,  490,  482,  488,
-        0,  511,  486,  496,  484,  468,  489,    0,  495,  502,
-      499,  460,  470,    0,  502,  491,  489,    0,  462,  492,
-
-      464,  463,  460,  455,  451,  457,  458,  464,  449,  455,
-      461,  460,  444,  440,  450,  445,  448,  474,  446,  465,
-      471,  437,  442,    0,    0,  448,  447,  459,  432,    0,
-      461,  469,    0,  468,  458,  446,  420,  450,  446,  453,
-      419,  451,  445,  444,    0,  443,  448,    0,  438,  437,
-        0,  411,  441,  425,  442,  414,  442,  414,  413,  406,
-      411,  417,  403,  405,  395,  397,  402,  397,  394,  400,
-      401,  416,  390,  425,  404,  396,  402,  418,  417,  419,
-      391,  409,  411,  410,  380,  400,  374,  400,    0,  402,
-      375,  403,  393,  367,  397,  402,  395,  368,    0,  402,
-
-      388,  362,  387,  361,  360,  368,  374,  363,  365,  357,
-      352,  355,  349,  353,  349,  349,    0,  364,  367,  362,
-      365,  372,  345,  358,  357,  374,    0,  346,  376,  348,
-      352,  369,  341,    0,  356,  330,  360,  368,  351,  325,
-      367,  349,  323,    0,  340,  318,  324,  337,  327,  330,
-      325,  315,  313,  313,  232,  349,  234,  321,  346,  318,
-      334,  333,  337,  310,  331,  305,  325,  332,  305,  339,
-      311,  315,  322,  324,  297,  324,  310,  309,   63,  300,
-      298,  289,  292,  288,  290,  297,  286,  300,  301,  317,
-      319,  273,  287,  289,  306,  279,  313,  285,    0,  289,
-
-      288,  305,    0,  295,  269,  295,    0,    0,  291,  299,
-      298,  257,  271,  273,  264,  271,   33,  100,  110,    0,
-      161,  170,  160,  154,    0,  177,  157,  194,  200,  230,
-      210,  211,  218,    0,  225,  200,  210,  203,  199,  208,
-      219,  206,  234,    0,  209,  231,  207,  237,  212,  231,
-      248,  249,  241,  252,  226,  223,  220,  224,  229,  231,
-        0,    0,  259,  233,    0,  255,  230,  264,  259,  234,
-      239,  235,  237,  264,  239,  271,  245,  278,    0,  243,
-      248,    0,  271,  246,  272,  248,    0,  266,  276,    0,
-      817,  305,  308,  304,  311,  314
+        0,    0,  814,  815,  811,    0,  815,   66,  805,   62,
+      802,   66,  815,   65,  815,   67,   55,   30,   63,  790,
+        0,   72,   42,   78,   54,   81,  102,   73,   75,   99,
+      101,  107,  123,  780,  121,   82,   96,  743,  106,   90,
+      749,  763,  750,  757,  118,  747,  102,   84,  119,  752,
+      127,  745,  815,  815,  815,  798,    0,  169,  815,  815,
+      796,  165,  795,  168,  173,  180,  770,  815,  815,  815,
+      815,  815,    0,  777,    0,  773,  748,  744,    0,   67,
+      756,  774,  142,  729,  745,  767,  760,  172,  756,  769,
+      731,  727,  752,  725,  743,  740,  716,  748,  159,  721,
+
+      754,  754,  725,  733,  738,  741,  705,  710,  712,  731,
+      705,  744,  721,  727,  719,  700,  726,  728,  735,  729,
+      706,  701,  726,  736,  718,  177,  697,  157,  732,  732,
+      719,  710,  702,  713,  708,  722,  681,  693,  706,  680,
+      691,  687,  150,  674,  690,  680,  676,  675,  668,  674,
+      680,  663,  668,  670,  664,  681,  662,  672,  667,  666,
+      159,  675,  657,  669,  657,  711,  815,  212,  710,  815,
+      214,  220,  218,  222,  685,  669,    0,  668,  693,  674,
+      678,  686,  662,  645,  648,  655,  677,  666,  672,  663,
+      669,    0,  636,  641,  658,  632,  668,    0,  640,  670,
+
+      678,  651,  676,  639,  650,  645,  623,    0,  660,    0,
+      632,    0,  647,  663,  658,  661,  629,  659,  639,  650,
+      645,  621,  617,  649,  650,  647,  634,  642,    0,  644,
+      616,  612,  614,  633,  624,  638,  637,  596,  639,  636,
+      620,  607,  593,  608,  607,  606,  604,  587,  590,  597,
+      583,  588,  580,  589,  592,  578,  588,  593,  588,  584,
+      580,  585,  581,  583,  569,  583,  569,  584,  225,  227,
+      229,  231,  815,  609,  608,  594,  598,  586,    0,  565,
+      568,  558,  588,  596,  596,  594,    0,  566,  581,  554,
+      581,  554,  575,  565,  590,  563,  546,  561,    0,  560,
+
+      581,  553,  583,  576,  564,  547,  537,  566,  563,  557,
+      555,  530,  528,  570,  561,  570,  549,    0,  551,  538,
+      524,  561,    0,  543,    0,  561,  555,  557,  526,  528,
+      558,  557,  529,  516,  519,  509,  521,  510,  511,  507,
+      522,  516,  513,  503,  500,  498,  513,  499,  506,  508,
+      511,  531,  503,  527,  521,    0,  498,  493,  527,    0,
+      512,  512,  486,  519,  491,  519,  491,  497,  501,  510,
+      499,  493,  504,  503,    0,  497,  509,  488,  480,  486,
+        0,  509,  484,  494,  482,  466,  487,    0,  493,  500,
+      497,  458,  468,    0,  500,  489,  487,    0,  460,  490,
+
+      462,  461,  458,  453,  449,  455,  456,  462,  447,  453,
+      459,  458,  442,  438,  448,  443,  446,  472,  444,  463,
+      469,  435,  440,    0,    0,  446,  445,  457,  430,    0,
+      459,  467,    0,  466,  456,  444,  418,  448,  444,  451,
+      417,  449,  443,  442,    0,  441,  446,    0,  436,  435,
+        0,  409,  439,  423,  440,  412,  440,  412,  411,  404,
+      409,  415,  401,  403,  393,  395,  400,  395,  392,  398,
+      399,  414,  388,  423,  402,  394,  400,  416,  415,  417,
+      389,  407,  409,  408,  378,  398,  372,  398,    0,  400,
+      373,  401,  391,  365,  395,  400,  393,  366,    0,  400,
+
+      386,  360,  385,  359,  358,  366,  372,  361,  363,  355,
+      350,  353,  347,  351,  347,  347,    0,  362,  365,  360,
+      363,  370,  343,  356,  355,  372,    0,  344,  374,  346,
+      350,  367,  339,    0,  354,  328,  358,  366,  349,  323,
+      365,  347,  321,    0,  338,  316,  322,  335,  325,  328,
+      323,  313,  311,  311,  165,  347,  226,  319,  344,  316,
+      332,  331,  335,  308,  329,  303,  323,  330,  303,  337,
+      309,  313,  320,  322,  295,  322,  308,  307,  200,  298,
+      296,  287,  290,  286,  288,  295,  284,  298,  299,  315,
+      317,  271,  285,  287,  304,  277,  311,  283,    0,  287,
+
+      286,  303,    0,  293,  267,  293,    0,    0,  289,  297,
+      296,  255,  269,  271,  262,  269,   49,   62,   98,    0,
+      180,  178,  163,  162,    0,  210,  186,  222,  223,  229,
+      208,  209,  216,    0,  223,  198,  208,  201,  197,  206,
+      217,  204,  233,    0,  210,  232,  208,  238,  213,  232,
+      246,  247,  239,  250,  224,  221,  218,  222,  227,  229,
+        0,    0,  257,  231,    0,  253,  228,  262,  257,  232,
+      237,  233,  235,  262,  237,  269,  243,  276,    0,  241,
+      246,    0,  269,  244,  270,  246,    0,  264,  274,    0,
+      815,  303,  306,  302,  309,  312
 
     } ;
 
@@ -621,8 +621,8 @@ static yyconst flex_int16_t yy_def[697] =
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
       694,  694,  691,  691,  691,  691,  692,  693,  691,  691,
-      695,  691,  691,  696,  691,  691,  691,  691,  691,  691,
-      691,  691,  691,  694,  694,  694,  694,  694,  694,  694,
+      695,  691,  696,  691,  691,  691,  691,  691,  691,  691,
+      691,  691,  694,  694,  694,  694,  694,  694,  694,  694,
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
 
@@ -632,8 +632,8 @@ static yyconst flex_int16_t yy_def[697] =
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
-      694,  694,  694,  694,  694,  694,  695,  691,  691,  691,
-      696,  691,  691,  691,  691,  691,  691,  694,  694,  694,
+      694,  694,  694,  694,  694,  695,  691,  691,  696,  691,
+      691,  691,  691,  691,  691,  694,  694,  694,  694,  694,
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
 
@@ -643,7 +643,7 @@ static yyconst flex_int16_t yy_def[697] =
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
-      694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
+      694,  694,  694,  694,  694,  694,  694,  694,  691,  691,
       691,  691,  691,  694,  694,  694,  694,  694,  694,  694,
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
       694,  694,  694,  694,  694,  694,  694,  694,  694,  694,
@@ -694,7 +694,7 @@ static yyconst flex_int16_t yy_def[697] =
 
     } ;
 
-static yyconst flex_uint16_t yy_nxt[886] =
+static yyconst flex_uint16_t yy_nxt[884] =
     {   0,
         4,    5,    6,    7,    8,    7,    9,   10,   11,   12,
        12,   13,   14,   15,   16,   17,   18,   19,   20,   21,
@@ -702,100 +702,100 @@ static yyconst flex_uint16_t yy_nxt[886] =
        30,   21,   31,   32,   33,   34,   21,   35,   36,   21,
        21,   21,   37,   38,   39,   21,   21,   40,   41,   42,
        43,   21,   44,   45,   46,   47,   21,   48,   49,   50,
-       21,   21,   51,   52,   21,   53,   54,   55,   59,   80,
-       60,   62,   62,   65,  640,   66,   66,   69,   70,   71,
-       88,   63,   72,   73,   75,   67,   94,   81,   89,   76,
-       82,   96,   77,  161,   80,   97,   83,   90,   99,   91,
-
-      100,   68,  102,  118,  111,  103,  612,  162,   63,  140,
-       78,   95,   67,   84,   76,   92,   85,   79,   98,  105,
-      119,   86,   93,  106,  101,  613,  113,  107,  114,  104,
-      112,  115,  120,  124,  130,  141,  136,   59,  121,   60,
-      125,  131,  132,  137,  144,  181,  108,  145,  126,  127,
-      109,  133,  146,  116,  110,  182,  117,  641,  142,  122,
-      128,  642,   76,  138,  123,  143,  147,  153,  134,  157,
-      139,  154,  158,  148,  129,  155,  159,  164,   62,   62,
-      643,  160,  169,  169,  165,  191,  170,  170,   63,  173,
-      173,   65,  192,   66,   66,  185,  175,  175,  644,  174,
-
-      176,  176,  203,   67,  186,  234,  645,  204,  644,  229,
-      230,  646,  249,  265,  231,   63,  647,  235,  648,   68,
-      231,  250,  231,  232,  649,  266,  174,  205,  170,  170,
-       67,  170,  170,  173,  173,  271,  271,  176,  176,  272,
-      272,  176,  176,  174,  272,  272,  272,  272,  589,  650,
-      592,  651,  652,  653,  654,  655,  656,  644,  657,  658,
-      659,  660,  661,  661,  662,  662,  663,  664,  665,  590,
-      174,  593,  666,  667,  668,  669,  670,  661,  662,  671,
-      672,  673,  674,  675,  676,  677,  678,  679,  679,  680,
-      681,  679,  682,  682,  683,  684,  685,  682,  686,  687,
-
-      687,  688,  687,  689,  690,   57,   74,   57,   58,   58,
-       58,  167,  167,  167,  171,  171,  171,  639,  625,  638,
-      637,  620,  636,  635,  634,  633,  632,  631,  630,  629,
-      628,  627,  626,  625,  625,  624,  623,  620,  622,  621,
-      620,  619,  608,  618,  603,  617,  599,  616,  615,  614,
-      611,  610,  609,  608,  608,  607,  606,  605,  604,  603,
-      603,  602,  601,  600,  599,  599,  598,  597,  596,  595,
-      594,  591,  588,  587,  586,  585,  584,  583,  582,  581,
-      580,  579,  578,  577,  576,  575,  574,  573,  572,  571,
-      570,  569,  568,  567,  566,  565,  564,  563,  562,  561,
-
-      560,  559,  558,  557,  556,  555,  544,  554,  553,  552,
-      551,  550,  549,  548,  547,  546,  545,  517,  544,  544,
-      543,  542,  541,  540,  539,  538,  537,  536,  535,  534,
-      533,  532,  531,  530,  529,  528,  527,  527,  526,  525,
-      524,  523,  522,  521,  520,  519,  518,  517,  517,  516,
-      515,  514,  513,  512,  489,  511,  510,  509,  508,  507,
-      506,  505,  504,  503,  502,  501,  500,  499,  498,  497,
-      496,  495,  494,  493,  492,  491,  489,  490,  489,  488,
-      487,  486,  485,  484,  483,  482,  481,  480,  479,  478,
-      477,  476,  475,  474,  473,  472,  471,  470,  469,  451,
-
-      445,  468,  467,  466,  465,  464,  430,  463,  462,  461,
-      460,  459,  458,  457,  456,  455,  454,  453,  452,  451,
-      450,  449,  448,  447,  445,  446,  445,  444,  443,  442,
-      441,  440,  439,  438,  437,  436,  435,  434,  433,  432,
-      431,  430,  430,  429,  428,  427,  426,  425,  424,  423,
-      422,  421,  420,  419,  418,  417,  398,  416,  415,  414,
-      413,  412,  411,  410,  375,  409,  408,  407,  406,  405,
-      356,  404,  403,  402,  401,  400,  398,  399,  398,  397,
-      396,  395,  394,  393,  392,  391,  390,  389,  388,  387,
-      386,  385,  384,  383,  382,  381,  380,  379,  378,  377,
-
-      376,  375,  375,  374,  373,  372,  371,  370,  369,  368,
-      367,  366,  365,  364,  363,  362,  361,  360,  359,  356,
-      358,  357,  356,  355,  354,  353,  352,  351,  350,  349,
-      323,  348,  318,  347,  346,  345,  344,  343,  342,  341,
-      340,  339,  338,  287,  337,  279,  336,  335,  334,  333,
-      332,  331,  330,  329,  328,  327,  326,  323,  325,  324,
-      323,  322,  321,  318,  320,  319,  318,  317,  316,  315,
-      314,  313,  312,  311,  310,  309,  308,  307,  306,  305,
-      304,  303,  302,  301,  300,  299,  298,  297,  296,  295,
-      294,  293,  292,  291,  290,  289,  287,  288,  287,  286,
-
-      285,  284,  283,  279,  282,  281,  280,  279,  278,  277,
-      276,  275,  274,  273,  172,  168,  270,  269,  268,  267,
-      264,  263,  262,  261,  260,  214,  212,  259,  210,  258,
-      257,  256,  255,  254,  253,  252,  251,  179,  248,  247,
-      246,  245,  244,  243,  242,  241,  240,  239,  238,  237,
-      236,  233,  228,  227,  226,  225,  224,  223,  222,  221,
-      220,  219,  218,  217,  216,  215,  214,  214,  212,  213,
-      210,  212,  211,  210,  209,  208,  207,  206,  202,  201,
-      200,  199,  198,  197,  196,  195,  194,  193,  190,  189,
-      188,  187,  184,  183,  179,  180,  179,  178,  177,  172,
-
-      168,   56,  166,  163,  156,  152,  151,  150,  149,   80,
-      135,   87,   64,   61,   56,  691,    3,  691,  691,  691,
+       21,   21,   51,   52,   21,   53,   54,   55,   59,   79,
+       60,   62,   62,   64,   93,   65,   65,   68,   69,   70,
+       71,   72,   98,   74,   99,   66,  179,   87,   75,   80,
+      640,   76,   81,   95,   79,   88,  180,   96,   82,   94,
+
+      101,   67,  110,  102,   89,  112,   90,  113,  100,   77,
+      114,  139,   66,   75,  117,   83,   78,  104,   84,  641,
+       97,  105,   91,   85,  119,  106,  123,  103,  111,   92,
+      120,  118,  115,  124,  158,  116,  135,  140,  129,  159,
+      146,  125,  126,  136,  107,  130,  131,  147,  108,  642,
+      141,  121,  109,  127,   75,  132,  122,  142,  143,  156,
+      152,  144,  157,  137,  153,  160,  145,  128,  154,  163,
+      138,   59,  133,   60,   62,   62,  164,  171,  171,  161,
+       64,  589,   65,   65,  168,  173,  173,  172,  183,  174,
+      174,  189,   66,  227,  228,  201,  247,  184,  190,  643,
+
+      202,  232,  590,  263,  229,  248,  644,  230,   67,  645,
+      229,  168,  229,  233,  172,  264,  644,  269,  269,   66,
+      203,  270,  270,  171,  171,  271,  271,  174,  174,  272,
+      272,  174,  174,  172,  270,  270,  270,  270,  272,  272,
+      272,  272,  592,  612,  646,  647,  648,  649,  650,  651,
+      652,  653,  654,  655,  656,  644,  657,  658,  659,  660,
+      172,  661,  613,  593,  661,  662,  662,  663,  664,  665,
+      666,  667,  668,  669,  670,  661,  662,  671,  672,  673,
+      674,  675,  676,  677,  678,  679,  679,  680,  681,  679,
+      682,  682,  683,  684,  685,  682,  686,  687,  687,  688,
+
+      687,  689,  690,   57,   73,   57,   58,   58,   58,  166,
+      166,  166,  169,  169,  169,  639,  625,  638,  637,  620,
+      636,  635,  634,  633,  632,  631,  630,  629,  628,  627,
+      626,  625,  625,  624,  623,  620,  622,  621,  620,  619,
+      608,  618,  603,  617,  599,  616,  615,  614,  611,  610,
+      609,  608,  608,  607,  606,  605,  604,  603,  603,  602,
+      601,  600,  599,  599,  598,  597,  596,  595,  594,  591,
+      588,  587,  586,  585,  584,  583,  582,  581,  580,  579,
+      578,  577,  576,  575,  574,  573,  572,  571,  570,  569,
+      568,  567,  566,  565,  564,  563,  562,  561,  560,  559,
+
+      558,  557,  556,  555,  544,  554,  553,  552,  551,  550,
+      549,  548,  547,  546,  545,  517,  544,  544,  543,  542,
+      541,  540,  539,  538,  537,  536,  535,  534,  533,  532,
+      531,  530,  529,  528,  527,  527,  526,  525,  524,  523,
+      522,  521,  520,  519,  518,  517,  517,  516,  515,  514,
+      513,  512,  489,  511,  510,  509,  508,  507,  506,  505,
+      504,  503,  502,  501,  500,  499,  498,  497,  496,  495,
+      494,  493,  492,  491,  489,  490,  489,  488,  487,  486,
+      485,  484,  483,  482,  481,  480,  479,  478,  477,  476,
+      475,  474,  473,  472,  471,  470,  469,  451,  445,  468,
+
+      467,  466,  465,  464,  430,  463,  462,  461,  460,  459,
+      458,  457,  456,  455,  454,  453,  452,  451,  450,  449,
+      448,  447,  445,  446,  445,  444,  443,  442,  441,  440,
+      439,  438,  437,  436,  435,  434,  433,  432,  431,  430,
+      430,  429,  428,  427,  426,  425,  424,  423,  422,  421,
+      420,  419,  418,  417,  398,  416,  415,  414,  413,  412,
+      411,  410,  375,  409,  408,  407,  406,  405,  356,  404,
+      403,  402,  401,  400,  398,  399,  398,  397,  396,  395,
+      394,  393,  392,  391,  390,  389,  388,  387,  386,  385,
+      384,  383,  382,  381,  380,  379,  378,  377,  376,  375,
+
+      375,  374,  373,  372,  371,  370,  369,  368,  367,  366,
+      365,  364,  363,  362,  361,  360,  359,  356,  358,  357,
+      356,  355,  354,  353,  352,  351,  350,  349,  323,  348,
+      318,  347,  346,  345,  344,  343,  342,  341,  340,  339,
+      338,  287,  337,  279,  336,  335,  334,  333,  332,  331,
+      330,  329,  328,  327,  326,  323,  325,  324,  323,  322,
+      321,  318,  320,  319,  318,  317,  316,  315,  314,  313,
+      312,  311,  310,  309,  308,  307,  306,  305,  304,  303,
+      302,  301,  300,  299,  298,  297,  296,  295,  294,  293,
+      292,  291,  290,  289,  287,  288,  287,  286,  285,  284,
+
+      283,  279,  282,  281,  280,  279,  278,  277,  276,  275,
+      274,  273,  170,  167,  268,  267,  266,  265,  262,  261,
+      260,  259,  258,  212,  210,  257,  208,  256,  255,  254,
+      253,  252,  251,  250,  249,  177,  246,  245,  244,  243,
+      242,  241,  240,  239,  238,  237,  236,  235,  234,  231,
+      226,  225,  224,  223,  222,  221,  220,  219,  218,  217,
+      216,  215,  214,  213,  212,  212,  210,  211,  208,  210,
+      209,  208,  207,  206,  205,  204,  200,  199,  198,  197,
+      196,  195,  194,  193,  192,  191,  188,  187,  186,  185,
+      182,  181,  177,  178,  177,  176,  175,  170,  167,   56,
+
+      165,  162,  155,  151,  150,  149,  148,   79,  134,   86,
+       63,   61,   56,  691,    3,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
-      691,  691,  691,  691,  691
+      691,  691,  691
     } ;
 
-static yyconst flex_int16_t yy_chk[886] =
+static yyconst flex_int16_t yy_chk[884] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -804,96 +804,96 @@ static yyconst flex_int16_t yy_chk[886] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    8,   18,
-        8,   10,   10,   12,  617,   12,   12,   14,   14,   14,
-       22,   10,   16,   16,   17,   12,   23,   19,   22,   17,
-       19,   24,   17,   49,   18,   24,   19,   22,   25,   22,
-
-       25,   12,   26,   30,   28,   26,  579,   49,   10,   36,
-       17,   23,   12,   19,   17,   22,   19,   17,   24,   27,
-       30,   19,   22,   27,   25,  579,   29,   27,   29,   26,
-       28,   29,   31,   32,   33,   36,   35,   58,   31,   58,
-       32,   33,   33,   35,   39,   81,   27,   39,   32,   32,
-       27,   33,   39,   29,   27,   81,   29,  618,   37,   31,
-       32,  619,   37,   35,   31,   37,   40,   45,   33,   47,
-       35,   45,   47,   40,   32,   45,   48,   51,   62,   62,
-      621,   48,   63,   63,   51,   89,   63,   63,   62,   65,
-       65,   66,   89,   66,   66,   84,   67,   67,  622,   65,
-
-       67,   67,  100,   66,   84,  129,  623,  100,  624,  127,
-      127,  626,  144,  162,  129,   62,  627,  129,  628,   66,
-      127,  144,  162,  127,  629,  162,   65,  100,  169,  169,
-       66,  170,  170,  173,  173,  174,  174,  175,  175,  174,
-      174,  176,  176,  173,  271,  271,  272,  272,  555,  630,
-      557,  631,  632,  633,  635,  636,  637,  638,  639,  640,
-      641,  642,  643,  645,  646,  647,  648,  649,  650,  555,
-      173,  557,  651,  652,  653,  654,  655,  656,  657,  658,
-      659,  660,  663,  664,  666,  667,  668,  669,  670,  671,
-      672,  673,  674,  675,  676,  677,  678,  680,  681,  683,
-
-      684,  685,  686,  688,  689,  692,  694,  692,  693,  693,
-      693,  695,  695,  695,  696,  696,  696,  616,  615,  614,
-      613,  612,  611,  610,  609,  606,  605,  604,  602,  601,
-      600,  598,  597,  596,  595,  594,  593,  592,  591,  590,
-      589,  588,  587,  586,  585,  584,  583,  582,  581,  580,
-      578,  577,  576,  575,  574,  573,  572,  571,  570,  569,
-      568,  567,  566,  565,  564,  563,  562,  561,  560,  559,
-      558,  556,  554,  553,  552,  551,  550,  549,  548,  547,
-      546,  545,  543,  542,  541,  540,  539,  538,  537,  536,
-      535,  533,  532,  531,  530,  529,  528,  526,  525,  524,
-
-      523,  522,  521,  520,  519,  518,  516,  515,  514,  513,
-      512,  511,  510,  509,  508,  507,  506,  505,  504,  503,
-      502,  501,  500,  498,  497,  496,  495,  494,  493,  492,
-      491,  490,  488,  487,  486,  485,  484,  483,  482,  481,
-      480,  479,  478,  477,  476,  475,  474,  473,  472,  471,
-      470,  469,  468,  467,  466,  465,  464,  463,  462,  461,
-      460,  459,  458,  457,  456,  455,  454,  453,  452,  450,
-      449,  447,  446,  444,  443,  442,  441,  440,  439,  438,
-      437,  436,  435,  434,  432,  431,  429,  428,  427,  426,
-      423,  422,  421,  420,  419,  418,  417,  416,  415,  414,
-
-      413,  412,  411,  410,  409,  408,  407,  406,  405,  404,
-      403,  402,  401,  400,  399,  397,  396,  395,  393,  392,
-      391,  390,  389,  387,  386,  385,  384,  383,  382,  380,
-      379,  378,  377,  376,  374,  373,  372,  371,  370,  369,
-      368,  367,  366,  365,  364,  363,  362,  361,  359,  358,
-      357,  355,  354,  353,  352,  351,  350,  349,  348,  347,
-      346,  345,  344,  343,  342,  341,  340,  339,  338,  337,
-      336,  335,  334,  333,  332,  331,  330,  329,  328,  327,
-      326,  324,  322,  321,  320,  319,  317,  316,  315,  314,
-      313,  312,  311,  310,  309,  308,  307,  306,  305,  304,
-
-      303,  302,  301,  300,  298,  297,  296,  295,  294,  293,
-      292,  291,  290,  289,  288,  286,  285,  284,  283,  282,
-      281,  280,  278,  277,  276,  275,  274,  270,  269,  268,
-      267,  266,  265,  264,  263,  262,  261,  260,  259,  258,
-      257,  256,  255,  254,  253,  252,  251,  250,  249,  248,
-      247,  246,  245,  244,  243,  242,  241,  240,  239,  238,
-      237,  236,  235,  234,  233,  232,  230,  229,  228,  227,
-      226,  225,  224,  223,  222,  221,  220,  219,  218,  217,
-      216,  215,  213,  211,  209,  208,  207,  206,  205,  204,
-      203,  202,  201,  199,  198,  197,  196,  195,  193,  192,
-
-      191,  190,  189,  188,  187,  186,  185,  184,  183,  182,
-      181,  180,  178,  177,  171,  167,  166,  165,  164,  163,
-      161,  160,  159,  158,  157,  156,  155,  154,  153,  152,
-      151,  150,  149,  148,  147,  146,  145,  143,  142,  141,
-      140,  139,  138,  137,  136,  135,  134,  133,  132,  131,
-      130,  128,  126,  125,  124,  123,  122,  121,  120,  119,
-      118,  117,  116,  115,  114,  113,  112,  111,  110,  109,
-      108,  107,  106,  105,  104,  103,  102,  101,   99,   98,
-       97,   96,   95,   94,   93,   92,   91,   90,   88,   87,
-       86,   85,   83,   82,   79,   78,   77,   75,   68,   64,
-
-       61,   56,   52,   50,   46,   44,   43,   42,   41,   38,
-       34,   20,   11,    9,    5,    3,  691,  691,  691,  691,
+        8,   10,   10,   12,   23,   12,   12,   14,   14,   14,
+       16,   16,   25,   17,   25,   12,   80,   22,   17,   19,
+      617,   17,   19,   24,   18,   22,   80,   24,   19,   23,
+
+       26,   12,   28,   26,   22,   29,   22,   29,   25,   17,
+       29,   36,   12,   17,   30,   19,   17,   27,   19,  618,
+       24,   27,   22,   19,   31,   27,   32,   26,   28,   22,
+       31,   30,   29,   32,   48,   29,   35,   36,   33,   48,
+       40,   32,   32,   35,   27,   33,   33,   40,   27,  619,
+       37,   31,   27,   32,   37,   33,   31,   37,   39,   47,
+       45,   39,   47,   35,   45,   49,   39,   32,   45,   51,
+       35,   58,   33,   58,   62,   62,   51,   64,   64,   49,
+       65,  555,   65,   65,   62,   66,   66,   64,   83,   66,
+       66,   88,   65,  126,  126,   99,  143,   83,   88,  621,
+
+       99,  128,  555,  161,  126,  143,  622,  126,   65,  623,
+      128,   62,  161,  128,   64,  161,  624,  168,  168,   65,
+       99,  168,  168,  171,  171,  172,  172,  173,  173,  172,
+      172,  174,  174,  171,  269,  269,  270,  270,  271,  271,
+      272,  272,  557,  579,  626,  627,  628,  629,  630,  631,
+      632,  633,  635,  636,  637,  638,  639,  640,  641,  642,
+      171,  643,  579,  557,  645,  646,  647,  648,  649,  650,
+      651,  652,  653,  654,  655,  656,  657,  658,  659,  660,
+      663,  664,  666,  667,  668,  669,  670,  671,  672,  673,
+      674,  675,  676,  677,  678,  680,  681,  683,  684,  685,
+
+      686,  688,  689,  692,  694,  692,  693,  693,  693,  695,
+      695,  695,  696,  696,  696,  616,  615,  614,  613,  612,
+      611,  610,  609,  606,  605,  604,  602,  601,  600,  598,
+      597,  596,  595,  594,  593,  592,  591,  590,  589,  588,
+      587,  586,  585,  584,  583,  582,  581,  580,  578,  577,
+      576,  575,  574,  573,  572,  571,  570,  569,  568,  567,
+      566,  565,  564,  563,  562,  561,  560,  559,  558,  556,
+      554,  553,  552,  551,  550,  549,  548,  547,  546,  545,
+      543,  542,  541,  540,  539,  538,  537,  536,  535,  533,
+      532,  531,  530,  529,  528,  526,  525,  524,  523,  522,
+
+      521,  520,  519,  518,  516,  515,  514,  513,  512,  511,
+      510,  509,  508,  507,  506,  505,  504,  503,  502,  501,
+      500,  498,  497,  496,  495,  494,  493,  492,  491,  490,
+      488,  487,  486,  485,  484,  483,  482,  481,  480,  479,
+      478,  477,  476,  475,  474,  473,  472,  471,  470,  469,
+      468,  467,  466,  465,  464,  463,  462,  461,  460,  459,
+      458,  457,  456,  455,  454,  453,  452,  450,  449,  447,
+      446,  444,  443,  442,  441,  440,  439,  438,  437,  436,
+      435,  434,  432,  431,  429,  428,  427,  426,  423,  422,
+      421,  420,  419,  418,  417,  416,  415,  414,  413,  412,
+
+      411,  410,  409,  408,  407,  406,  405,  404,  403,  402,
+      401,  400,  399,  397,  396,  395,  393,  392,  391,  390,
+      389,  387,  386,  385,  384,  383,  382,  380,  379,  378,
+      377,  376,  374,  373,  372,  371,  370,  369,  368,  367,
+      366,  365,  364,  363,  362,  361,  359,  358,  357,  355,
+      354,  353,  352,  351,  350,  349,  348,  347,  346,  345,
+      344,  343,  342,  341,  340,  339,  338,  337,  336,  335,
+      334,  333,  332,  331,  330,  329,  328,  327,  326,  324,
+      322,  321,  320,  319,  317,  316,  315,  314,  313,  312,
+      311,  310,  309,  308,  307,  306,  305,  304,  303,  302,
+
+      301,  300,  298,  297,  296,  295,  294,  293,  292,  291,
+      290,  289,  288,  286,  285,  284,  283,  282,  281,  280,
+      278,  277,  276,  275,  274,  268,  267,  266,  265,  264,
+      263,  262,  261,  260,  259,  258,  257,  256,  255,  254,
+      253,  252,  251,  250,  249,  248,  247,  246,  245,  244,
+      243,  242,  241,  240,  239,  238,  237,  236,  235,  234,
+      233,  232,  231,  230,  228,  227,  226,  225,  224,  223,
+      222,  221,  220,  219,  218,  217,  216,  215,  214,  213,
+      211,  209,  207,  206,  205,  204,  203,  202,  201,  200,
+      199,  197,  196,  195,  194,  193,  191,  190,  189,  188,
+
+      187,  186,  185,  184,  183,  182,  181,  180,  179,  178,
+      176,  175,  169,  166,  165,  164,  163,  162,  160,  159,
+      158,  157,  156,  155,  154,  153,  152,  151,  150,  149,
+      148,  147,  146,  145,  144,  142,  141,  140,  139,  138,
+      137,  136,  135,  134,  133,  132,  131,  130,  129,  127,
+      125,  124,  123,  122,  121,  120,  119,  118,  117,  116,
+      115,  114,  113,  112,  111,  110,  109,  108,  107,  106,
+      105,  104,  103,  102,  101,  100,   98,   97,   96,   95,
+       94,   93,   92,   91,   90,   89,   87,   86,   85,   84,
+       82,   81,   78,   77,   76,   74,   67,   63,   61,   56,
+
+       52,   50,   46,   44,   43,   42,   41,   38,   34,   20,
+       11,    9,    5,    3,  691,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
       691,  691,  691,  691,  691,  691,  691,  691,  691,  691,
-      691,  691,  691,  691,  691
+      691,  691,  691
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -1285,7 +1285,7 @@ yy_match:
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 817 );
+               while ( yy_base[yy_current_state] != 815 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];