Version 0.10.3 (????-??-??)
---------------------------
+- Changed to use nested if's instead of "switch(yyaccept)" in -s mode.
Version 0.10.2 (2006-05-01)
---------------------------
;
}
-void Accept::emit(std::ostream &o, uint ind, bool &readCh) const
+void Accept::genRuleMap()
{
- bool first = true;
- uint cases = 0;
-
for (uint i = 0; i < nRules; ++i)
{
if (saves[i] != ~0u)
{
- cases++;
- bUsedYYAccept |= saves[i] != 0;
+ mapRules[saves[i]] = rules[i];
}
}
+}
- for (uint i = 0; i < nRules; ++i)
+void Accept::emitBinary(std::ostream &o, uint ind, uint l, uint r, bool &readCh) const
+{
+ if (l < r)
{
- if (saves[i] != ~0u)
- {
- if (first)
- {
- first = false;
- bUsedYYMarker = true;
- o << indent(ind) << "YYCURSOR = YYMARKER;\n";
- if (bUsedYYAccept && cases > 1)
- {
- o << indent(ind) << "switch(yyaccept) {\n";
- }
- }
+ uint m = (l + r) >> 1;
- if (cases > 1)
+ o << indent(ind) << "if(yyaccept <= " << m << ") {\n";
+ emitBinary(o, ++ind, l, m, readCh);
+ o << indent(--ind) << "} else {\n";
+ emitBinary(o, ++ind, m + 1, r, readCh);
+ o << indent(--ind) << "}\n";
+ }
+ else
+ {
+ genGoTo(o, ind, state, mapRules.find(l)->second, readCh);
+ }
+}
+
+void Accept::emit(std::ostream &o, uint ind, bool &readCh) const
+{
+ if (mapRules.size() > 0)
+ {
+ bUsedYYMarker = true;
+ o << indent(ind) << "YYCURSOR = YYMARKER;\n";
+
+ if (mapRules.size() > 1)
+ {
+ bUsedYYAccept = true;
+
+ if (sFlag)
{
- o << indent(ind) << "case " << saves[i] << ":\t";
- genGoTo(o, 0, state, rules[i], readCh);
+ emitBinary(o, ind, 0, mapRules.size() - 1, readCh);
}
else
{
- if (bUsedYYAccept) {
- o << indent(ind++) << "if (yyaccept == " << saves[i] << ") {\n";
+ o << indent(ind) << "switch(yyaccept) {\n";
+
+ for (RuleMap::const_iterator it = mapRules.begin(); it != mapRules.end(); ++it)
+ {
+ o << indent(ind) << "case " << it->first << ": \t";
+ genGoTo(o, 0, state, it->second, readCh);
}
- genGoTo(o, ind, state, rules[i], readCh);
+
+ o << indent(ind) << "}\n";
}
}
- }
-
- if (!first && bUsedYYAccept)
- {
- if (cases == 1)
+ else
{
- ind--;
+ // no need to write if statement here since there is only case 0.
+ genGoTo(o, ind, state, mapRules.find(0)->second, readCh);
}
- o << indent(ind) << "}\n";
}
}
memset(rules, 0, (nRules)*sizeof(*rules));
State *accept = NULL;
+ Accept *accfixup = NULL;
for (s = head; s; s = s->next)
{
if (!ow)
{
ow = accept = new State;
- (void) new Accept(accept, nRules, saves, rules);
+ accfixup = new Accept(accept, nRules, saves, rules);
addState(&s->next, accept);
}
}
}
}
+
+ if (accfixup)
+ {
+ accfixup->genRuleMap();
+ }
// split ``base'' states into two parts
for (s = head; s; s = s->next)
#define _dfa_h
#include <iosfwd>
+#include <map>
#include "re.h"
namespace re2c
{
public:
+ typedef std::map<uint, State*> RuleMap;
+
uint nRules;
uint *saves;
State **rules;
+ RuleMap mapRules;
public:
Accept(State*, uint, uint*, State**);
void emit(std::ostream&, uint, bool&) const;
+ void emitBinary(std::ostream &o, uint ind, uint l, uint r, bool &readCh) const;
+ void genRuleMap();
#ifdef PEDANTIC
private:
if(yych <= '9') goto yy22;
yy19:
YYCURSOR = YYMARKER;
- switch(yyaccept) {
- case 3: goto yy132;
- case 2: goto yy107;
- case 1: goto yy63;
- case 0: goto yy3;
+ if(yyaccept <= 1) {
+ if(yyaccept <= 0) {
+ goto yy3;
+ } else {
+ goto yy63;
+ }
+ } else {
+ if(yyaccept <= 2) {
+ goto yy107;
+ } else {
+ goto yy132;
+ }
}
yy20:
++YYCURSOR;
{
return "edu";
}
-#line 600 "<stdout>"
+#line 607 "<stdout>"
yy64:
yych = *++YYCURSOR;
if(yych != 't') goto yy33;
{
return "resnet";
}
-#line 936 "<stdout>"
+#line 943 "<stdout>"
yy108:
yych = *++YYCURSOR;
if(yych != 't') goto yy19;
{
return "dsl";
}
-#line 1090 "<stdout>"
+#line 1097 "<stdout>"
yy133:
yych = *++YYCURSOR;
if(yych != 's') goto yy19;
yy19:
YYCURSOR = YYMARKER;
switch(yyaccept) {
- case 3: goto yy132;
- case 2: goto yy107;
- case 1: goto yy63;
- case 0: goto yy3;
+ case 0: goto yy3;
+ case 1: goto yy63;
+ case 2: goto yy107;
+ case 3: goto yy132;
}
yy20:
++YYCURSOR;
if(yych <= '9') goto yy22;
yy19:
YYCURSOR = YYMARKER;
- switch(yyaccept) {
- case 3: goto yy132;
- case 2: goto yy107;
- case 1: goto yy63;
- case 0: goto yy3;
+ if(yyaccept <= 1) {
+ if(yyaccept <= 0) {
+ goto yy3;
+ } else {
+ goto yy63;
+ }
+ } else {
+ if(yyaccept <= 2) {
+ goto yy107;
+ } else {
+ goto yy132;
+ }
}
yy20:
++YYCURSOR;
{
return "edu";
}
-#line 558 "<stdout>"
+#line 565 "<stdout>"
yy64:
yych = *++YYCURSOR;
if(yych != 't') goto yy33;
{
return "resnet";
}
-#line 904 "<stdout>"
+#line 911 "<stdout>"
yy108:
yych = *++YYCURSOR;
if(yych != 't') goto yy19;
{
return "dsl";
}
-#line 1059 "<stdout>"
+#line 1066 "<stdout>"
yy133:
yych = *++YYCURSOR;
if(yych != 's') goto yy19;
yy122:
YYCURSOR = YYMARKER;
switch(yyaccept) {
- case 0: goto yy22;
- case 3: goto yy134;
- case 2: goto yy27;
- case 1: goto yy25;
+ case 0: goto yy22;
+ case 1: goto yy25;
+ case 2: goto yy27;
+ case 3: goto yy134;
}
yy123:
++YYCURSOR;
yy122:
YYCURSOR = YYMARKER;
switch(yyaccept) {
- case 0: goto yy22;
- case 3: goto yy134;
- case 2: goto yy27;
- case 1: goto yy25;
+ case 0: goto yy22;
+ case 1: goto yy25;
+ case 2: goto yy27;
+ case 3: goto yy134;
}
yy123:
++YYCURSOR;
yy107:
YYCURSOR = YYMARKER;
switch(yyaccept) {
- case 0: goto yy7;
- case 3: goto yy119;
- case 2: goto yy12;
- case 1: goto yy10;
+ case 0: goto yy7;
+ case 1: goto yy10;
+ case 2: goto yy12;
+ case 3: goto yy119;
}
yy108:
++YYCURSOR;
yy107:
YYCURSOR = YYMARKER;
switch(yyaccept) {
- case 0: goto yy7;
- case 3: goto yy119;
- case 2: goto yy12;
- case 1: goto yy10;
+ case 0: goto yy7;
+ case 1: goto yy10;
+ case 2: goto yy12;
+ case 3: goto yy119;
}
yy108:
++YYCURSOR;
yy9:
YYCURSOR = YYMARKER;
switch(yyaccept) {
- case 1: goto yy7;
- case 0: goto yy3;
+ case 0: goto yy3;
+ case 1: goto yy7;
}
yy10:
yych = *++YYCURSOR;
yy270:
YYCURSOR = YYMARKER;
switch(yyaccept) {
- case 0: goto yy5;
- case 3: goto yy294;
- case 4: goto yy296;
- case 2: goto yy276;
- case 1: goto yy8;
+ case 0: goto yy5;
+ case 1: goto yy8;
+ case 2: goto yy276;
+ case 3: goto yy294;
+ case 4: goto yy296;
}
yy271:
++YYCURSOR;
}
yy53:
YYCURSOR = YYMARKER;
- switch(yyaccept) {
- case 26: goto yy1310;
- case 24: goto yy1279;
- case 25: goto yy1287;
- case 23: goto yy1203;
- case 22: goto yy1200;
- case 11: goto yy634;
- case 20: goto yy1146;
- case 21: goto yy1154;
- case 13: goto yy784;
- case 18: goto yy1043;
- case 12: goto yy775;
- case 8: goto yy420;
- case 17: goto yy889;
- case 6: goto yy363;
- case 10: goto yy620;
- case 16: goto yy943;
- case 19: goto yy937;
- case 15: goto yy916;
- case 14: goto yy880;
- case 9: goto yy526;
- case 5: goto yy341;
- case 4: goto yy172;
- case 1: goto yy3;
- case 7: goto yy385;
- case 3: goto yy69;
- case 2: goto yy46;
- case 0: goto yy12;
+ if(yyaccept <= 13) {
+ if(yyaccept <= 6) {
+ if(yyaccept <= 3) {
+ if(yyaccept <= 1) {
+ if(yyaccept <= 0) {
+ goto yy12;
+ } else {
+ goto yy3;
+ }
+ } else {
+ if(yyaccept <= 2) {
+ goto yy46;
+ } else {
+ goto yy69;
+ }
+ }
+ } else {
+ if(yyaccept <= 5) {
+ if(yyaccept <= 4) {
+ goto yy172;
+ } else {
+ goto yy341;
+ }
+ } else {
+ goto yy363;
+ }
+ }
+ } else {
+ if(yyaccept <= 10) {
+ if(yyaccept <= 8) {
+ if(yyaccept <= 7) {
+ goto yy385;
+ } else {
+ goto yy420;
+ }
+ } else {
+ if(yyaccept <= 9) {
+ goto yy526;
+ } else {
+ goto yy620;
+ }
+ }
+ } else {
+ if(yyaccept <= 12) {
+ if(yyaccept <= 11) {
+ goto yy634;
+ } else {
+ goto yy775;
+ }
+ } else {
+ goto yy784;
+ }
+ }
+ }
+ } else {
+ if(yyaccept <= 20) {
+ if(yyaccept <= 17) {
+ if(yyaccept <= 15) {
+ if(yyaccept <= 14) {
+ goto yy880;
+ } else {
+ goto yy916;
+ }
+ } else {
+ if(yyaccept <= 16) {
+ goto yy943;
+ } else {
+ goto yy889;
+ }
+ }
+ } else {
+ if(yyaccept <= 19) {
+ if(yyaccept <= 18) {
+ goto yy1043;
+ } else {
+ goto yy937;
+ }
+ } else {
+ goto yy1146;
+ }
+ }
+ } else {
+ if(yyaccept <= 23) {
+ if(yyaccept <= 22) {
+ if(yyaccept <= 21) {
+ goto yy1154;
+ } else {
+ goto yy1200;
+ }
+ } else {
+ goto yy1203;
+ }
+ } else {
+ if(yyaccept <= 25) {
+ if(yyaccept <= 24) {
+ goto yy1279;
+ } else {
+ goto yy1287;
+ }
+ } else {
+ goto yy1310;
+ }
+ }
+ }
}
yy54:
++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 2361 "<stdout>"
+#line 2437 "<stdout>"
yy70:
yych = *++YYCURSOR;
if(yych == 'D') goto yy71;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 3214 "<stdout>"
+#line 3290 "<stdout>"
yy173:
yych = *++YYCURSOR;
if(yych == 'D') goto yy174;
TIMELIB_DEINIT;
return TIMELIB_WEEKDAY;
}
-#line 4714 "<stdout>"
+#line 4790 "<stdout>"
yy342:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 4951 "<stdout>"
+#line 5027 "<stdout>"
yy364:
yych = *++YYCURSOR;
if(yych <= 'm') {
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 5160 "<stdout>"
+#line 5236 "<stdout>"
yy386:
yyaccept = 7;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 5454 "<stdout>"
+#line 5530 "<stdout>"
yy421:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 5804 "<stdout>"
+#line 5880 "<stdout>"
yy447:
yych = *++YYCURSOR;
if(yych <= '/') goto yy446;
TIMELIB_DEINIT;
return TIMELIB_AGO;
}
-#line 7093 "<stdout>"
+#line 7169 "<stdout>"
yy527:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 8979 "<stdout>"
+#line 9055 "<stdout>"
yy621:
yyaccept = 10;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_TIME12;
}
-#line 9090 "<stdout>"
+#line 9166 "<stdout>"
yy632:
yych = *++YYCURSOR;
goto yy631;
TIMELIB_DEINIT;
return TIMELIB_TIME24_WITH_ZONE;
}
-#line 9127 "<stdout>"
+#line 9203 "<stdout>"
yy635:
yyaccept = 11;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL;
}
-#line 9329 "<stdout>"
+#line 9405 "<stdout>"
yy661:
yych = *++YYCURSOR;
if(yych == 'M') goto yy662;
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 9854 "<stdout>"
+#line 9930 "<stdout>"
yy730:
yych = *++YYCURSOR;
if(yych <= '/') goto yy729;
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 10382 "<stdout>"
+#line 10458 "<stdout>"
yy776:
yyaccept = 12;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_AMERICAN;
}
-#line 10464 "<stdout>"
+#line 10540 "<stdout>"
yy785:
yyaccept = 13;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 10667 "<stdout>"
+#line 10743 "<stdout>"
yy818:
yych = *++YYCURSOR;
if(yych <= '5') {
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 11000 "<stdout>"
+#line 11076 "<stdout>"
yy869:
yych = *++YYCURSOR;
if(yych == 'V') goto yy862;
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 11144 "<stdout>"
+#line 11220 "<stdout>"
yy881:
yych = *++YYCURSOR;
switch(yych){
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 11303 "<stdout>"
+#line 11379 "<stdout>"
yy890:
yych = *++YYCURSOR;
if(yych == 'I') goto yy1021;
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 11513 "<stdout>"
+#line 11589 "<stdout>"
yy911:
++YYCURSOR;
#line 1200 "parse_date.b.re"
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 11534 "<stdout>"
+#line 11610 "<stdout>"
yy913:
yych = *++YYCURSOR;
if(yych <= '/') goto yy57;
TIMELIB_DEINIT;
return TIMELIB_PG_YEARDAY;
}
-#line 11602 "<stdout>"
+#line 11678 "<stdout>"
yy917:
yych = *++YYCURSOR;
if(yych <= '/') goto yy57;
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 11707 "<stdout>"
+#line 11783 "<stdout>"
yy938:
yych = *++YYCURSOR;
if(yych <= '2') {
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 11855 "<stdout>"
+#line 11931 "<stdout>"
yy944:
yych = *++YYCURSOR;
if(yych <= 'H') {
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 12416 "<stdout>"
+#line 12492 "<stdout>"
yy1044:
yyaccept = 18;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_GNU_NOCOLON;
}
-#line 13399 "<stdout>"
+#line 13475 "<stdout>"
yy1147:
yych = *++YYCURSOR;
if(yych <= '/') goto yy57;
TIMELIB_DEINIT;
return TIMELIB_ISO_NOCOLON;
}
-#line 13496 "<stdout>"
+#line 13572 "<stdout>"
yy1155:
yyaccept = 21;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 13885 "<stdout>"
+#line 13961 "<stdout>"
yy1180:
yych = *++YYCURSOR;
if(yych <= 'N') {
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 14150 "<stdout>"
+#line 14226 "<stdout>"
yy1201:
yych = *++YYCURSOR;
if(yych <= 'X') {
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 14172 "<stdout>"
+#line 14248 "<stdout>"
yy1204:
yych = *++YYCURSOR;
if(yych <= 'R') {
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 15472 "<stdout>"
+#line 15548 "<stdout>"
yy1280:
yych = *++YYCURSOR;
if(yych <= 'N') {
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 15561 "<stdout>"
+#line 15637 "<stdout>"
yy1288:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 15957 "<stdout>"
+#line 16033 "<stdout>"
yy1311:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
yy53:
YYCURSOR = YYMARKER;
switch(yyaccept) {
- case 26: goto yy1310;
- case 24: goto yy1279;
- case 25: goto yy1287;
- case 23: goto yy1203;
- case 22: goto yy1200;
- case 11: goto yy634;
- case 20: goto yy1146;
- case 21: goto yy1154;
- case 13: goto yy784;
- case 18: goto yy1043;
- case 12: goto yy775;
- case 8: goto yy420;
- case 17: goto yy889;
- case 6: goto yy363;
- case 10: goto yy620;
- case 16: goto yy943;
- case 19: goto yy937;
- case 15: goto yy916;
- case 14: goto yy880;
- case 9: goto yy526;
- case 5: goto yy341;
- case 4: goto yy172;
- case 1: goto yy3;
- case 7: goto yy385;
- case 3: goto yy69;
- case 2: goto yy46;
- case 0: goto yy12;
+ case 0: goto yy12;
+ case 1: goto yy3;
+ case 2: goto yy46;
+ case 3: goto yy69;
+ case 4: goto yy172;
+ case 5: goto yy341;
+ case 6: goto yy363;
+ case 7: goto yy385;
+ case 8: goto yy420;
+ case 9: goto yy526;
+ case 10: goto yy620;
+ case 11: goto yy634;
+ case 12: goto yy775;
+ case 13: goto yy784;
+ case 14: goto yy880;
+ case 15: goto yy916;
+ case 16: goto yy943;
+ case 17: goto yy889;
+ case 18: goto yy1043;
+ case 19: goto yy937;
+ case 20: goto yy1146;
+ case 21: goto yy1154;
+ case 22: goto yy1200;
+ case 23: goto yy1203;
+ case 24: goto yy1279;
+ case 25: goto yy1287;
+ case 26: goto yy1310;
}
yy54:
++YYCURSOR;
yy53:
YYDEBUG(53, *YYCURSOR);
YYCURSOR = YYMARKER;
- switch(yyaccept) {
- case 26: goto yy1413;
- case 24: goto yy1382;
- case 25: goto yy1390;
- case 23: goto yy1304;
- case 22: goto yy1301;
- case 11: goto yy713;
- case 20: goto yy1238;
- case 21: goto yy1246;
- case 13: goto yy870;
- case 18: goto yy1134;
- case 12: goto yy860;
- case 8: goto yy491;
- case 17: goto yy978;
- case 6: goto yy426;
- case 10: goto yy698;
- case 16: goto yy1032;
- case 19: goto yy1026;
- case 15: goto yy1005;
- case 14: goto yy971;
- case 9: goto yy601;
- case 5: goto yy405;
- case 4: goto yy176;
- case 0: goto yy3;
- case 7: goto yy448;
- case 3: goto yy69;
- case 2: goto yy46;
- case 1: goto yy12;
+ if(yyaccept <= 13) {
+ if(yyaccept <= 6) {
+ if(yyaccept <= 3) {
+ if(yyaccept <= 1) {
+ if(yyaccept <= 0) {
+ goto yy3;
+ } else {
+ goto yy12;
+ }
+ } else {
+ if(yyaccept <= 2) {
+ goto yy46;
+ } else {
+ goto yy69;
+ }
+ }
+ } else {
+ if(yyaccept <= 5) {
+ if(yyaccept <= 4) {
+ goto yy176;
+ } else {
+ goto yy405;
+ }
+ } else {
+ goto yy426;
+ }
+ }
+ } else {
+ if(yyaccept <= 10) {
+ if(yyaccept <= 8) {
+ if(yyaccept <= 7) {
+ goto yy448;
+ } else {
+ goto yy491;
+ }
+ } else {
+ if(yyaccept <= 9) {
+ goto yy601;
+ } else {
+ goto yy698;
+ }
+ }
+ } else {
+ if(yyaccept <= 12) {
+ if(yyaccept <= 11) {
+ goto yy713;
+ } else {
+ goto yy860;
+ }
+ } else {
+ goto yy870;
+ }
+ }
+ }
+ } else {
+ if(yyaccept <= 20) {
+ if(yyaccept <= 17) {
+ if(yyaccept <= 15) {
+ if(yyaccept <= 14) {
+ goto yy971;
+ } else {
+ goto yy1005;
+ }
+ } else {
+ if(yyaccept <= 16) {
+ goto yy1032;
+ } else {
+ goto yy978;
+ }
+ }
+ } else {
+ if(yyaccept <= 19) {
+ if(yyaccept <= 18) {
+ goto yy1134;
+ } else {
+ goto yy1026;
+ }
+ } else {
+ goto yy1238;
+ }
+ }
+ } else {
+ if(yyaccept <= 23) {
+ if(yyaccept <= 22) {
+ if(yyaccept <= 21) {
+ goto yy1246;
+ } else {
+ goto yy1301;
+ }
+ } else {
+ goto yy1304;
+ }
+ } else {
+ if(yyaccept <= 25) {
+ if(yyaccept <= 24) {
+ goto yy1382;
+ } else {
+ goto yy1390;
+ }
+ } else {
+ goto yy1413;
+ }
+ }
+ }
}
yy54:
YYDEBUG(54, *YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 2544 "<stdout>"
+#line 2620 "<stdout>"
yy70:
YYDEBUG(70, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 3778 "<stdout>"
+#line 3854 "<stdout>"
yy177:
YYDEBUG(177, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_WEEKDAY;
}
-#line 7039 "<stdout>"
+#line 7115 "<stdout>"
yy406:
YYDEBUG(406, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 7380 "<stdout>"
+#line 7456 "<stdout>"
yy427:
YYDEBUG(427, *YYCURSOR);
yyaccept = 6;
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 7648 "<stdout>"
+#line 7724 "<stdout>"
yy449:
YYDEBUG(449, *YYCURSOR);
yyaccept = 7;
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 8086 "<stdout>"
+#line 8162 "<stdout>"
yy492:
YYDEBUG(492, *YYCURSOR);
yyaccept = 6;
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 8475 "<stdout>"
+#line 8551 "<stdout>"
yy518:
YYDEBUG(518, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_AGO;
}
-#line 10435 "<stdout>"
+#line 10511 "<stdout>"
yy602:
YYDEBUG(602, *YYCURSOR);
yyaccept = 0;
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 12898 "<stdout>"
+#line 12974 "<stdout>"
yy699:
YYDEBUG(699, *YYCURSOR);
yyaccept = 10;
TIMELIB_DEINIT;
return TIMELIB_TIME12;
}
-#line 13055 "<stdout>"
+#line 13131 "<stdout>"
yy712:
YYDEBUG(712, *YYCURSOR);
yyaccept = 11;
TIMELIB_DEINIT;
return TIMELIB_TIME24_WITH_ZONE;
}
-#line 13093 "<stdout>"
+#line 13169 "<stdout>"
yy714:
YYDEBUG(714, *YYCURSOR);
yyaccept = 11;
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL;
}
-#line 13374 "<stdout>"
+#line 13450 "<stdout>"
yy742:
YYDEBUG(742, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 14141 "<stdout>"
+#line 14217 "<stdout>"
yy814:
YYDEBUG(814, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 14780 "<stdout>"
+#line 14856 "<stdout>"
yy861:
YYDEBUG(861, *YYCURSOR);
yyaccept = 12;
TIMELIB_DEINIT;
return TIMELIB_AMERICAN;
}
-#line 14900 "<stdout>"
+#line 14976 "<stdout>"
yy871:
YYDEBUG(871, *YYCURSOR);
yyaccept = 13;
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 15143 "<stdout>"
+#line 15219 "<stdout>"
yy904:
YYDEBUG(904, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 15604 "<stdout>"
+#line 15680 "<stdout>"
yy960:
YYDEBUG(960, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 15750 "<stdout>"
+#line 15826 "<stdout>"
yy972:
YYDEBUG(972, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 15865 "<stdout>"
+#line 15941 "<stdout>"
yy979:
YYDEBUG(979, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 16096 "<stdout>"
+#line 16172 "<stdout>"
yy1000:
YYDEBUG(1000, *YYCURSOR);
++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 16119 "<stdout>"
+#line 16195 "<stdout>"
yy1002:
YYDEBUG(1002, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_PG_YEARDAY;
}
-#line 16195 "<stdout>"
+#line 16271 "<stdout>"
yy1006:
YYDEBUG(1006, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 16323 "<stdout>"
+#line 16399 "<stdout>"
yy1027:
YYDEBUG(1027, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 16600 "<stdout>"
+#line 16676 "<stdout>"
yy1033:
YYDEBUG(1033, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 17295 "<stdout>"
+#line 17371 "<stdout>"
yy1135:
YYDEBUG(1135, *YYCURSOR);
yyaccept = 18;
TIMELIB_DEINIT;
return TIMELIB_GNU_NOCOLON;
}
-#line 18379 "<stdout>"
+#line 18455 "<stdout>"
yy1239:
YYDEBUG(1239, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_ISO_NOCOLON;
}
-#line 18490 "<stdout>"
+#line 18566 "<stdout>"
yy1247:
YYDEBUG(1247, *YYCURSOR);
yyaccept = 21;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 19124 "<stdout>"
+#line 19200 "<stdout>"
yy1272:
YYDEBUG(1272, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 19571 "<stdout>"
+#line 19647 "<stdout>"
yy1302:
YYDEBUG(1302, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 19615 "<stdout>"
+#line 19691 "<stdout>"
yy1305:
YYDEBUG(1305, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 21396 "<stdout>"
+#line 21472 "<stdout>"
yy1383:
YYDEBUG(1383, *YYCURSOR);
yych = *++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 21546 "<stdout>"
+#line 21622 "<stdout>"
yy1391:
YYDEBUG(1391, *YYCURSOR);
yyaccept = 0;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 22053 "<stdout>"
+#line 22129 "<stdout>"
yy1414:
YYDEBUG(1414, *YYCURSOR);
yyaccept = 0;
}
yy53:
YYCURSOR = YYMARKER;
- switch(yyaccept) {
- case 26: goto yy1310;
- case 24: goto yy1279;
- case 25: goto yy1287;
- case 23: goto yy1203;
- case 22: goto yy1200;
- case 11: goto yy634;
- case 20: goto yy1146;
- case 21: goto yy1154;
- case 13: goto yy784;
- case 18: goto yy1043;
- case 12: goto yy775;
- case 8: goto yy420;
- case 17: goto yy889;
- case 6: goto yy363;
- case 10: goto yy620;
- case 16: goto yy943;
- case 19: goto yy937;
- case 15: goto yy916;
- case 14: goto yy880;
- case 9: goto yy526;
- case 5: goto yy341;
- case 4: goto yy172;
- case 1: goto yy3;
- case 7: goto yy385;
- case 3: goto yy69;
- case 2: goto yy46;
- case 0: goto yy12;
+ if(yyaccept <= 13) {
+ if(yyaccept <= 6) {
+ if(yyaccept <= 3) {
+ if(yyaccept <= 1) {
+ if(yyaccept <= 0) {
+ goto yy12;
+ } else {
+ goto yy3;
+ }
+ } else {
+ if(yyaccept <= 2) {
+ goto yy46;
+ } else {
+ goto yy69;
+ }
+ }
+ } else {
+ if(yyaccept <= 5) {
+ if(yyaccept <= 4) {
+ goto yy172;
+ } else {
+ goto yy341;
+ }
+ } else {
+ goto yy363;
+ }
+ }
+ } else {
+ if(yyaccept <= 10) {
+ if(yyaccept <= 8) {
+ if(yyaccept <= 7) {
+ goto yy385;
+ } else {
+ goto yy420;
+ }
+ } else {
+ if(yyaccept <= 9) {
+ goto yy526;
+ } else {
+ goto yy620;
+ }
+ }
+ } else {
+ if(yyaccept <= 12) {
+ if(yyaccept <= 11) {
+ goto yy634;
+ } else {
+ goto yy775;
+ }
+ } else {
+ goto yy784;
+ }
+ }
+ }
+ } else {
+ if(yyaccept <= 20) {
+ if(yyaccept <= 17) {
+ if(yyaccept <= 15) {
+ if(yyaccept <= 14) {
+ goto yy880;
+ } else {
+ goto yy916;
+ }
+ } else {
+ if(yyaccept <= 16) {
+ goto yy943;
+ } else {
+ goto yy889;
+ }
+ }
+ } else {
+ if(yyaccept <= 19) {
+ if(yyaccept <= 18) {
+ goto yy1043;
+ } else {
+ goto yy937;
+ }
+ } else {
+ goto yy1146;
+ }
+ }
+ } else {
+ if(yyaccept <= 23) {
+ if(yyaccept <= 22) {
+ if(yyaccept <= 21) {
+ goto yy1154;
+ } else {
+ goto yy1200;
+ }
+ } else {
+ goto yy1203;
+ }
+ } else {
+ if(yyaccept <= 25) {
+ if(yyaccept <= 24) {
+ goto yy1279;
+ } else {
+ goto yy1287;
+ }
+ } else {
+ goto yy1310;
+ }
+ }
+ }
}
yy54:
++YYCURSOR;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 2330 "<stdout>"
+#line 2406 "<stdout>"
yy70:
yych = *++YYCURSOR;
if(yych == 'D') goto yy71;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 3166 "<stdout>"
+#line 3242 "<stdout>"
yy173:
yych = *++YYCURSOR;
if(yych == 'D') goto yy174;
TIMELIB_DEINIT;
return TIMELIB_WEEKDAY;
}
-#line 4666 "<stdout>"
+#line 4742 "<stdout>"
yy342:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 4905 "<stdout>"
+#line 4981 "<stdout>"
yy364:
yych = *++YYCURSOR;
if(yych <= 'm') {
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 5140 "<stdout>"
+#line 5216 "<stdout>"
yy386:
yyaccept = 7;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 5434 "<stdout>"
+#line 5510 "<stdout>"
yy421:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 5784 "<stdout>"
+#line 5860 "<stdout>"
yy447:
yych = *++YYCURSOR;
if(yych <= '/') goto yy446;
TIMELIB_DEINIT;
return TIMELIB_AGO;
}
-#line 7073 "<stdout>"
+#line 7149 "<stdout>"
yy527:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 8959 "<stdout>"
+#line 9035 "<stdout>"
yy621:
yyaccept = 10;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_TIME12;
}
-#line 9070 "<stdout>"
+#line 9146 "<stdout>"
yy632:
yych = *++YYCURSOR;
goto yy631;
TIMELIB_DEINIT;
return TIMELIB_TIME24_WITH_ZONE;
}
-#line 9107 "<stdout>"
+#line 9183 "<stdout>"
yy635:
yyaccept = 11;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL;
}
-#line 9309 "<stdout>"
+#line 9385 "<stdout>"
yy661:
yych = *++YYCURSOR;
if(yych == 'M') goto yy662;
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 9834 "<stdout>"
+#line 9910 "<stdout>"
yy730:
yych = *++YYCURSOR;
if(yych <= '/') goto yy729;
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 10362 "<stdout>"
+#line 10438 "<stdout>"
yy776:
yyaccept = 12;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_AMERICAN;
}
-#line 10444 "<stdout>"
+#line 10520 "<stdout>"
yy785:
yyaccept = 13;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 10647 "<stdout>"
+#line 10723 "<stdout>"
yy818:
yych = *++YYCURSOR;
if(yych <= '5') {
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 10980 "<stdout>"
+#line 11056 "<stdout>"
yy869:
yych = *++YYCURSOR;
if(yych == 'V') goto yy862;
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 11124 "<stdout>"
+#line 11200 "<stdout>"
yy881:
yych = *++YYCURSOR;
switch(yych){
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 11283 "<stdout>"
+#line 11359 "<stdout>"
yy890:
yych = *++YYCURSOR;
if(yych == 'I') goto yy1021;
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 11493 "<stdout>"
+#line 11569 "<stdout>"
yy911:
++YYCURSOR;
#line 1200 "parse_date.s.re"
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 11514 "<stdout>"
+#line 11590 "<stdout>"
yy913:
yych = *++YYCURSOR;
if(yych <= '/') goto yy57;
TIMELIB_DEINIT;
return TIMELIB_PG_YEARDAY;
}
-#line 11572 "<stdout>"
+#line 11648 "<stdout>"
yy917:
yych = *++YYCURSOR;
if(yych <= '/') goto yy57;
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 11677 "<stdout>"
+#line 11753 "<stdout>"
yy938:
yych = *++YYCURSOR;
if(yych <= '2') {
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 11832 "<stdout>"
+#line 11908 "<stdout>"
yy944:
yych = *++YYCURSOR;
if(yych <= 'H') {
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 12393 "<stdout>"
+#line 12469 "<stdout>"
yy1044:
yyaccept = 18;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_GNU_NOCOLON;
}
-#line 13376 "<stdout>"
+#line 13452 "<stdout>"
yy1147:
yych = *++YYCURSOR;
if(yych <= '/') goto yy57;
TIMELIB_DEINIT;
return TIMELIB_ISO_NOCOLON;
}
-#line 13463 "<stdout>"
+#line 13539 "<stdout>"
yy1155:
yyaccept = 21;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 13852 "<stdout>"
+#line 13928 "<stdout>"
yy1180:
yych = *++YYCURSOR;
if(yych <= 'N') {
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 14117 "<stdout>"
+#line 14193 "<stdout>"
yy1201:
yych = *++YYCURSOR;
if(yych <= 'X') {
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 14139 "<stdout>"
+#line 14215 "<stdout>"
yy1204:
yych = *++YYCURSOR;
if(yych <= 'R') {
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 15439 "<stdout>"
+#line 15515 "<stdout>"
yy1280:
yych = *++YYCURSOR;
if(yych <= 'N') {
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 15528 "<stdout>"
+#line 15604 "<stdout>"
yy1288:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 15924 "<stdout>"
+#line 16000 "<stdout>"
yy1311:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
yy9:
YYCURSOR = YYMARKER;
switch(yyaccept) {
- case 0: goto yy3;
- case 1: goto yy5;
+ case 0: goto yy3;
+ case 1: goto yy5;
}
yy10:
++YYCURSOR;
yy66:
YYCURSOR = YYMARKER;
switch(yyaccept) {
- case 0: goto yy32;
- case 1: goto yy38;
- case 2: goto yy40;
- case 3: goto yy42;
- case 6: goto yy98;
- case 5: goto yy69;
- case 4: goto yy46;
+ case 0: goto yy32;
+ case 1: goto yy38;
+ case 2: goto yy40;
+ case 3: goto yy42;
+ case 4: goto yy46;
+ case 5: goto yy69;
+ case 6: goto yy98;
}
yy67:
yyaccept = 5;
if(yych <= 'z') goto yy67;
yy66:
YYCURSOR = YYMARKER;
- switch(yyaccept) {
- case 0: goto yy32;
- case 1: goto yy38;
- case 2: goto yy40;
- case 3: goto yy42;
- case 6: goto yy98;
- case 5: goto yy69;
- case 4: goto yy46;
+ if(yyaccept <= 3) {
+ if(yyaccept <= 1) {
+ if(yyaccept <= 0) {
+ goto yy32;
+ } else {
+ goto yy38;
+ }
+ } else {
+ if(yyaccept <= 2) {
+ goto yy40;
+ } else {
+ goto yy42;
+ }
+ }
+ } else {
+ if(yyaccept <= 5) {
+ if(yyaccept <= 4) {
+ goto yy46;
+ } else {
+ goto yy69;
+ }
+ } else {
+ goto yy98;
+ }
}
yy67:
yyaccept = 5;
yylval.str = new Str(token());
return CONFIG;
}
-#line 544 "<stdout>"
+#line 560 "<stdout>"
yy70:
++YYCURSOR;
YYSETSTATE(6);
{ cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE; }
-#line 588 "<stdout>"
+#line 604 "<stdout>"
yy77:
++YYCURSOR;
YYSETSTATE(9);
{ cur = cursor;
yylval.regexp = invToRE(token());
return RANGE; }
-#line 603 "<stdout>"
+#line 619 "<stdout>"
yy80:
++YYCURSOR;
YYSETSTATE(10);
{ cur = cursor;
yylval.regexp = strToCaseInsensitiveRE(token());
return STRING; }
-#line 631 "<stdout>"
+#line 647 "<stdout>"
yy85:
++YYCURSOR;
YYSETSTATE(12);
{ cur = cursor;
yylval.regexp = strToRE(token());
return STRING; }
-#line 659 "<stdout>"
+#line 675 "<stdout>"
yy90:
++YYCURSOR;
#line 172 "scanner.fs.re"
{ tok = cursor;
RETURN(0); }
-#line 665 "<stdout>"
+#line 681 "<stdout>"
yy92:
++YYCURSOR;
#line 169 "scanner.fs.re"
{ depth = 1;
goto comment; }
-#line 671 "<stdout>"
+#line 687 "<stdout>"
yy94:
yych = *++YYCURSOR;
if(yych == ',') goto yy108;
yy98:
#line 216 "scanner.fs.re"
{ fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); }
-#line 696 "<stdout>"
+#line 712 "<stdout>"
yy99:
++YYCURSOR;
#line 204 "scanner.fs.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE); }
-#line 703 "<stdout>"
+#line 719 "<stdout>"
yy101:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE); }
-#line 715 "<stdout>"
+#line 731 "<stdout>"
yy104:
++YYCURSOR;
YYSETSTATE(15);
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE); }
-#line 730 "<stdout>"
+#line 746 "<stdout>"
yy108:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
#line 201 "scanner.fs.re"
{ yylval.op = '*';
RETURN(CLOSE); }
-#line 741 "<stdout>"
+#line 757 "<stdout>"
}
#line 247 "scanner.fs.re"
code:
-#line 748 "<stdout>"
+#line 764 "<stdout>"
{
YYSETSTATE(16);
return CODE;
}
goto code; }
-#line 780 "<stdout>"
+#line 796 "<stdout>"
yy115:
++YYCURSOR;
#line 257 "scanner.fs.re"
{ ++depth;
goto code; }
-#line 786 "<stdout>"
+#line 802 "<stdout>"
yy117:
++YYCURSOR;
#line 259 "scanner.fs.re"
pos = cursor; cline++;
goto code;
}
-#line 794 "<stdout>"
+#line 810 "<stdout>"
yy119:
++YYCURSOR;
yy120:
#line 263 "scanner.fs.re"
{ goto code; }
-#line 800 "<stdout>"
+#line 816 "<stdout>"
yy121:
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 0x0A) goto yy120;
comment:
-#line 861 "<stdout>"
+#line 877 "<stdout>"
{
YYSETSTATE(21);
#line 279 "scanner.fs.re"
{ if(cursor == eof) RETURN(0);
goto comment; }
-#line 883 "<stdout>"
+#line 899 "<stdout>"
yy134:
yych = *++YYCURSOR;
if(yych == '*') goto yy138;
tok = pos = cursor; cline++;
goto comment;
}
-#line 895 "<stdout>"
+#line 911 "<stdout>"
yy137:
yych = *++YYCURSOR;
goto yy133;
{ ++depth;
fatal("ambiguous /* found");
goto comment; }
-#line 905 "<stdout>"
+#line 921 "<stdout>"
yy140:
++YYCURSOR;
#line 268 "scanner.fs.re"
goto scan;
else
goto comment; }
-#line 913 "<stdout>"
+#line 929 "<stdout>"
}
#line 281 "scanner.fs.re"
config:
-#line 920 "<stdout>"
+#line 936 "<stdout>"
{
YYSETSTATE(22);
yy145:
#line 285 "scanner.fs.re"
{ goto config; }
-#line 941 "<stdout>"
+#line 957 "<stdout>"
yy146:
++YYCURSOR;
yych = *YYCURSOR;
cur = cursor;
RETURN('=');
}
-#line 952 "<stdout>"
+#line 968 "<stdout>"
yy148:
++YYCURSOR;
#line 290 "scanner.fs.re"
{ fatal("missing '='"); }
-#line 957 "<stdout>"
+#line 973 "<stdout>"
yy150:
++YYCURSOR;
YYSETSTATE(23);
value:
-#line 984 "<stdout>"
+#line 1000 "<stdout>"
{
YYSETSTATE(25);
iscfg = 0;
return VALUE;
}
-#line 1025 "<stdout>"
+#line 1041 "<stdout>"
yy157:
++YYCURSOR;
if((yych = *YYCURSOR) <= 0x0D) {
iscfg = 0;
return NUMBER;
}
-#line 1046 "<stdout>"
+#line 1062 "<stdout>"
yy159:
yych = *++YYCURSOR;
if(yych <= '0') goto yy163;
if(yych <= 'z') goto yy67;
yy66:
YYCURSOR = YYMARKER;
- switch(yyaccept) {
- case 0: goto yy32;
- case 1: goto yy38;
- case 2: goto yy40;
- case 3: goto yy42;
- case 6: goto yy98;
- case 5: goto yy69;
- case 4: goto yy46;
+ if(yyaccept <= 3) {
+ if(yyaccept <= 1) {
+ if(yyaccept <= 0) {
+ goto yy32;
+ } else {
+ goto yy38;
+ }
+ } else {
+ if(yyaccept <= 2) {
+ goto yy40;
+ } else {
+ goto yy42;
+ }
+ }
+ } else {
+ if(yyaccept <= 5) {
+ if(yyaccept <= 4) {
+ goto yy46;
+ } else {
+ goto yy69;
+ }
+ } else {
+ goto yy98;
+ }
}
yy67:
yyaccept = 5;
yylval.str = new Str(token());
return CONFIG;
}
-#line 493 "<stdout>"
+#line 509 "<stdout>"
yy70:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
{ cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE; }
-#line 531 "<stdout>"
+#line 547 "<stdout>"
yy77:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
{ cur = cursor;
yylval.regexp = invToRE(token());
return RANGE; }
-#line 544 "<stdout>"
+#line 560 "<stdout>"
yy80:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
{ cur = cursor;
yylval.regexp = strToCaseInsensitiveRE(token());
return STRING; }
-#line 568 "<stdout>"
+#line 584 "<stdout>"
yy85:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
{ cur = cursor;
yylval.regexp = strToRE(token());
return STRING; }
-#line 592 "<stdout>"
+#line 608 "<stdout>"
yy90:
++YYCURSOR;
#line 172 "scanner.s.re"
{ tok = cursor;
RETURN(0); }
-#line 598 "<stdout>"
+#line 614 "<stdout>"
yy92:
++YYCURSOR;
#line 169 "scanner.s.re"
{ depth = 1;
goto comment; }
-#line 604 "<stdout>"
+#line 620 "<stdout>"
yy94:
yych = *++YYCURSOR;
if(yych == ',') goto yy108;
yy98:
#line 216 "scanner.s.re"
{ fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); }
-#line 627 "<stdout>"
+#line 643 "<stdout>"
yy99:
++YYCURSOR;
#line 204 "scanner.s.re"
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE); }
-#line 634 "<stdout>"
+#line 650 "<stdout>"
yy101:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE); }
-#line 646 "<stdout>"
+#line 662 "<stdout>"
yy104:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
{ yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE); }
-#line 659 "<stdout>"
+#line 675 "<stdout>"
yy108:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
#line 201 "scanner.s.re"
{ yylval.op = '*';
RETURN(CLOSE); }
-#line 670 "<stdout>"
+#line 686 "<stdout>"
}
#line 247 "scanner.s.re"
code:
-#line 677 "<stdout>"
+#line 693 "<stdout>"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
return CODE;
}
goto code; }
-#line 707 "<stdout>"
+#line 723 "<stdout>"
yy115:
++YYCURSOR;
#line 257 "scanner.s.re"
{ ++depth;
goto code; }
-#line 713 "<stdout>"
+#line 729 "<stdout>"
yy117:
++YYCURSOR;
#line 259 "scanner.s.re"
pos = cursor; cline++;
goto code;
}
-#line 721 "<stdout>"
+#line 737 "<stdout>"
yy119:
++YYCURSOR;
yy120:
#line 263 "scanner.s.re"
{ goto code; }
-#line 727 "<stdout>"
+#line 743 "<stdout>"
yy121:
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 0x0A) goto yy120;
comment:
-#line 780 "<stdout>"
+#line 796 "<stdout>"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
#line 279 "scanner.s.re"
{ if(cursor == eof) RETURN(0);
goto comment; }
-#line 800 "<stdout>"
+#line 816 "<stdout>"
yy134:
yych = *++YYCURSOR;
if(yych == '*') goto yy138;
tok = pos = cursor; cline++;
goto comment;
}
-#line 812 "<stdout>"
+#line 828 "<stdout>"
yy137:
yych = *++YYCURSOR;
goto yy133;
{ ++depth;
fatal("ambiguous /* found");
goto comment; }
-#line 822 "<stdout>"
+#line 838 "<stdout>"
yy140:
++YYCURSOR;
#line 268 "scanner.s.re"
goto scan;
else
goto comment; }
-#line 830 "<stdout>"
+#line 846 "<stdout>"
}
#line 281 "scanner.s.re"
config:
-#line 837 "<stdout>"
+#line 853 "<stdout>"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yy145:
#line 285 "scanner.s.re"
{ goto config; }
-#line 856 "<stdout>"
+#line 872 "<stdout>"
yy146:
++YYCURSOR;
yych = *YYCURSOR;
cur = cursor;
RETURN('=');
}
-#line 867 "<stdout>"
+#line 883 "<stdout>"
yy148:
++YYCURSOR;
#line 290 "scanner.s.re"
{ fatal("missing '='"); }
-#line 872 "<stdout>"
+#line 888 "<stdout>"
yy150:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
value:
-#line 895 "<stdout>"
+#line 911 "<stdout>"
{
YYCTYPE yych;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
iscfg = 0;
return VALUE;
}
-#line 934 "<stdout>"
+#line 950 "<stdout>"
yy157:
++YYCURSOR;
if((yych = *YYCURSOR) <= 0x0D) {
iscfg = 0;
return NUMBER;
}
-#line 955 "<stdout>"
+#line 971 "<stdout>"
yy159:
yych = *++YYCURSOR;
if(yych <= '0') goto yy163;