/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 69
+#define YYLAST 71
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 24
/* YYNRULES -- Number of rules. */
#define YYNRULES 39
/* YYNRULES -- Number of states. */
-#define YYNSTATES 68
+#define YYNSTATES 71
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
static const yytype_uint8 yyprhs[] =
{
0, 0, 3, 4, 7, 10, 15, 20, 25, 30,
- 34, 42, 48, 56, 62, 65, 66, 68, 70, 74,
- 75, 79, 80, 83, 85, 89, 91, 95, 97, 100,
- 102, 105, 108, 110, 112, 115, 118, 120, 122, 124
+ 34, 42, 49, 57, 64, 68, 69, 71, 73, 77,
+ 78, 82, 83, 86, 88, 92, 94, 98, 100, 103,
+ 105, 108, 111, 113, 115, 118, 121, 123, 125, 127
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
7, 14, 32, 15, -1, 7, 14, 32, 16, -1,
11, 14, 12, 15, -1, 11, 14, 13, 15, -1,
32, 31, 8, -1, 17, 28, 18, 32, 31, 30,
- 8, -1, 17, 28, 18, 31, 8, -1, 17, 5,
- 18, 32, 31, 30, 8, -1, 17, 5, 18, 31,
- 8, -1, 6, 8, -1, -1, 29, -1, 7, -1,
- 29, 19, 7, -1, -1, 14, 18, 7, -1, -1,
- 16, 32, -1, 33, -1, 32, 20, 33, -1, 34,
- -1, 33, 21, 34, -1, 35, -1, 34, 35, -1,
- 37, -1, 37, 36, -1, 37, 3, -1, 4, -1,
- 5, -1, 36, 4, -1, 36, 5, -1, 7, -1,
- 9, -1, 10, -1, 22, 32, 23, -1
+ 8, -1, 17, 28, 18, 31, 30, 8, -1, 17,
+ 5, 18, 32, 31, 30, 8, -1, 17, 5, 18,
+ 31, 30, 8, -1, 6, 30, 8, -1, -1, 29,
+ -1, 7, -1, 29, 19, 7, -1, -1, 14, 18,
+ 7, -1, -1, 16, 32, -1, 33, -1, 32, 20,
+ 33, -1, 34, -1, 33, 21, 34, -1, 35, -1,
+ 34, 35, -1, 37, -1, 37, 36, -1, 37, 3,
+ -1, 4, -1, 5, -1, 36, 4, -1, 36, 5,
+ -1, 7, -1, 9, -1, 10, -1, 22, 32, 23,
+ -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 92, 92, 96, 97, 101, 109, 113, 119, 127,
- 136, 165, 174, 183, 191, 207, 210, 217, 222, 231,
- 234, 242, 245, 252, 256, 263, 267, 278, 282, 289,
- 293, 308, 315, 319, 323, 327, 334, 342, 346, 350
+ 136, 165, 174, 183, 191, 208, 211, 218, 223, 232,
+ 235, 243, 246, 253, 257, 264, 268, 279, 283, 290,
+ 294, 309, 316, 320, 324, 328, 335, 343, 347, 351
};
#endif
static const yytype_uint8 yyr2[] =
{
0, 2, 0, 2, 2, 4, 4, 4, 4, 3,
- 7, 5, 7, 5, 2, 0, 1, 1, 3, 0,
+ 7, 6, 7, 6, 3, 0, 1, 1, 3, 0,
3, 0, 2, 1, 3, 1, 3, 1, 2, 1,
2, 2, 1, 1, 2, 2, 1, 1, 1, 3
};
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 2, 0, 1, 0, 36, 37, 38, 0, 15, 0,
- 4, 3, 21, 23, 25, 27, 29, 14, 0, 0,
- 0, 17, 0, 16, 36, 0, 0, 0, 0, 0,
- 28, 31, 32, 33, 30, 0, 0, 0, 21, 21,
- 0, 39, 22, 24, 9, 26, 34, 35, 5, 6,
- 7, 8, 0, 21, 0, 21, 18, 13, 19, 11,
- 19, 0, 0, 0, 0, 12, 10, 20
+ 2, 0, 1, 19, 36, 37, 38, 0, 15, 0,
+ 4, 3, 21, 23, 25, 27, 29, 0, 0, 0,
+ 0, 0, 17, 0, 16, 36, 0, 0, 0, 0,
+ 0, 28, 31, 32, 33, 30, 0, 14, 0, 0,
+ 0, 21, 21, 0, 39, 22, 24, 9, 26, 34,
+ 35, 20, 5, 6, 7, 8, 19, 21, 19, 21,
+ 18, 0, 19, 0, 19, 13, 0, 11, 0, 12,
+ 10
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int8 yydefgoto[] =
{
- -1, 1, 10, 11, 22, 23, 62, 28, 12, 13,
- 14, 15, 34, 16
+ -1, 1, 10, 11, 23, 24, 18, 29, 12, 13,
+ 14, 15, 35, 16
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
#define YYPACT_NINF -38
static const yytype_int8 yypact[] =
{
- -38, 4, -38, 9, 22, -38, -38, 30, 38, 28,
- -38, -38, -11, 27, 28, -38, 3, -38, 28, 11,
- 21, -38, 29, 32, -38, -1, 28, 28, 41, 28,
- -38, -38, -38, -38, 25, 26, 37, 39, 18, 18,
- 46, -38, 35, 27, -38, 28, -38, -38, -38, -38,
- -38, -38, 48, -11, 49, -11, -38, -38, 44, -38,
- 44, 42, 51, 53, 55, -38, -38, -38
+ -38, 1, -38, -12, -8, -38, -38, -5, 25, 7,
+ -38, -38, -1, 10, 7, -38, 45, 19, 33, 7,
+ 39, 37, -38, 38, 26, -38, 5, 7, 7, 50,
+ 7, -38, -38, -38, -38, 49, 52, -38, 27, 42,
+ 46, 17, 17, 53, -38, 43, 10, -38, 7, -38,
+ -38, -38, -38, -38, -38, -38, -12, -1, -12, -1,
+ -38, 54, -12, 56, -12, -38, 57, -38, 58, -38,
+ -38
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int8 yypgoto[] =
{
- -38, -38, -38, -38, -38, -38, 5, -37, -6, 36,
- 40, -14, -38, -38
+ -38, -38, -38, -38, -38, -38, -18, -37, -6, 40,
+ 41, -14, -38, -38
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
#define YYTABLE_NINF -1
static const yytype_uint8 yytable[] =
{
- 30, 52, 54, 25, 2, 26, 31, 32, 33, 27,
- 3, 4, 35, 5, 6, 7, 58, 17, 60, 27,
- 42, 8, 41, 36, 37, 24, 9, 5, 6, 46,
- 47, 30, 53, 55, 26, 24, 18, 5, 6, 38,
- 9, 48, 49, 20, 19, 21, 27, 39, 29, 44,
- 9, 40, 50, 56, 51, 27, 57, 59, 61, 65,
- 64, 66, 67, 43, 0, 63, 0, 0, 0, 45
+ 31, 2, 17, 26, 56, 58, 19, 3, 4, 20,
+ 5, 6, 7, 38, 25, 27, 5, 6, 8, 28,
+ 62, 45, 64, 9, 25, 28, 5, 6, 44, 9,
+ 21, 30, 22, 27, 31, 57, 59, 36, 61, 9,
+ 63, 37, 52, 53, 66, 43, 68, 28, 32, 33,
+ 34, 39, 40, 49, 50, 41, 42, 54, 47, 51,
+ 60, 55, 65, 28, 67, 69, 70, 0, 46, 0,
+ 0, 48
};
static const yytype_int8 yycheck[] =
{
- 14, 38, 39, 9, 0, 16, 3, 4, 5, 20,
- 6, 7, 18, 9, 10, 11, 53, 8, 55, 20,
- 26, 17, 23, 12, 13, 7, 22, 9, 10, 4,
- 5, 45, 38, 39, 16, 7, 14, 9, 10, 18,
- 22, 15, 16, 5, 14, 7, 20, 18, 21, 8,
- 22, 19, 15, 7, 15, 20, 8, 8, 14, 8,
- 18, 8, 7, 27, -1, 60, -1, -1, -1, 29
+ 14, 0, 14, 9, 41, 42, 14, 6, 7, 14,
+ 9, 10, 11, 19, 7, 16, 9, 10, 17, 20,
+ 57, 27, 59, 22, 7, 20, 9, 10, 23, 22,
+ 5, 21, 7, 16, 48, 41, 42, 18, 56, 22,
+ 58, 8, 15, 16, 62, 19, 64, 20, 3, 4,
+ 5, 12, 13, 4, 5, 18, 18, 15, 8, 7,
+ 7, 15, 8, 20, 8, 8, 8, -1, 28, -1,
+ -1, 30
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
static const yytype_uint8 yystos[] =
{
0, 25, 0, 6, 7, 9, 10, 11, 17, 22,
- 26, 27, 32, 33, 34, 35, 37, 8, 14, 14,
- 5, 7, 28, 29, 7, 32, 16, 20, 31, 21,
- 35, 3, 4, 5, 36, 32, 12, 13, 18, 18,
- 19, 23, 32, 33, 8, 34, 4, 5, 15, 16,
- 15, 15, 31, 32, 31, 32, 7, 8, 31, 8,
- 31, 14, 30, 30, 18, 8, 8, 7
+ 26, 27, 32, 33, 34, 35, 37, 14, 30, 14,
+ 14, 5, 7, 28, 29, 7, 32, 16, 20, 31,
+ 21, 35, 3, 4, 5, 36, 18, 8, 32, 12,
+ 13, 18, 18, 19, 23, 32, 33, 8, 34, 4,
+ 5, 7, 15, 16, 15, 15, 31, 32, 31, 32,
+ 7, 30, 31, 30, 31, 8, 30, 8, 30, 8,
+ 8
};
#define yyerrok (yyerrstatus = 0)
case 11:
#line 166 "parser.y"
{
- delete (yyvsp[(2) - (5)].clist);
+ delete (yyvsp[(2) - (6)].clist);
if (!cFlag)
{
in->fatal("conditions are only allowed when using -c switch");
{
in->fatal("code to handle illegal condition already defined");
}
- (yyval.regexp) = specNone = new RuleOp(new NullOp(), new NullOp(), (yyvsp[(2) - (2)].token), accept++);
+ (yyvsp[(3) - (3)].token)->newcond = (yyvsp[(2) - (3)].str);
+ (yyval.regexp) = specNone = new RuleOp(new NullOp(), new NullOp(), (yyvsp[(3) - (3)].token), accept++);
}
break;
case 15:
-#line 207 "parser.y"
+#line 208 "parser.y"
{
in->fatal("unnamed condition not supported");
}
break;
case 16:
-#line 211 "parser.y"
+#line 212 "parser.y"
{
(yyval.clist) = (yyvsp[(1) - (1)].clist);
}
break;
case 17:
-#line 218 "parser.y"
+#line 219 "parser.y"
{
(yyval.clist) = new CondList();
(yyval.clist)->insert((yyvsp[(1) - (1)].symbol)->GetName().to_string());
break;
case 18:
-#line 223 "parser.y"
+#line 224 "parser.y"
{
(yyvsp[(1) - (3)].clist)->insert((yyvsp[(3) - (3)].symbol)->GetName().to_string());
(yyval.clist) = (yyvsp[(1) - (3)].clist);
break;
case 19:
-#line 231 "parser.y"
+#line 232 "parser.y"
{
(yyval.str) = NULL;
}
break;
case 20:
-#line 235 "parser.y"
+#line 236 "parser.y"
{
(yyval.str) = new Str((yyvsp[(3) - (3)].symbol)->GetName().to_string().c_str());
}
break;
case 21:
-#line 242 "parser.y"
+#line 243 "parser.y"
{
(yyval.regexp) = new NullOp;
}
break;
case 22:
-#line 246 "parser.y"
+#line 247 "parser.y"
{
(yyval.regexp) = (yyvsp[(2) - (2)].regexp);
}
break;
case 23:
-#line 253 "parser.y"
+#line 254 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 24:
-#line 257 "parser.y"
+#line 258 "parser.y"
{
(yyval.regexp) = mkAlt((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp));
}
break;
case 25:
-#line 264 "parser.y"
+#line 265 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 26:
-#line 268 "parser.y"
+#line 269 "parser.y"
{
(yyval.regexp) = mkDiff((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp));
if(!(yyval.regexp))
break;
case 27:
-#line 279 "parser.y"
+#line 280 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 28:
-#line 283 "parser.y"
+#line 284 "parser.y"
{
(yyval.regexp) = new CatOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].regexp));
}
break;
case 29:
-#line 290 "parser.y"
+#line 291 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 30:
-#line 294 "parser.y"
+#line 295 "parser.y"
{
switch((yyvsp[(2) - (2)].op))
{
break;
case 31:
-#line 309 "parser.y"
+#line 310 "parser.y"
{
(yyval.regexp) = new CloseVOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].extop).minsize, (yyvsp[(2) - (2)].extop).maxsize);
}
break;
case 32:
-#line 316 "parser.y"
+#line 317 "parser.y"
{
(yyval.op) = (yyvsp[(1) - (1)].op);
}
break;
case 33:
-#line 320 "parser.y"
+#line 321 "parser.y"
{
(yyval.op) = (yyvsp[(1) - (1)].op);
}
break;
case 34:
-#line 324 "parser.y"
+#line 325 "parser.y"
{
(yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*';
}
break;
case 35:
-#line 328 "parser.y"
+#line 329 "parser.y"
{
(yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*';
}
break;
case 36:
-#line 335 "parser.y"
+#line 336 "parser.y"
{
if(!(yyvsp[(1) - (1)].symbol)->re)
{
break;
case 37:
-#line 343 "parser.y"
+#line 344 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 38:
-#line 347 "parser.y"
+#line 348 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 39:
-#line 351 "parser.y"
+#line 352 "parser.y"
{
(yyval.regexp) = (yyvsp[(2) - (3)].regexp);
}
/* Line 1267 of yacc.c. */
-#line 1780 "parser.cc"
+#line 1787 "parser.cc"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
}
-#line 356 "parser.y"
+#line 357 "parser.y"
extern "C" {
-/* Generated by re2c 0.13.2.dev on Sun Jan 13 17:51:50 2008 */
+/* Generated by re2c 0.13.2.dev on Sun Jan 13 18:42:09 2008 */
/* $Id$ */
#include <stdlib.h>
#include <string.h>
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if(yych <= '/') {
- if(yych == ',') goto yy150;
+ if(yych == ',') goto yy152;
} else {
- if(yych <= '0') goto yy147;
- if(yych <= '9') goto yy148;
+ if(yych <= '0') goto yy149;
+ if(yych <= '9') goto yy150;
}
yy72:
{
}
yy73:
++YYCURSOR;
- if((yych = *YYCURSOR) == '=') goto yy145;
+ if((yych = *YYCURSOR) == '=') goto yy147;
yy74:
{
std::ostringstream msg;
}
yy75:
++YYCURSOR;
- if((yych = *YYCURSOR) == '*') goto yy143;
+ if((yych = *YYCURSOR) == '*') goto yy145;
yy76:
{
RETURN(*tok);
}
yy77:
++YYCURSOR;
- if((yych = *YYCURSOR) == '/') goto yy141;
+ if((yych = *YYCURSOR) == '/') goto yy143;
{
yylval.op = *tok;
RETURN(STAR);
yy79:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != 0x0A) goto yy137;
+ if(yych != 0x0A) goto yy139;
yy80:
{
fatal("unterminated string constant (missing \")");
yy81:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != 0x0A) goto yy132;
+ if(yych != 0x0A) goto yy134;
yy82:
{
fatal("unterminated string constant (missing ')");
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
if(yych == 0x0A) goto yy84;
- if(yych == '^') goto yy123;
- goto yy122;
+ if(yych == '^') goto yy125;
+ goto yy124;
yy84:
{
fatal("unterminated range (missing ])");
if(yyaccept <= 6) {
goto yy112;
} else {
- goto yy151;
+ goto yy153;
}
}
}
goto yy118;
yy117:
++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
yy118:
if(yybm[0+yych] & 8) {
goto yy117;
}
- if(yych != '{') goto yy109;
+ if(yych <= '<') {
+ if(yych == ':') goto yy122;
+ goto yy109;
+ } else {
+ if(yych <= '=') goto yy121;
+ if(yych != '{') goto yy109;
+ }
+yy119:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
RETURN(NOCOND);
}
yy121:
+ yych = *++YYCURSOR;
+ if(yych == '>') goto yy119;
+ goto yy109;
+yy122:
+ yych = *++YYCURSOR;
+ if(yych == '=') goto yy119;
+ goto yy109;
+yy123:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy122:
+yy124:
if(yybm[0+yych] & 16) {
- goto yy121;
+ goto yy123;
}
if(yych <= '[') goto yy109;
- if(yych <= '\\') goto yy125;
- goto yy126;
-yy123:
+ if(yych <= '\\') goto yy127;
+ goto yy128;
+yy125:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '[') {
if(yych == 0x0A) goto yy109;
- goto yy123;
+ goto yy125;
} else {
- if(yych <= '\\') goto yy128;
- if(yych <= ']') goto yy129;
- goto yy123;
+ if(yych <= '\\') goto yy130;
+ if(yych <= ']') goto yy131;
+ goto yy125;
}
-yy125:
+yy127:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych == 0x0A) goto yy109;
- goto yy121;
-yy126:
+ goto yy123;
+yy128:
++YYCURSOR;
{
cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE;
}
-yy128:
+yy130:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych == 0x0A) goto yy109;
- goto yy123;
-yy129:
+ goto yy125;
+yy131:
++YYCURSOR;
{
cur = cursor;
yylval.regexp = invToRE(token());
return RANGE;
}
-yy131:
+yy133:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy132:
+yy134:
if(yybm[0+yych] & 32) {
- goto yy131;
+ goto yy133;
}
if(yych <= '&') goto yy109;
- if(yych <= '\'') goto yy134;
+ if(yych <= '\'') goto yy136;
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych == 0x0A) goto yy109;
- goto yy131;
-yy134:
+ goto yy133;
+yy136:
++YYCURSOR;
{
cur = cursor;
yylval.regexp = strToCaseInsensitiveRE(token());
return STRING;
}
-yy136:
+yy138:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy137:
+yy139:
if(yybm[0+yych] & 64) {
- goto yy136;
+ goto yy138;
}
if(yych <= '!') goto yy109;
- if(yych <= '"') goto yy139;
+ if(yych <= '"') goto yy141;
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych == 0x0A) goto yy109;
- goto yy136;
-yy139:
+ goto yy138;
+yy141:
++YYCURSOR;
{
cur = cursor;
yylval.regexp = strToRE(token());
return STRING;
}
-yy141:
+yy143:
++YYCURSOR;
{
tok = cursor;
RETURN(0);
}
-yy143:
+yy145:
++YYCURSOR;
{
depth = 1;
goto comment;
}
-yy145:
+yy147:
++YYCURSOR;
{
cur = cursor;
depth = 0;
goto code;
}
-yy147:
+yy149:
yych = *++YYCURSOR;
- if(yych == ',') goto yy161;
- goto yy149;
-yy148:
+ if(yych == ',') goto yy163;
+ goto yy151;
+yy150:
++YYCURSOR;
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy149:
+yy151:
if(yybm[0+yych] & 128) {
- goto yy148;
+ goto yy150;
}
- if(yych == ',') goto yy154;
- if(yych == '}') goto yy152;
+ if(yych == ',') goto yy156;
+ if(yych == '}') goto yy154;
goto yy109;
-yy150:
+yy152:
++YYCURSOR;
-yy151:
+yy153:
{
fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
}
-yy152:
+yy154:
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE);
}
-yy154:
+yy156:
yyaccept = 7;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych <= '/') goto yy151;
- if(yych <= '9') goto yy157;
- if(yych != '}') goto yy151;
+ if(yych <= '/') goto yy153;
+ if(yych <= '9') goto yy159;
+ if(yych != '}') goto yy153;
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE);
}
-yy157:
+yy159:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= '/') goto yy109;
- if(yych <= '9') goto yy157;
+ if(yych <= '9') goto yy159;
if(yych != '}') goto yy109;
++YYCURSOR;
{
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE);
}
-yy161:
+yy163:
yyaccept = 7;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych <= '/') goto yy151;
- if(yych <= '9') goto yy157;
- if(yych != '}') goto yy151;
+ if(yych <= '/') goto yy153;
+ if(yych <= '9') goto yy159;
+ if(yych != '}') goto yy153;
++YYCURSOR;
{
yylval.op = '*';
yych = *YYCURSOR;
if(yych <= '&') {
if(yych <= 0x0A) {
- if(yych <= 0x00) goto yy172;
- if(yych <= 0x09) goto yy174;
- goto yy170;
+ if(yych <= 0x00) goto yy174;
+ if(yych <= 0x09) goto yy176;
+ goto yy172;
} else {
- if(yych == '"') goto yy176;
- goto yy174;
+ if(yych == '"') goto yy178;
+ goto yy176;
}
} else {
if(yych <= '{') {
- if(yych <= '\'') goto yy177;
- if(yych <= 'z') goto yy174;
- goto yy168;
+ if(yych <= '\'') goto yy179;
+ if(yych <= 'z') goto yy176;
+ goto yy170;
} else {
- if(yych != '}') goto yy174;
+ if(yych != '}') goto yy176;
}
}
++YYCURSOR;
}
goto code;
}
-yy168:
+yy170:
++YYCURSOR;
{
if (depth == 0)
}
goto code;
}
-yy170:
+yy172:
YYCTXMARKER = YYCURSOR + 1;
++YYCURSOR;
if((yych = *YYCURSOR) <= 0x0C) {
- if(yych <= 0x08) goto yy171;
- if(yych <= 0x0A) goto yy185;
+ if(yych <= 0x08) goto yy173;
+ if(yych <= 0x0A) goto yy187;
} else {
- if(yych <= 0x0D) goto yy185;
- if(yych == ' ') goto yy185;
+ if(yych <= 0x0D) goto yy187;
+ if(yych == ' ') goto yy187;
}
-yy171:
+yy173:
{
if (depth == 0)
{
cline++;
goto code;
}
-yy172:
+yy174:
++YYCURSOR;
{
if (cursor == eof)
}
goto code;
}
-yy174:
+yy176:
++YYCURSOR;
-yy175:
+yy177:
{
goto code;
}
-yy176:
+yy178:
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == 0x0A) goto yy175;
- goto yy183;
-yy177:
+ if(yych == 0x0A) goto yy177;
+ goto yy185;
+yy179:
yych = *(YYMARKER = ++YYCURSOR);
- if(yych == 0x0A) goto yy175;
- goto yy179;
-yy178:
+ if(yych == 0x0A) goto yy177;
+ goto yy181;
+yy180:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy179:
+yy181:
if(yybm[0+yych] & 64) {
- goto yy178;
+ goto yy180;
}
- if(yych <= '&') goto yy180;
- if(yych <= '\'') goto yy174;
- goto yy181;
-yy180:
+ if(yych <= '&') goto yy182;
+ if(yych <= '\'') goto yy176;
+ goto yy183;
+yy182:
YYCURSOR = YYMARKER;
- goto yy175;
-yy181:
+ goto yy177;
+yy183:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy180;
- goto yy178;
-yy182:
+ if(yych == 0x0A) goto yy182;
+ goto yy180;
+yy184:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy183:
+yy185:
if(yybm[0+yych] & 128) {
- goto yy182;
+ goto yy184;
}
- if(yych <= '!') goto yy180;
- if(yych <= '"') goto yy174;
+ if(yych <= '!') goto yy182;
+ if(yych <= '"') goto yy176;
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy180;
- goto yy182;
-yy185:
+ if(yych == 0x0A) goto yy182;
+ goto yy184;
+yy187:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= ')') {
- if(yych == 0x0A) goto yy192;
- goto yy194;
+ if(yych == 0x0A) goto yy194;
+ goto yy196;
} else {
- if(yych <= '*') goto yy189;
- if(yych == '/') goto yy191;
- goto yy194;
+ if(yych <= '*') goto yy191;
+ if(yych == '/') goto yy193;
+ goto yy196;
}
-yy189:
+yy191:
++YYCURSOR;
- if((yych = *YYCURSOR) == '/') goto yy197;
-yy190:
+ if((yych = *YYCURSOR) == '/') goto yy199;
+yy192:
{
if(cursor == eof)
{
}
goto comment;
}
-yy191:
+yy193:
yych = *++YYCURSOR;
- if(yych == '*') goto yy195;
- goto yy190;
-yy192:
+ if(yych == '*') goto yy197;
+ goto yy192;
+yy194:
++YYCURSOR;
{
if(cursor == eof)
cline++;
goto comment;
}
-yy194:
+yy196:
yych = *++YYCURSOR;
- goto yy190;
-yy195:
+ goto yy192;
+yy197:
++YYCURSOR;
{
++depth;
fatal("ambiguous /* found");
goto comment;
}
-yy197:
+yy199:
++YYCURSOR;
{
if(--depth == 0)
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= 0x1F) {
- if(yych != 0x09) goto yy205;
+ if(yych != 0x09) goto yy207;
} else {
- if(yych <= ' ') goto yy201;
- if(yych == '=') goto yy203;
- goto yy205;
+ if(yych <= ' ') goto yy203;
+ if(yych == '=') goto yy205;
+ goto yy207;
}
-yy201:
+yy203:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy210;
-yy202:
+ goto yy212;
+yy204:
{
goto config;
}
-yy203:
+yy205:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy208;
-yy204:
+ goto yy210;
+yy206:
{
iscfg = 2;
cur = cursor;
RETURN('=');
}
-yy205:
+yy207:
++YYCURSOR;
{
fatal("missing '='");
}
-yy207:
+yy209:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy208:
+yy210:
if(yybm[0+yych] & 128) {
- goto yy207;
+ goto yy209;
}
- goto yy204;
-yy209:
+ goto yy206;
+yy211:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy210:
- if(yych == 0x09) goto yy209;
- if(yych == ' ') goto yy209;
- goto yy202;
+yy212:
+ if(yych == 0x09) goto yy211;
+ if(yych == ' ') goto yy211;
+ goto yy204;
}
yych = *YYCURSOR;
if(yych <= '&') {
if(yych <= 0x0D) {
- if(yych <= 0x08) goto yy219;
- if(yych <= 0x0A) goto yy213;
- if(yych <= 0x0C) goto yy219;
+ if(yych <= 0x08) goto yy221;
+ if(yych <= 0x0A) goto yy215;
+ if(yych <= 0x0C) goto yy221;
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy219;
+ if(yych <= 0x1F) goto yy221;
} else {
- if(yych == '"') goto yy221;
- goto yy219;
+ if(yych == '"') goto yy223;
+ goto yy221;
}
}
} else {
if(yych <= '/') {
- if(yych <= '\'') goto yy223;
- if(yych == '-') goto yy216;
- goto yy219;
+ if(yych <= '\'') goto yy225;
+ if(yych == '-') goto yy218;
+ goto yy221;
} else {
if(yych <= '9') {
- if(yych <= '0') goto yy214;
- goto yy217;
+ if(yych <= '0') goto yy216;
+ goto yy219;
} else {
- if(yych != ';') goto yy219;
+ if(yych != ';') goto yy221;
}
}
}
-yy213:
+yy215:
{
cur = cursor;
yylval.str = new Str(token());
iscfg = 0;
return VALUE;
}
-yy214:
+yy216:
++YYCURSOR;
if(yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy219;
+ goto yy221;
}
-yy215:
+yy217:
{
cur = cursor;
yylval.number = atoi(token().to_string().c_str());
iscfg = 0;
return NUMBER;
}
-yy216:
+yy218:
yych = *++YYCURSOR;
- if(yych <= '0') goto yy220;
- if(yych >= ':') goto yy220;
-yy217:
+ if(yych <= '0') goto yy222;
+ if(yych >= ':') goto yy222;
+yy219:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yybm[0+yych] & 4) {
- goto yy217;
+ goto yy219;
}
if(yych <= 0x0D) {
- if(yych <= 0x08) goto yy219;
- if(yych <= 0x0A) goto yy215;
- if(yych >= 0x0D) goto yy215;
+ if(yych <= 0x08) goto yy221;
+ if(yych <= 0x0A) goto yy217;
+ if(yych >= 0x0D) goto yy217;
} else {
if(yych <= ' ') {
- if(yych >= ' ') goto yy215;
+ if(yych >= ' ') goto yy217;
} else {
- if(yych == ';') goto yy215;
+ if(yych == ';') goto yy217;
}
}
-yy219:
+yy221:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy220:
+yy222:
if(yybm[0+yych] & 8) {
- goto yy219;
+ goto yy221;
}
- goto yy213;
-yy221:
+ goto yy215;
+yy223:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yybm[0+yych] & 16) {
- goto yy221;
+ goto yy223;
}
if(yych <= '!') {
- if(yych == 0x0A) goto yy213;
- goto yy231;
- } else {
- if(yych <= '"') goto yy219;
- if(yych <= '[') goto yy231;
+ if(yych == 0x0A) goto yy215;
goto yy233;
+ } else {
+ if(yych <= '"') goto yy221;
+ if(yych <= '[') goto yy233;
+ goto yy235;
}
-yy223:
+yy225:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yybm[0+yych] & 32) {
- goto yy223;
+ goto yy225;
}
if(yych <= '&') {
- if(yych == 0x0A) goto yy213;
+ if(yych == 0x0A) goto yy215;
} else {
- if(yych <= '\'') goto yy219;
- if(yych >= '\\') goto yy228;
+ if(yych <= '\'') goto yy221;
+ if(yych >= '\\') goto yy230;
}
-yy225:
+yy227:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yybm[0+yych] & 64) {
- goto yy225;
+ goto yy227;
}
- if(yych <= '&') goto yy227;
- if(yych <= '\'') goto yy229;
- goto yy230;
-yy227:
+ if(yych <= '&') goto yy229;
+ if(yych <= '\'') goto yy231;
+ goto yy232;
+yy229:
YYCURSOR = YYMARKER;
- goto yy213;
-yy228:
+ goto yy215;
+yy230:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 0x0D) {
if(yych <= 0x09) {
- if(yych <= 0x08) goto yy223;
- goto yy225;
+ if(yych <= 0x08) goto yy225;
+ goto yy227;
} else {
- if(yych <= 0x0A) goto yy213;
- if(yych <= 0x0C) goto yy223;
- goto yy225;
+ if(yych <= 0x0A) goto yy215;
+ if(yych <= 0x0C) goto yy225;
+ goto yy227;
}
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy223;
- goto yy225;
+ if(yych <= 0x1F) goto yy225;
+ goto yy227;
} else {
- if(yych == ';') goto yy225;
- goto yy223;
+ if(yych == ';') goto yy227;
+ goto yy225;
}
}
-yy229:
+yy231:
yych = *++YYCURSOR;
- goto yy213;
-yy230:
+ goto yy215;
+yy232:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy227;
- goto yy225;
-yy231:
+ if(yych == 0x0A) goto yy229;
+ goto yy227;
+yy233:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yybm[0+yych] & 128) {
- goto yy231;
+ goto yy233;
}
- if(yych <= '!') goto yy227;
- if(yych <= '"') goto yy229;
- goto yy234;
-yy233:
+ if(yych <= '!') goto yy229;
+ if(yych <= '"') goto yy231;
+ goto yy236;
+yy235:
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if(yych <= 0x0D) {
if(yych <= 0x09) {
- if(yych <= 0x08) goto yy221;
- goto yy231;
+ if(yych <= 0x08) goto yy223;
+ goto yy233;
} else {
- if(yych <= 0x0A) goto yy213;
- if(yych <= 0x0C) goto yy221;
- goto yy231;
+ if(yych <= 0x0A) goto yy215;
+ if(yych <= 0x0C) goto yy223;
+ goto yy233;
}
} else {
if(yych <= ' ') {
- if(yych <= 0x1F) goto yy221;
- goto yy231;
+ if(yych <= 0x1F) goto yy223;
+ goto yy233;
} else {
- if(yych == ';') goto yy231;
- goto yy221;
+ if(yych == ';') goto yy233;
+ goto yy223;
}
}
-yy234:
+yy236:
++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych == 0x0A) goto yy227;
- goto yy231;
+ if(yych == 0x0A) goto yy229;
+ goto yy233;
}
}