-"-"?("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);
-"-"?("cdt"|"CDT") INIT(); SETDST(); SETZONE(-600);
-"-"?("mst"|"MST") INIT(); SETZONE(-700);
-"-"?("mdt"|"MDT") INIT(); SETDST(); SETZONE(-700);
-"-"?("pst"|"PST") INIT(); SETZONE(-800);
-"-"?("pdt"|"PDT") INIT(); SETDST(); SETZONE(-800);
-"-"?("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}) ;
+{nl}("ut"|"UT") INIT(); SETZONE(0); yyterminate();
+{nl}("gmt"|"GMT") INIT(); SETZONE(0); yyterminate();
+{nl}("est"|"EST") INIT(); SETZONE(-500); yyterminate();
+{nl}("edt"|"EDT") { INIT(); SETDST(); SETZONE(-500);
+ yyterminate(); }
+{nl}("cst"|"CST") INIT(); SETZONE(-600); yyterminate();
+{nl}("cdt"|"CDT") { INIT(); SETDST(); SETZONE(-600);
+ yyterminate(); }
+{nl}("mst"|"MST") INIT(); SETZONE(-700); yyterminate();
+{nl}("mdt"|"MDT") { INIT(); SETDST(); SETZONE(-700);
+ yyterminate(); }
+{nl}("pst"|"PST") INIT(); SETZONE(-800); yyterminate();
+{nl}("pdt"|"PDT") { INIT(); SETDST(); SETZONE(-800);
+ yyterminate(); }
+{nl}("nst"|"NST") INIT(); SETZONE(-330); yyterminate();
+{nl}("ast"|"AST") INIT(); SETZONE(-400); yyterminate();
+{nl}("adt"|"ADT") { INIT(); SETDST(); SETZONE(-400);
+ yyterminate(); }
+{nl}("hst"|"HST") INIT(); SETZONE(-1000); yyterminate();
+{nl}("hdt"|"HDT") { INIT(); SETDST(); SETZONE(-1000);
+ yyterminate(); }