Took out incorrect time zones like JST and BST.
authorShantonu Sen <ssen@mit.edu>
Fri, 8 Sep 2000 01:36:23 +0000 (01:36 +0000)
committerShantonu Sen <ssen@mit.edu>
Fri, 8 Sep 2000 01:36:23 +0000 (01:36 +0000)
sbr/dtimep.c
sbr/dtimep.lex

index 69a0c74..7b97431 100644 (file)
@@ -282,82 +282,80 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
        *yy_cp = '\0'; \
        yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 36
-#define YY_END_OF_BUFFER 37
-static yyconst short int yy_accept[661] =
+#define YY_NUM_RULES 31
+#define YY_END_OF_BUFFER 32
+static yyconst short int yy_accept[636] =
     {   0,
-        0,    0,   37,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,   32,   30,   30,   30,   30,   30,   30,   30,
+       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
+       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
+       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
+       30,   30,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,   14,    0,
 
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   14,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,   14,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,   29,   26,   25,    0,
+        0,   19,   18,    0,   17,   16,    0,    0,   15,   28,
+       27,    0,    0,    0,   21,   20,    0,    0,    0,   24,
+        0,    0,   23,   22,    0,    0,    0,    0,    0,    0,
+        0,    0,   29,   29,   29,   29,   29,   29,   29,   29,
+       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
+
+       29,   12,   13,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   14,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,   34,   28,   27,    0,
-        0,   33,   21,   20,    0,   19,   18,    0,    0,   15,
-       32,   31,   17,   16,    0,    0,    0,   23,   22,    0,
-        0,    0,   26,    0,    0,   25,   24,    0,    0,    0,
-
-        0,    0,    0,   30,   29,    0,    0,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   12,   13,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,   12,   13,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   12,   13,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    9,    9,    0,    0,    0,    0,
 
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    9,
-        9,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    9,    0,    0,    0,    0,
+        9,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    9,    7,    7,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    9,
-        7,    7,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,   10,   11,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   10,   11,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    7,    0,    0,    0,
+        0,    7,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    7,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    7,    0,    0,    0,    0,    0,    0,
-
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    8,
+        0,    0,    0,    0,    8,    0,    0,    0,    0,    0,
+
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    6,    6,
-        6,    6,    6,    6,    6,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    5,    0,    5,    0,    0,    0,
-        0,    0,    0,    3,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    6,    6,    6,    6,    6,    6,    6,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    5,
+        0,    5,    0,    0,    0,    0,    0,    0,    3,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    5,    5,    5,    0,    0,    8,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    5,    0,    0,    6,    6,    0,
-        6,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    3,    0,    0,    6,    0,    0,    0,    0,    0,
-        0,    6,    6,    0,    2,    4,    1,    1,    0,    6,
-        0,    0,    0,    1,    0,    0,    1,    2,    4,    0
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    5,
+        5,    5,    0,    0,    8,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    5,
+        0,    0,    6,    6,    0,    6,    0,    0,    0,    0,
+
+        0,    0,    0,    0,    0,    0,    3,    0,    0,    6,
+        0,    0,    0,    0,    0,    0,    6,    6,    0,    2,
+        4,    1,    1,    0,    6,    0,    0,    0,    1,    0,
+        0,    1,    2,    4,    0
     } ;
 
 static yyconst int yy_ec[256] =
@@ -369,13 +367,13 @@ static yyconst int yy_ec[256] =
         1,    1,    4,    5,    6,    1,    7,    8,    9,    8,
         8,    8,    8,    8,    8,    8,    8,   10,    1,    1,
         1,    1,    1,    1,   11,   12,   13,   14,   15,   16,
-       17,   18,   19,   20,   19,   19,   21,   22,   23,   24,
-       19,   19,   25,   26,   27,   19,   28,   19,   29,   19,
-       30,    1,   31,    1,    1,    1,   32,   33,   34,   35,
+       17,   18,   12,   19,   12,   12,   20,   21,   22,   23,
+       12,   12,   24,   25,   26,   12,   27,   12,   12,   12,
+       28,    1,   29,    1,    1,    1,   30,   31,   32,   33,
 
-       36,   37,   38,   39,   40,   41,   42,   43,   44,   45,
-       46,   47,   42,   48,   49,   50,   51,   52,   53,   42,
-       54,   42,    1,    1,    1,    1,    1,    1,    1,    1,
+       34,   35,   36,   37,   38,   39,   40,   41,   42,   43,
+       44,   45,   40,   46,   47,   48,   49,   50,   51,   40,
+       52,   40,    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,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -392,434 +390,420 @@ static yyconst int yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst int yy_meta[55] =
+static yyconst int yy_meta[53] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-        2,    2,    2,    2,    2,    2,    2,    2,    2,    1,
-        1,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    4,    3,    3,    3,
-        4,    3,    3,    3
+        2,    2,    2,    2,    2,    2,    2,    1,    1,    3,
+        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        3,    3,    3,    3,    4,    3,    3,    3,    4,    3,
+        3,    3
     } ;
 
-static yyconst short int yy_base[665] =
+static yyconst short int yy_base[640] =
     {   0,
-        0,    0, 1119, 1120,   47,   49,  102,   91,   81,   93,
-       76,   99,  100,  101,  105,  106,  120,  121,  129,  125,
-      133,  119,   82,  130,  113,  143,  150,  137, 1069,  127,
-     1081,  130,  137, 1072,  134,    0,  155,  159,  143, 1081,
-      147,  161,  156, 1064, 1077,  164,   71,  192,  184,  189,
-        0,  196,  197,  202,  201,  203,  204,  205,  206,  210,
-      218,  190, 1063,  198,    0,  199, 1067,  202,  203,  205,
-     1061,  206, 1059,  207,  255,  236,  256,    0, 1082, 1081,
-     1058, 1067, 1078, 1077, 1076, 1067, 1074, 1073, 1065, 1057,
-     1070, 1069, 1068, 1067, 1066, 1046,  135, 1064, 1063,  205,
-
-     1043, 1061, 1034, 1035, 1058, 1057, 1032, 1034, 1035, 1028,
-     1042,    0, 1042, 1050, 1049, 1042, 1026,    0, 1022, 1023,
-     1020, 1031, 1018, 1017, 1016, 1031, 1014, 1013, 1029, 1021,
-     1010, 1009, 1008, 1012, 1006, 1005,  222,  216, 1004, 1008,
-     1002,  999, 1000,  999,  998,  997,  996,  998,  999,  992,
-     1006,    0, 1006,  990,  989,  241,  252,   90, 1002, 1001,
-      240, 1004,  989, 1000,  997,  275, 1120, 1120, 1120,  266,
-      244, 1120, 1120, 1120,  271, 1120, 1120,  115,  283, 1120,
-     1120, 1120, 1120, 1120,  272,  277,  284, 1120, 1120,  287,
-     1030,  292, 1120,  296,  291, 1120, 1120,  300,  306,  307,
-
-      309,  311,  317, 1120, 1120, 1000,  999,  301,  308,  313,
-      315,  323,  322,  324,  328,  327, 1027,  331,  332,  333,
-      338,  336,  342,  343,  348,  350,  361,  363,  980,  989,
-      992,  992,  979,  322,  326,  971,  972,  974,  367,  375,
-      385,  977,  970,  974,  966,  396, 1014,  983,  982, 1011,
-     1010,  972,  978,  965,  975,  959,  970,  973,  955,  968,
-      966,  971,  970, 1120, 1120,  344,  337,  388,  352,  381,
-      390,  394,  400,  997,  399,  383,  397,  400,  405,  418,
-      996,  947,  963,  963,  441,  364,  958,  957,  371,  960,
-      945,  956,  953,  934,  939,  984,  931,  951,  947,  947,
-
-      937,  926,  944,  946,  928,  955,  954,  444,  931,  924,
-      928,  920,  938,  967,  966,  928,  922,  932,  928,  446,
-      449,  454,  961,  434,  960,  925,  912,  462,  957,  910,
-      919,  922,  922,  909,  416,  412,  901,  902,  904,  463,
-      896,  465,  913,  900,  915,  913,  467,  913,  890,  908,
-      898,  897,  466,  471,  938,  889,  905,  905,  888,  933,
-      901,  897,  888,  484,  480,  493,  482,  496,  883,  876,
-      430,  893,  892,  374,  895,  880,  891,  888,  469,  494,
-      496,  498,  508,  510,  511,  514,  921,  513,  512,  515,
-      874,  919,  866,  883,  864,  516,  885,  885,  884,  517,
-
-      520,  912,  877,  864,  857,  874,  861,  875,  525,  905,
-      522,  534,  904,  903,  856,  865,  868,  868,  855,  495,
-      496,  847,  848,  850,  552,  853,  846,  850,  842,  860,
-      889,  888,  850,  844,  854,  850,  883,  518,  836,  550,
-      829, 1120, 1120,  554,  558,  566,  834,  827,  832,  877,
-      842,  867,  561,  574,  874,  563,  575,  539,  535,  549,
-      555,  571,  551,  576,  579,  873,  580,  585,  586,  589,
-      872,  823,  839,  839,  822,  867,  835,  831,  822,  863,
-      587,  598,  862,  861,  860,  859,  812,  601,  811,  812,
-      564,  575,  821,  599,  626,  813,  806,  810,  802,  820,
-
-      849,  848,  810,  804,  814,  810,  630,  843,  615,  842,
-      807,  794,  787,  804,  791,  805,  827,  621,  834,  825,
-      794,  788,  782,  786,  779,  793,  793,  632,  634,  825,
-      776,  792,  792,  775,  820,  788,  784,  775,  636,  639,
-      648,  770,  763,  768,  813,  778,  643,  645,  778,  777,
-      760,  775,  761,  759,  762,  653,  656,  804,  769,  756,
-      749,  766,  753,  767,  658,  661,  669,  664,  667,  797,
-      796,  795,  748,  785,  672,  762,  761,  744,  759,  741,
-      754,  752,  680,  675,  683,  739,  732,  737,  782,  747,
-      685,  780,  687,  689,  697,  699,  707,  779,  702, 1120,
-
-      726,  725,  743,  723,  741,  743,  725,  709,  771,  770,
-      769,  768,  721,  712,  698,  623,  705, 1120, 1120,  736,
-     1120,  735,  712,  725,  722,  715,  688,  676,  717,  725,
-      720, 1120,  605,  583, 1120,  589,  722,  727,  729,  731,
-      733, 1120, 1120,  565,  583,  428,  735,  737,  200, 1120,
-      739,  741,  743,  745,  747,  749, 1120, 1120, 1120, 1120,
-      757,  759,   57,  761
+        0,    0, 1082, 1083,   45,   47,   98,   87,   63,   89,
+       75,  101,  103,  102,  104,   84,  116,  107,  121,  128,
+      109,  110,  116,  110,  139,  124,    0,  130, 1047,  131,
+      133, 1038,  133,   27,  142,  137, 1047,  135,  153,  139,
+     1030, 1043,  182,  184,  171,  180,    0,  182,  183,  184,
+      185,  186,  187,  191,  179,    0,  180,  181, 1034,  184,
+      185, 1028,  186, 1026,  232,  212,  223,    0, 1048, 1047,
+     1025, 1034, 1044, 1043, 1035, 1041, 1040, 1033, 1025, 1037,
+     1036, 1035, 1016,  181, 1033, 1032,  189, 1013, 1030, 1004,
+     1005, 1027, 1026, 1002, 1004, 1005,  998, 1012,    0, 1012,
+
+     1014,  998,    0,  994,  995,  992, 1003,  990,  989, 1004,
+      987,  986, 1002,  994,  983,  982,  981,  985,  195,  193,
+      979,  983,  977,  974,  975,  974,  973,  972,  971,  973,
+      974,  967,  981,    0,  981,  241,  249,   74,  979,  978,
+      193,  981,  966,  977,  974,  274, 1083, 1083, 1083,  235,
+      238, 1083, 1083,  257, 1083, 1083,  242,  259, 1083, 1083,
+     1083,  245,  253,  261, 1083, 1083,  258, 1005,  264, 1083,
+      266,  268, 1083, 1083,  284,  100,  291,  296,  297,  302,
+      977,  976,  270,  276,  275,  282,  301,  283,  308,  309,
+      314, 1002,  315,  313,  311,  316,  320,  321,  325,  333,
+
+      334,  332,  341,  957,  966,  969,  969,  956,  288,  305,
+      948,  949,  951,  344,  352,  354,  954,  947,  951,  943,
+      379,  989,  960,  959,  986,  985,  949,  955,  942,  952,
+      936,  947,  950,  932,  945,  943,  948,  947, 1083, 1083,
+      335,  312,  362,  364,  367,  365,  368,  372,  972,  373,
+      376,  377,  374,  376,  422,  971,  924,  940,  940,  426,
+      125,  935,  934,  342,  937,  922,  933,  930,  911,  916,
+      959,  908,  928,  924,  924,  914,  903,  921,  923,  905,
+      931,  930,  430,  908,  901,  905,  897,  915,  942,  941,
+      905,  899,  909,  905,  434,  438,  442,  936,  384,  935,
+
+      902,  889,  450,  932,  887,  896,  899,  899,  886,  351,
+      359,  878,  879,  881,  443,  873,  451,  890,  877,  892,
+      890,  452,  890,  867,  885,  875,  874,  450,  454,  913,
+      866,  882,  882,  865,  908,  878,  874,  865,  473,  459,
+      482,  468,  470,  860,  853,  370,  870,  869,  411,  872,
+      857,  868,  865,  395,  406,  471,  463,  447,  435,  484,
+      374,  896,  486,  493,  496,  851,  894,  843,  860,  841,
+      497,  862,  862,  861,  498,  502,  887,  854,  841,  834,
+      851,  838,  852,  504,  880,  514,  519,  879,  878,  833,
+      842,  845,  845,  832,  460,  479,  824,  825,  827,  524,
+
+      830,  823,  827,  819,  837,  864,  863,  827,  821,  831,
+      827,  858,  533,  813,  534,  806, 1083, 1083,  532,  521,
+      540,  811,  804,  809,  852,  819,  842,  537,  548,  849,
+      543,  551,  541,  506,  513,  515,  552,  555,  560,  556,
+      848,  563,  561,  564,  569,  847,  800,  816,  816,  799,
+      842,  812,  808,  799,  838,  565,  572,  837,  836,  835,
+      834,  789,  576,  788,  789,  557,  549,  798,  587,  600,
+      790,  783,  787,  779,  797,  824,  823,  787,  781,  791,
+      787,  602,  818,  598,  817,  784,  771,  764,  781,  768,
+      782,  802,  605,  809,  800,  771,  765,  759,  763,  756,
+
+      770,  770,  607,  609,  800,  753,  769,  769,  752,  795,
+      765,  761,  752,  611,  614,  623,  747,  740,  745,  788,
+      755,  618,  620,  755,  754,  737,  752,  738,  736,  739,
+      628,  631,  779,  746,  733,  726,  743,  730,  744,  633,
+      636,  644,  639,  642,  772,  771,  770,  725,  760,  647,
+      739,  738,  721,  736,  718,  731,  729,  655,  650,  658,
+      716,  709,  714,  757,  724,  660,  755,  662,  664,  672,
+      674,  682,  754,  677, 1083,  703,  702,  720,  700,  718,
+      720,  702,  684,  746,  745,  744,  743,  698,  687,  673,
+      696,  680, 1083, 1083,  713, 1083,  712,  684,  632,  651,
+
+      691,  632,  583,  693,  701,  696, 1083,  539,  524, 1083,
+      539,  699,  703,  705,  707,  709, 1083, 1083,  377,  403,
+      309,  711,  713,  108, 1083,  715,  717,  719,  721,  723,
+      725, 1083, 1083, 1083, 1083,  733,  735,   73,  737
     } ;
 
-static yyconst short int yy_def[665] =
+static yyconst short int yy_def[640] =
     {   0,
-      660,    1,  660,  660,  660,  660,  660,  661,  661,  661,
-      661,   10,   10,   10,   10,   10,   10,   10,   10,   10,
-       10,  661,  661,  661,  661,   10,  660,  662,  662,  662,
-      662,  662,  662,  662,  662,  662,  662,  662,  662,  662,
-      662,  662,  662,  662,  662,  662,  660,  660,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
-       10,  662,  662,  662,  662,  662,  662,  662,  662,  662,
-      662,  662,  662,  662,  660,  660,  660,  663,  663,  663,
-      660,  660,  663,  663,  663,  660,  663,  663,  660,  660,
-      663,  663,  663,  663,  663,  660,  660,  663,  663,  660,
-
-      660,  663,  660,  660,  663,  663,  660,  660,  660,  660,
-      660,  663,  660,  663,  663,  660,  660,  664,  664,  664,
-      664,  664,  664,  664,  664,  664,  664,  664,  664,  664,
-      664,  664,  664,  664,  664,  664,  664,  664,  664,  664,
-      664,  664,  664,  664,  664,  664,  664,  664,  664,  664,
-      664,  664,  664,  664,  664,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,    0,
-      660,  660,  660,  660
+      635,    1,  635,  635,  635,  635,  635,  636,  636,  636,
+      636,   10,   10,   10,   10,  636,   10,   10,   10,   10,
+      636,  636,  636,   13,  635,  637,  637,  637,  637,  637,
+      637,  637,  637,  637,  637,  637,  637,  637,  637,  637,
+      637,  637,  635,  635,   10,   10,   10,   10,   10,   10,
+       10,   10,   10,   10,  637,  637,  637,  637,  637,  637,
+      637,  637,  637,  637,  635,  635,  635,  638,  638,  638,
+      635,  635,  638,  638,  635,  638,  638,  635,  635,  638,
+      638,  638,  635,  635,  638,  638,  635,  635,  638,  635,
+      635,  638,  638,  635,  635,  635,  635,  635,  638,  635,
+
+      635,  635,  639,  639,  639,  639,  639,  639,  639,  639,
+      639,  639,  639,  639,  639,  639,  639,  639,  639,  639,
+      639,  639,  639,  639,  639,  639,  639,  639,  639,  639,
+      639,  639,  639,  639,  639,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,    0,  635,  635,  635,  635
     } ;
 
-static yyconst short int yy_nxt[1175] =
+static yyconst short int yy_nxt[1136] =
     {   0,
         4,    4,    4,    5,    4,    6,    4,    7,    7,    4,
         8,    9,   10,   11,   12,   13,   14,   15,   16,   17,
-       18,   19,   20,   21,   22,   23,   24,   25,   26,   27,
-        4,   28,   29,   30,   31,   32,   33,   34,   35,   36,
-       37,   36,   36,   38,   39,   40,   41,   36,   42,   43,
-       44,   36,   45,   46,   47,   47,   48,   48,  167,   49,
-       50,   51,   52,   53,   52,   54,   55,   52,   56,   57,
-       58,   52,   59,   52,   52,   60,   52,   61,  156,  156,
-       62,   63,   64,   65,   66,   65,   67,   68,   65,   69,
-       65,   65,   70,   71,   65,   72,   65,   65,   65,   73,
-
-       65,   65,   74,   75,   79,   83,   84,   76,   76,   77,
-       77,   86,   87,   78,   78,   80,  241,   85,   92,   78,
-      110,   91,  660,   88,   78,   78,  660,  660,  660,   93,
-       78,  660,  111,   94,   98,   89,  229,   81,   78,  660,
-      230,   82,   78,  660,   95,   99,  105,   90,  113,   78,
-      107,   96,  100,  102,  108,  112,  114,  106,  104,  660,
-      116,  124,  245,  660,  127,  660,  101,  115,  132,  109,
-       97,  119,  129,  117,  103,  125,  660,  186,  128,  187,
-      660,  145,  133,  120,  130,  121,  134,  122,  142,  135,
-      138,  143,  147,  139,  150,  146,  148,   79,  154,  157,
-
-      157,  630,   78,  136,  140,  137,  151,  141,   80,   78,
-       87,  149,  155,   83,   92,   78,   94,   98,   78,  105,
-       78,   88,   91,   78,  119,   93,   78,   95,   99,  102,
-      106,  114,  124,  127,   78,  112,  132,  135,  121,  139,
-      145,  154,  115,  166,  166,  241,  125,  128,  227,  227,
-      133,  136,  190,  141,  146,  155,   75,   75,  191,  228,
-      228,   76,   76,  216,  214,  158,  215,  241,  159,  217,
-      160,  233,  241,  241,  161,  162,  163,  164,  241,  165,
-      239,  239,  240,  240,  246,  241,  158,  247,  241,  159,
-      234,  160,  241,  246,  243,  161,  247,  241,  162,  163,
-
-      164,  246,  241,  165,  247,  242,  244,  241,  246,  241,
-      246,  247,  246,  247,  241,  247,  241,  248,  246,  251,
-      252,  247,  249,  241,  246,  241,  253,  247,  241,  241,
-      250,  254,  246,  241,  241,  247,  255,  241,  308,  246,
-      242,  258,  247,  246,  246,  308,  247,  247,  244,  246,
-      256,  246,  247,  308,  247,  257,  259,  248,  243,  260,
-      252,  261,  245,  251,  271,  253,  272,  254,  264,  264,
-      265,  265,  249,  273,  278,  279,  258,  250,  255,  274,
-      239,  239,  308,  309,  308,  257,  241,  310,  256,  308,
-      259,  308,  280,  280,  261,  308,  260,  246,  308,  312,
-
-      308,  308,  334,  285,  285,  419,  286,  320,  320,  287,
-      330,  288,  321,  321,  331,  289,  290,  291,  292,  322,
-      293,  335,  323,  311,  420,  324,  324,  286,  318,  315,
-      287,  313,  288,  316,  317,  322,  289,  652,  323,  290,
-      291,  292,  328,  314,  293,  308,  319,  364,  329,  329,
-      364,  353,  354,  365,  365,  322,  366,  366,  384,  386,
-      385,  367,  368,  328,  246,  387,  246,  247,  246,  247,
-      425,  247,  371,  400,  400,  372,  415,  373,  401,  401,
-      416,  374,  375,  376,  377,  364,  378,  410,  410,  411,
-      411,  409,  409,  371,  364,  425,  372,  425,  373,  425,
-
-      410,  410,  374,  412,  412,  375,  376,  377,  426,  425,
-      378,  425,  425,  425,  425,  425,  425,  246,  444,  246,
-      247,  444,  247,  454,  445,  445,  455,  446,  446,  456,
-      456,  428,  452,  452,  453,  454,  495,  463,  455,  464,
-      495,  457,  457,  465,  427,  429,  432,  433,  434,  466,
-      495,  246,  495,  425,  247,  444,  495,  435,  430,  470,
-      470,  482,  482,  431,  436,  483,  483,  444,  488,  488,
-      494,  494,  495,  483,  483,  454,  454,  495,  496,  455,
-      495,  495,  494,  494,  498,  497,  495,  495,  246,  489,
-      507,  247,  651,  508,  490,  523,  509,  509,  491,  492,
-
-      454,  493,  499,  455,  501,  517,  517,  518,  520,  520,
-      489,  502,  503,  525,  524,  504,  507,  490,  650,  508,
-      644,  500,  491,  492,  630,  526,  493,  495,  547,  547,
-      505,  507,  631,  528,  529,  506,  643,  539,  540,  556,
-      556,  557,  557,  565,  565,  566,  567,  567,  566,  541,
-      574,  574,  575,  575,  583,  568,  569,  583,  642,  591,
-      584,  584,  592,  585,  585,  593,  593,  566,  594,  594,
-      591,  596,  596,  592,  597,  597,  595,  595,  566,  600,
-      600,  583,  609,  609,  583,  629,  591,  608,  608,  495,
-      609,  609,  614,  614,  615,  615,  616,  616,  591,  591,
-
-      591,  592,  592,  592,  615,  615,  593,  593,  591,  617,
-      617,  592,  632,  632,  595,  595,  625,  625,  626,  628,
-      628,  629,  637,  637,  638,  638,  630,  641,  641,  645,
-      645,  626,  639,  640,  646,  646,  647,  647,  648,  648,
-      649,  649,  653,  653,  654,  654,  655,  655,  656,  656,
-      657,  657,  657,  657,  658,  658,  659,  659,   78,  636,
-       78,  118,  118,  167,  167,  635,  634,  633,  627,  495,
-      495,  495,  583,  624,  623,  622,  621,  620,  619,  618,
-      425,  591,  613,  495,  612,  611,  610,  607,  606,  605,
-      604,  603,  602,  601,  599,  598,  425,  425,  425,  590,
-
-      589,  588,  466,  587,  586,  495,  582,  581,  580,  579,
-      578,  577,  576,  573,  425,  572,  571,  570,  564,  563,
-      562,  495,  561,  560,  559,  558,  495,  555,  554,  553,
-      552,  551,  550,  549,  548,  308,  518,  546,  545,  544,
-      387,  543,  542,  425,  541,  538,  537,  536,  535,  495,
-      495,  534,  533,  532,  531,  530,  527,  522,  521,  519,
-      308,  308,  308,  444,  241,  516,  515,  514,  425,  513,
-      512,  511,  510,  425,  495,  454,  453,  487,  308,  486,
-      485,  484,  481,  480,  241,  479,  478,  477,  476,  425,
-      425,  475,  474,  473,  472,  471,  469,  468,  467,  462,
-
-      461,  460,  459,  458,  241,  241,  364,  451,  450,  449,
-      274,  448,  447,  308,  443,  442,  441,  440,  439,  438,
-      241,  437,  425,  424,  423,  422,  421,  418,  417,  414,
-      413,  408,  407,  406,  308,  405,  404,  403,  402,  308,
-      399,  398,  397,  396,  395,  394,  393,  392,  391,  191,
-      390,  389,  388,  383,  382,  381,  380,  379,  328,  370,
-      369,  241,  322,  363,  362,  361,  360,  308,  308,  359,
-      358,  357,  356,  355,  352,  351,  350,  349,  348,  347,
-      346,  345,  344,  343,  342,  241,  341,  340,  339,  338,
-      337,  336,  333,  332,  327,  326,  325,  241,  308,  307,
-
-      306,  305,  304,  303,  302,  301,  300,  299,  298,  297,
-      296,  241,  241,  295,  294,  246,  284,  283,  282,  281,
-      277,  276,  275,  270,  269,  268,  267,  266,  241,  263,
-      262,  241,  238,  237,  236,  235,  232,  231,  205,  204,
-      226,  225,  224,  223,  222,  221,  197,  196,  220,  193,
-      219,  189,  218,  188,  184,  183,  213,  182,  181,  180,
-      212,  211,  177,  176,  210,  174,  173,  172,  209,  169,
-      208,  168,  207,  206,  205,  204,  203,  202,  201,  200,
-      199,  198,  197,  196,  195,  194,  193,  192,  189,  188,
-      185,  184,  183,  182,  181,  180,  179,  178,  177,  176,
-
-      175,  174,  173,  172,  171,  170,  169,  168,  152,  143,
-      131,  123,  153,  152,  144,  131,  126,  123,  660,    3,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660
+       18,   19,   20,   21,   22,   23,   24,   25,    4,   26,
+       27,   28,   29,   30,   31,   32,   33,   27,   34,   27,
+       27,   35,   36,   37,   38,   27,   39,   40,   41,   27,
+       42,   27,   43,   43,   44,   44,  118,   45,   46,   47,
+       46,   48,   46,   49,   50,   46,   51,   52,   46,   53,
+       46,   46,   54,   46,  147,  119,   55,   56,   57,   56,
+       58,   56,   59,   60,   56,   56,   56,   56,   61,   62,
+       56,   63,   56,   56,   56,   64,   56,   56,   56,   65,
+
+       69,  216,   73,   66,   66,   67,   67,  635,   75,  605,
+       70,  635,   74,   83,   76,   68,   68,   81,  204,  635,
+       68,   80,  205,  635,   77,   68,   68,   82,  635,   85,
+       89,   71,   84,  635,   68,   72,   78,  635,   94,   86,
+       99,   92,   95,  100,   68,   87,   97,  232,   79,  101,
+       90,   93,   91,  635,  635,  635,  104,   96,   98,   88,
+      635,  102,  108,  111,  635,  116,  113,  127,  105,  305,
+      106,  120,  107,  306,  121,  132,  109,  112,  114,  117,
+      124,  128,  129,  125,   69,  122,  130,  133,  123,  136,
+      136,  137,  137,   68,   70,   76,   68,   81,   85,   68,
+
+       92,  131,   80,   68,   68,   77,   68,   82,   86,   89,
+       93,  104,  108,  111,   68,   99,  116,  121,  127,  146,
+      146,  163,  208,  164,   65,  106,  109,  112,   66,   66,
+      117,  123,  128,   65,  167,  189,  216,  190,  191,  216,
+      168,  209,  138,  216,  192,  139,  216,  140,  202,  202,
+      141,  142,  143,  144,  216,  145,  203,  203,  216,  216,
+      221,  138,  216,  222,  139,  221,  140,  216,  222,  216,
+      141,  216,  217,  142,  143,  144,  216,  216,  145,  214,
+      214,  215,  215,  216,  216,  221,  218,  220,  222,  227,
+      219,  223,  221,  224,  226,  222,  228,  221,  221,  229,
+
+      222,  222,  221,  221,  225,  222,  222,  217,  219,  216,
+      216,  230,  216,  283,  216,  216,  221,  221,  627,  222,
+      222,  216,  221,  233,  218,  222,  221,  220,  246,  222,
+      247,  224,  231,  223,  221,  221,  283,  222,  222,  239,
+      239,  234,  226,  235,  236,  227,  229,  228,  240,  240,
+      248,  253,  254,  233,  230,  216,  249,  214,  214,  225,
+      285,  255,  255,  283,  231,  283,  283,  232,  283,  283,
+      234,  309,  284,  283,  283,  400,  236,  283,  283,  235,
+      221,  295,  295,  296,  296,  297,  260,  260,  298,  261,
+      310,  359,  262,  360,  263,  286,  400,  264,  265,  266,
+
+      267,  290,  268,  291,  361,  408,  292,  400,  261,  287,
+      362,  262,  626,  263,  390,  288,  289,  264,  391,  293,
+      265,  266,  267,  297,  294,  268,  298,  303,  625,  299,
+      299,  283,  401,  304,  304,  339,  400,  328,  329,  339,
+      394,  340,  340,  297,  221,  341,  341,  222,  400,  342,
+      343,  303,  221,  221,  402,  222,  222,  375,  375,  395,
+      346,  376,  376,  347,  400,  348,  385,  385,  349,  350,
+      351,  352,  400,  353,  339,  386,  386,  387,  387,  346,
+      384,  384,  347,  339,  348,  400,  406,  400,  349,  385,
+      385,  350,  351,  352,  400,  405,  353,  400,  221,  419,
+
+      438,  222,  439,  419,  403,  420,  420,  470,  404,  421,
+      421,  427,  427,  428,  470,  429,  470,  407,  430,  409,
+      429,  431,  431,  430,  440,  400,  432,  432,  458,  458,
+      441,  445,  445,  419,  221,  221,  410,  222,  222,  457,
+      457,  419,  470,  411,  463,  463,  473,  458,  458,  429,
+      469,  469,  429,  470,  472,  430,  470,  470,  469,  469,
+      474,  470,  470,  464,  470,  470,  221,  465,  619,  222,
+      482,  466,  467,  483,  468,  618,  484,  484,  471,  492,
+      492,  493,  464,  495,  495,  500,  498,  478,  429,  465,
+      617,  430,  604,  477,  466,  467,  479,  501,  468,  482,
+
+      475,  470,  483,  482,  480,  499,  476,  503,  504,  514,
+      515,  481,  522,  522,  531,  531,  532,  532,  540,  540,
+      541,  542,  542,  541,  516,  549,  549,  550,  550,  558,
+      543,  544,  558,  470,  566,  559,  559,  567,  560,  560,
+      568,  568,  541,  569,  569,  566,  571,  571,  567,  572,
+      572,  570,  570,  541,  575,  575,  558,  584,  584,  558,
+      601,  566,  583,  583,  611,  584,  584,  589,  589,  590,
+      590,  591,  591,  566,  566,  566,  567,  567,  567,  590,
+      590,  568,  568,  566,  592,  592,  567,  607,  607,  570,
+      570,  600,  600,  601,  603,  603,  604,  605,  612,  612,
+
+      613,  613,  605,  616,  616,  606,  620,  620,  614,  615,
+      621,  621,  622,  622,  623,  623,  624,  624,  628,  628,
+      629,  629,  630,  630,  631,  631,  632,  632,  632,  632,
+      633,  633,  634,  634,   68,  610,   68,  103,  103,  147,
+      147,  609,  608,  602,  470,  470,  470,  558,  599,  598,
+      597,  596,  595,  594,  593,  400,  566,  588,  470,  587,
+      586,  585,  582,  581,  580,  579,  578,  577,  576,  574,
+      573,  400,  400,  400,  565,  564,  563,  441,  562,  561,
+      470,  557,  556,  555,  554,  553,  552,  551,  548,  400,
+      547,  546,  545,  539,  538,  537,  470,  536,  535,  534,
+
+      533,  470,  530,  529,  528,  527,  526,  525,  524,  523,
+      283,  493,  521,  520,  519,  362,  518,  517,  400,  516,
+      513,  512,  511,  510,  470,  470,  509,  508,  507,  506,
+      505,  502,  497,  496,  494,  283,  283,  283,  419,  216,
+      491,  490,  489,  400,  488,  487,  486,  485,  400,  470,
+      429,  428,  462,  283,  461,  460,  459,  456,  455,  216,
+      454,  453,  452,  451,  400,  400,  450,  449,  448,  447,
+      446,  444,  443,  442,  437,  436,  435,  434,  433,  216,
+      216,  339,  426,  425,  424,  249,  423,  422,  283,  418,
+      417,  416,  415,  414,  413,  216,  412,  400,  399,  398,
+
+      397,  396,  393,  392,  389,  388,  383,  382,  381,  283,
+      380,  379,  378,  377,  283,  374,  373,  372,  371,  370,
+      369,  368,  367,  366,  168,  365,  364,  363,  358,  357,
+      356,  355,  354,  303,  345,  344,  216,  297,  338,  337,
+      336,  335,  283,  283,  334,  333,  332,  331,  330,  327,
+      326,  325,  324,  323,  322,  321,  320,  319,  318,  317,
+      216,  316,  315,  314,  313,  312,  311,  308,  307,  302,
+      301,  300,  216,  283,  282,  281,  280,  279,  278,  277,
+      276,  275,  274,  273,  272,  271,  216,  216,  270,  269,
+      221,  259,  258,  257,  256,  252,  251,  250,  245,  244,
+
+      243,  242,  241,  216,  238,  237,  216,  213,  212,  211,
+      210,  207,  206,  201,  200,  199,  198,  197,  196,  174,
+      173,  195,  170,  194,  166,  193,  165,  188,  161,  160,
+      159,  187,  186,  156,  155,  185,  153,  152,  184,  149,
+      183,  148,  182,  181,  180,  179,  178,  177,  176,  175,
+      174,  173,  172,  171,  170,  169,  166,  165,  162,  161,
+      160,  159,  158,  157,  156,  155,  154,  153,  152,  151,
+      150,  149,  148,  134,  125,  115,  135,  134,  126,  115,
+      110,  635,    3,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635
     } ;
 
-static yyconst short int yy_chk[1175] =
+static yyconst short int yy_chk[1136] =
     {   0,
         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,    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,    5,    5,    6,    6,  663,    6,
-        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
-        6,    6,    6,    6,    6,    6,    6,    6,   47,   47,
+        1,    1,    5,    5,    6,    6,   34,    6,    6,    6,
         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
+        6,    6,    6,    6,  638,   34,    6,    6,    6,    6,
         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
-
-        6,    6,    6,    7,    8,    9,   10,    7,    7,    7,
-        7,   11,   12,   13,   14,    8,  178,   10,   15,   16,
-       23,   14,   11,   12,   13,   14,   11,    9,   23,   15,
-       16,    9,   23,   17,   18,   13,  158,    8,   20,   10,
-      158,    8,   19,   10,   17,   18,   21,   13,   25,   20,
-       22,   17,   18,   19,   22,   24,   26,   21,   20,   25,
-       27,   30,  178,   25,   32,   22,   18,   26,   35,   22,
-       17,   28,   33,   27,   19,   30,   24,   97,   32,   97,
-       24,   41,   35,   28,   33,   28,   37,   28,   39,   37,
-       38,   39,   42,   38,   43,   41,   42,   49,   46,   48,
-
-       48,  649,   50,   37,   38,   37,   43,   38,   49,   52,
-       53,   42,   46,   50,   55,   54,   56,   57,   58,   59,
-       52,   53,   54,   60,   62,   55,   54,   56,   57,   58,
-       59,   61,   64,   66,   60,   60,   68,   69,   62,   70,
-       72,   74,   61,   76,   76,  171,   64,   66,  156,  156,
-       68,   69,  100,   70,   72,   74,   75,   77,  100,  157,
-      157,   77,   77,  138,  137,   75,  137,  170,   75,  138,
-       75,  161,  175,  185,   75,   75,   75,   75,  186,   75,
-      166,  166,  166,  166,  179,  187,   75,  179,  190,   75,
-      161,   75,  195,  192,  171,   75,  192,  194,   75,   75,
-
-       75,  198,  208,   75,  198,  170,  175,  199,  200,  209,
-      201,  200,  202,  201,  210,  202,  211,  179,  203,  187,
-      190,  203,  185,  213,  212,  214,  192,  212,  216,  215,
-      186,  194,  218,  219,  220,  218,  195,  222,  267,  221,
-      208,  200,  221,  223,  224,  266,  223,  224,  210,  225,
-      198,  226,  225,  269,  226,  199,  201,  212,  209,  202,
-      216,  203,  211,  215,  234,  218,  234,  219,  227,  227,
-      228,  228,  213,  235,  239,  239,  223,  214,  220,  235,
-      240,  240,  270,  266,  276,  222,  241,  267,  221,  268,
-      224,  271,  241,  241,  226,  272,  225,  246,  277,  269,
-
-      275,  273,  289,  246,  246,  374,  246,  278,  278,  246,
-      286,  246,  279,  279,  286,  246,  246,  246,  246,  280,
-      246,  289,  280,  268,  374,  280,  280,  246,  276,  272,
-      246,  270,  246,  273,  275,  324,  246,  646,  324,  246,
-      246,  246,  285,  271,  246,  308,  277,  320,  285,  285,
-      321,  308,  308,  320,  320,  322,  321,  321,  335,  336,
-      335,  322,  322,  328,  340,  336,  342,  340,  347,  342,
-      379,  347,  328,  353,  353,  328,  371,  328,  354,  354,
-      371,  328,  328,  328,  328,  364,  328,  365,  365,  367,
-      367,  364,  364,  328,  366,  380,  328,  381,  328,  382,
-
-      366,  366,  328,  368,  368,  328,  328,  328,  379,  383,
-      328,  384,  385,  389,  388,  386,  390,  396,  400,  438,
-      396,  401,  438,  411,  400,  400,  411,  401,  401,  411,
-      411,  381,  409,  409,  409,  412,  459,  420,  412,  420,
-      458,  412,  412,  421,  380,  382,  385,  386,  388,  421,
-      460,  440,  463,  425,  440,  444,  461,  389,  383,  425,
-      425,  444,  444,  384,  390,  445,  445,  446,  453,  453,
-      456,  456,  462,  446,  446,  454,  457,  464,  458,  457,
-      465,  467,  457,  457,  460,  459,  468,  469,  481,  454,
-      470,  481,  645,  470,  454,  491,  470,  470,  454,  454,
-
-      494,  454,  461,  494,  463,  482,  482,  482,  488,  488,
-      454,  464,  465,  492,  491,  467,  509,  454,  644,  509,
-      636,  462,  454,  454,  616,  492,  454,  495,  518,  518,
-      468,  507,  616,  495,  495,  469,  634,  507,  507,  528,
-      528,  529,  529,  539,  539,  539,  540,  540,  540,  541,
-      547,  547,  548,  548,  556,  541,  541,  557,  633,  565,
-      556,  556,  565,  557,  557,  565,  565,  565,  566,  566,
-      567,  568,  568,  567,  569,  569,  567,  567,  567,  575,
-      575,  583,  584,  584,  585,  628,  591,  583,  583,  627,
-      585,  585,  591,  591,  593,  593,  594,  594,  595,  615,
-
-      596,  595,  615,  596,  595,  595,  596,  596,  597,  599,
-      599,  597,  617,  617,  597,  597,  608,  608,  608,  614,
-      614,  614,  626,  626,  629,  629,  630,  631,  631,  637,
-      637,  625,  630,  630,  638,  638,  639,  639,  640,  640,
-      641,  641,  647,  647,  648,  648,  651,  651,  652,  652,
-      653,  653,  654,  654,  655,  655,  656,  656,  661,  624,
-      661,  662,  662,  664,  664,  623,  622,  620,  613,  612,
-      611,  610,  609,  607,  606,  605,  604,  603,  602,  601,
-      598,  592,  590,  589,  588,  587,  586,  582,  581,  580,
-      579,  578,  577,  576,  574,  573,  572,  571,  570,  564,
-
-      563,  562,  561,  560,  559,  558,  555,  554,  553,  552,
-      551,  550,  549,  546,  545,  544,  543,  542,  538,  537,
-      536,  535,  534,  533,  532,  531,  530,  527,  526,  525,
-      524,  523,  522,  521,  520,  519,  517,  516,  515,  514,
-      513,  512,  511,  510,  508,  506,  505,  504,  503,  502,
-      501,  500,  499,  498,  497,  496,  493,  490,  489,  487,
-      486,  485,  484,  483,  480,  479,  478,  477,  476,  475,
-      474,  473,  472,  471,  466,  455,  452,  451,  450,  449,
-      448,  447,  441,  439,  437,  436,  435,  434,  433,  432,
-      431,  430,  429,  428,  427,  426,  424,  423,  422,  419,
-
-      418,  417,  416,  415,  414,  413,  410,  408,  407,  406,
-      405,  404,  403,  402,  399,  398,  397,  395,  394,  393,
-      392,  391,  387,  378,  377,  376,  375,  373,  372,  370,
-      369,  363,  362,  361,  360,  359,  358,  357,  356,  355,
-      352,  351,  350,  349,  348,  346,  345,  344,  343,  341,
-      339,  338,  337,  334,  333,  332,  331,  330,  329,  327,
-      326,  325,  323,  319,  318,  317,  316,  315,  314,  313,
-      312,  311,  310,  309,  307,  306,  305,  304,  303,  302,
-      301,  300,  299,  298,  297,  296,  295,  294,  293,  292,
-      291,  290,  288,  287,  284,  283,  282,  281,  274,  263,
-
-      262,  261,  260,  259,  258,  257,  256,  255,  254,  253,
-      252,  251,  250,  249,  248,  247,  245,  244,  243,  242,
-      238,  237,  236,  233,  232,  231,  230,  229,  217,  207,
-      206,  191,  165,  164,  163,  162,  160,  159,  155,  154,
-      153,  151,  150,  149,  148,  147,  146,  145,  144,  143,
-      142,  141,  140,  139,  136,  135,  134,  133,  132,  131,
-      130,  129,  128,  127,  126,  125,  124,  123,  122,  121,
-      120,  119,  117,  116,  115,  114,  113,  111,  110,  109,
-      108,  107,  106,  105,  104,  103,  102,  101,   99,   98,
-       96,   95,   94,   93,   92,   91,   90,   89,   88,   87,
-
-       86,   85,   84,   83,   82,   81,   80,   79,   73,   71,
-       67,   63,   45,   44,   40,   34,   31,   29,    3,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660,  660,  660,  660,  660,  660,  660,
-      660,  660,  660,  660
+        6,    6,    6,    6,    6,    6,    6,    6,    6,    7,
+
+        8,  176,   10,    7,    7,    7,    7,    9,   11,  624,
+        8,    9,   10,   16,   12,   14,   13,   15,  138,   11,
+       18,   14,  138,   11,   12,   14,   13,   15,   16,   17,
+       18,    8,   16,   10,   19,    8,   13,   10,   21,   17,
+       23,   20,   21,   24,   19,   17,   22,  176,   13,   25,
+       18,   20,   19,   21,   22,   24,   26,   21,   22,   17,
+       23,   25,   28,   30,   23,   33,   31,   38,   26,  261,
+       26,   35,   26,  261,   35,   40,   28,   30,   31,   33,
+       36,   38,   39,   36,   45,   35,   39,   40,   35,   43,
+       43,   44,   44,   46,   45,   48,   49,   50,   51,   52,
+
+       53,   39,   49,   46,   54,   48,   49,   50,   51,   52,
+       53,   55,   57,   58,   54,   54,   60,   61,   63,   66,
+       66,   84,  141,   84,   67,   55,   57,   58,   67,   67,
+       60,   61,   63,   65,   87,  119,  150,  119,  120,  151,
+       87,  141,   65,  157,  120,   65,  162,   65,  136,  136,
+       65,   65,   65,   65,  163,   65,  137,  137,  154,  167,
+      158,   65,  164,  158,   65,  169,   65,  171,  169,  172,
+       65,  183,  150,   65,   65,   65,  185,  184,   65,  146,
+      146,  146,  146,  186,  188,  175,  151,  157,  175,  167,
+      154,  158,  177,  162,  164,  177,  169,  178,  179,  171,
+
+      178,  179,  187,  180,  163,  187,  180,  183,  185,  189,
+      190,  172,  195,  242,  194,  191,  193,  196,  621,  193,
+      196,  197,  198,  177,  184,  198,  199,  186,  209,  199,
+      209,  188,  175,  187,  200,  201,  241,  200,  201,  202,
+      202,  178,  190,  179,  180,  191,  194,  193,  203,  203,
+      210,  214,  214,  198,  195,  216,  210,  215,  215,  189,
+      242,  216,  216,  243,  196,  244,  246,  197,  245,  247,
+      199,  264,  241,  248,  250,  361,  201,  251,  252,  200,
+      221,  253,  253,  254,  254,  299,  221,  221,  299,  221,
+      264,  310,  221,  310,  221,  243,  354,  221,  221,  221,
+
+      221,  247,  221,  248,  311,  361,  250,  355,  221,  244,
+      311,  221,  620,  221,  346,  245,  246,  221,  346,  251,
+      221,  221,  221,  255,  252,  221,  255,  260,  619,  255,
+      255,  283,  354,  260,  260,  295,  359,  283,  283,  296,
+      349,  295,  295,  297,  315,  296,  296,  315,  358,  297,
+      297,  303,  317,  322,  355,  317,  322,  328,  328,  349,
+      303,  329,  329,  303,  357,  303,  340,  340,  303,  303,
+      303,  303,  356,  303,  339,  342,  342,  343,  343,  303,
+      339,  339,  303,  341,  303,  360,  359,  363,  303,  341,
+      341,  303,  303,  303,  364,  358,  303,  365,  371,  375,
+
+      395,  371,  395,  376,  356,  375,  375,  434,  357,  376,
+      376,  384,  384,  384,  435,  386,  436,  360,  386,  363,
+      387,  386,  386,  387,  396,  400,  387,  387,  420,  420,
+      396,  400,  400,  419,  413,  415,  364,  413,  415,  419,
+      419,  421,  433,  365,  428,  428,  435,  421,  421,  429,
+      431,  431,  432,  437,  434,  432,  438,  440,  432,  432,
+      436,  439,  443,  429,  442,  444,  456,  429,  611,  456,
+      445,  429,  429,  445,  429,  609,  445,  445,  433,  457,
+      457,  457,  429,  463,  463,  467,  466,  440,  469,  429,
+      608,  469,  603,  439,  429,  429,  442,  467,  429,  484,
+
+      437,  470,  484,  482,  443,  466,  438,  470,  470,  482,
+      482,  444,  493,  493,  503,  503,  504,  504,  514,  514,
+      514,  515,  515,  515,  516,  522,  522,  523,  523,  531,
+      516,  516,  532,  602,  540,  531,  531,  540,  532,  532,
+      540,  540,  540,  541,  541,  542,  543,  543,  542,  544,
+      544,  542,  542,  542,  550,  550,  558,  559,  559,  560,
+      600,  566,  558,  558,  599,  560,  560,  566,  566,  568,
+      568,  569,  569,  570,  590,  571,  570,  590,  571,  570,
+      570,  571,  571,  572,  574,  574,  572,  592,  592,  572,
+      572,  583,  583,  583,  589,  589,  589,  591,  601,  601,
+
+      604,  604,  605,  606,  606,  591,  612,  612,  605,  605,
+      613,  613,  614,  614,  615,  615,  616,  616,  622,  622,
+      623,  623,  626,  626,  627,  627,  628,  628,  629,  629,
+      630,  630,  631,  631,  636,  598,  636,  637,  637,  639,
+      639,  597,  595,  588,  587,  586,  585,  584,  582,  581,
+      580,  579,  578,  577,  576,  573,  567,  565,  564,  563,
+      562,  561,  557,  556,  555,  554,  553,  552,  551,  549,
+      548,  547,  546,  545,  539,  538,  537,  536,  535,  534,
+      533,  530,  529,  528,  527,  526,  525,  524,  521,  520,
+      519,  518,  517,  513,  512,  511,  510,  509,  508,  507,
+
+      506,  505,  502,  501,  500,  499,  498,  497,  496,  495,
+      494,  492,  491,  490,  489,  488,  487,  486,  485,  483,
+      481,  480,  479,  478,  477,  476,  475,  474,  473,  472,
+      471,  468,  465,  464,  462,  461,  460,  459,  458,  455,
+      454,  453,  452,  451,  450,  449,  448,  447,  446,  441,
+      430,  427,  426,  425,  424,  423,  422,  416,  414,  412,
+      411,  410,  409,  408,  407,  406,  405,  404,  403,  402,
+      401,  399,  398,  397,  394,  393,  392,  391,  390,  389,
+      388,  385,  383,  382,  381,  380,  379,  378,  377,  374,
+      373,  372,  370,  369,  368,  367,  366,  362,  353,  352,
+
+      351,  350,  348,  347,  345,  344,  338,  337,  336,  335,
+      334,  333,  332,  331,  330,  327,  326,  325,  324,  323,
+      321,  320,  319,  318,  316,  314,  313,  312,  309,  308,
+      307,  306,  305,  304,  302,  301,  300,  298,  294,  293,
+      292,  291,  290,  289,  288,  287,  286,  285,  284,  282,
+      281,  280,  279,  278,  277,  276,  275,  274,  273,  272,
+      271,  270,  269,  268,  267,  266,  265,  263,  262,  259,
+      258,  257,  256,  249,  238,  237,  236,  235,  234,  233,
+      232,  231,  230,  229,  228,  227,  226,  225,  224,  223,
+      222,  220,  219,  218,  217,  213,  212,  211,  208,  207,
+
+      206,  205,  204,  192,  182,  181,  168,  145,  144,  143,
+      142,  140,  139,  135,  133,  132,  131,  130,  129,  128,
+      127,  126,  125,  124,  123,  122,  121,  118,  117,  116,
+      115,  114,  113,  112,  111,  110,  109,  108,  107,  106,
+      105,  104,  102,  101,  100,   98,   97,   96,   95,   94,
+       93,   92,   91,   90,   89,   88,   86,   85,   83,   82,
+       81,   80,   79,   78,   77,   76,   75,   74,   73,   72,
+       71,   70,   69,   64,   62,   59,   42,   41,   37,   32,
+       29,    3,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635,  635,  635,  635,  635,  635,
+      635,  635,  635,  635,  635
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -1235,13 +1219,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 661 )
+                               if ( yy_current_state >= 636 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 1120 );
+               while ( yy_base[yy_current_state] != 1083 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@ -1461,106 +1445,81 @@ INIT(); SETZONE(0);
 case 16:
 YY_RULE_SETUP
 #line 375 "dtimep.lex"
-INIT(); SETZONE(200);
+INIT(); SETZONE(-500);
        YY_BREAK
 case 17:
 YY_RULE_SETUP
 #line 376 "dtimep.lex"
-INIT(); SETDST(); SETZONE(2);
+INIT(); SETDST(); SETZONE(-500);
        YY_BREAK
 case 18:
 YY_RULE_SETUP
 #line 377 "dtimep.lex"
-INIT(); SETZONE(-500);
+INIT(); SETZONE(-600);
        YY_BREAK
 case 19:
 YY_RULE_SETUP
 #line 378 "dtimep.lex"
-INIT(); SETDST(); SETZONE(-500);
+INIT(); SETDST(); SETZONE(-600);
        YY_BREAK
 case 20:
 YY_RULE_SETUP
 #line 379 "dtimep.lex"
-INIT(); SETZONE(-600);
+INIT(); SETZONE(-700);
        YY_BREAK
 case 21:
 YY_RULE_SETUP
 #line 380 "dtimep.lex"
-INIT(); SETDST(); SETZONE(-600);
+INIT(); SETDST(); SETZONE(-700);
        YY_BREAK
 case 22:
 YY_RULE_SETUP
 #line 381 "dtimep.lex"
-INIT(); SETZONE(-700);
+INIT(); SETZONE(-800);
        YY_BREAK
 case 23:
 YY_RULE_SETUP
 #line 382 "dtimep.lex"
-INIT(); SETDST(); SETZONE(-700);
+INIT(); SETDST(); SETZONE(-800);
        YY_BREAK
 case 24:
 YY_RULE_SETUP
 #line 383 "dtimep.lex"
-INIT(); SETZONE(-800);
+INIT(); SETZONE(-330);
        YY_BREAK
 case 25:
 YY_RULE_SETUP
 #line 384 "dtimep.lex"
-INIT(); SETDST(); SETZONE(-800);
+INIT(); SETZONE(-400);
        YY_BREAK
 case 26:
 YY_RULE_SETUP
 #line 385 "dtimep.lex"
-INIT(); SETZONE(-330);
+INIT(); SETDST(); SETZONE(-400);
        YY_BREAK
 case 27:
 YY_RULE_SETUP
 #line 386 "dtimep.lex"
-INIT(); SETZONE(-400);
+INIT(); SETZONE(-1000);
        YY_BREAK
 case 28:
 YY_RULE_SETUP
 #line 387 "dtimep.lex"
-INIT(); SETDST(); SETZONE(-400);
+INIT(); SETDST(); SETZONE(-1000);
        YY_BREAK
 case 29:
 YY_RULE_SETUP
 #line 388 "dtimep.lex"
-INIT(); SETZONE(-900);
+;
        YY_BREAK
 case 30:
 YY_RULE_SETUP
 #line 389 "dtimep.lex"
-INIT(); SETDST(); SETZONE(-900);
+
        YY_BREAK
 case 31:
 YY_RULE_SETUP
 #line 390 "dtimep.lex"
-INIT(); SETZONE(-1000);
-       YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 391 "dtimep.lex"
-INIT(); SETDST(); SETZONE(-1000);
-       YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 392 "dtimep.lex"
-INIT(); SETDST(); SETZONE(-100);
-       YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 393 "dtimep.lex"
-;
-       YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 394 "dtimep.lex"
-
-       YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 395 "dtimep.lex"
 ECHO;
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
@@ -1854,7 +1813,7 @@ static yy_state_type yy_get_previous_state()
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 661 )
+                       if ( yy_current_state >= 636 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1889,11 +1848,11 @@ yy_state_type yy_current_state;
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 661 )
+               if ( yy_current_state >= 636 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 660);
+       yy_is_jam = (yy_current_state == 635);
 
        return yy_is_jam ? 0 : yy_current_state;
        }
@@ -2448,4 +2407,4 @@ int main()
        return 0;
        }
 #endif
-#line 395 "dtimep.lex"
+#line 390 "dtimep.lex"
index 0a65672..3a37825 100644 (file)
@@ -372,8 +372,6 @@ d   [0-9]
                                     }
 "-"?("ut"|"UT")                            INIT(); SETZONE(0);
 "-"?("gmt"|"GMT")                  INIT(); SETZONE(0);
-"-"?("jst"|"JST")                  INIT(); SETZONE(200);
-"-"?("jdt"|"JDT")                  INIT(); SETDST(); SETZONE(2);
 "-"?("est"|"EST")                  INIT(); SETZONE(-500);
 "-"?("edt"|"EDT")                  INIT(); SETDST(); SETZONE(-500);
 "-"?("cst"|"CST")                  INIT(); SETZONE(-600);
@@ -385,10 +383,7 @@ d  [0-9]
 "-"?("nst"|"NST")                  INIT(); SETZONE(-330);
 "-"?("ast"|"AST")                  INIT(); SETZONE(-400);
 "-"?("adt"|"ADT")                  INIT(); SETDST(); SETZONE(-400);
-"-"?("yst"|"YST")                  INIT(); SETZONE(-900);
-"-"?("ydt"|"YDT")                  INIT(); SETDST(); SETZONE(-900);
 "-"?("hst"|"HST")                  INIT(); SETZONE(-1000);
 "-"?("hdt"|"HDT")                  INIT(); SETDST(); SETZONE(-1000);
-"-"?("bst"|"BST")                  INIT(); SETDST(); SETZONE(-100);
 "-"?([a-z]{3}|[A-Z]{3})                    ;
 .|\n