CONFIG = 266,
VALUE = 267,
NUMBER = 268,
- SETUP = 269
+ SETUP = 269,
+ FID = 270
};
#endif
/* Tokens. */
#define VALUE 267
#define NUMBER 268
#define SETUP 269
+#define FID 270
re2c::CondList *clist;
}
/* Line 187 of yacc.c. */
-#line 259 "parser.cc"
+#line 261 "parser.cc"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
/* Line 216 of yacc.c. */
-#line 272 "parser.cc"
+#line 274 "parser.cc"
#ifdef short
# undef short
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 92
+#define YYLAST 96
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 26
+#define YYNTOKENS 27
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 14
/* YYNRULES -- Number of rules. */
-#define YYNRULES 46
+#define YYNRULES 49
/* YYNRULES -- Number of states. */
-#define YYNSTATES 88
+#define YYNSTATES 91
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 269
+#define YYMAXUTOK 270
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 24, 25, 2, 2, 21, 2, 2, 17, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 20, 16,
- 18, 15, 19, 2, 2, 2, 2, 2, 2, 2,
+ 25, 26, 2, 2, 22, 2, 2, 18, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 21, 17,
+ 19, 16, 20, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 23, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 24, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 22, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 23, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15
};
#if YYDEBUG
YYRHS. */
static const yytype_uint8 yyprhs[] =
{
- 0, 0, 3, 4, 7, 10, 15, 20, 25, 30,
- 34, 42, 50, 57, 64, 72, 80, 87, 94, 98,
- 102, 107, 112, 113, 115, 117, 121, 122, 126, 127,
- 130, 132, 136, 138, 142, 144, 147, 149, 152, 155,
- 157, 159, 162, 165, 167, 169, 171
+ 0, 0, 3, 4, 7, 10, 15, 18, 23, 28,
+ 32, 37, 42, 46, 54, 62, 69, 76, 84, 92,
+ 99, 106, 110, 114, 119, 124, 125, 127, 129, 133,
+ 134, 138, 139, 142, 144, 148, 150, 154, 156, 159,
+ 161, 164, 167, 169, 171, 174, 177, 179, 181, 183
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int8 yyrhs[] =
{
- 27, 0, -1, -1, 27, 29, -1, 27, 28, -1,
- 7, 15, 34, 16, -1, 7, 15, 34, 17, -1,
- 11, 15, 12, 16, -1, 11, 15, 13, 16, -1,
- 34, 33, 8, -1, 18, 30, 19, 34, 33, 32,
- 8, -1, 18, 30, 19, 34, 33, 20, 32, -1,
- 18, 30, 19, 33, 32, 8, -1, 18, 30, 19,
- 33, 20, 32, -1, 18, 5, 19, 34, 33, 32,
- 8, -1, 18, 5, 19, 34, 33, 20, 32, -1,
- 18, 5, 19, 33, 32, 8, -1, 18, 5, 19,
- 33, 20, 32, -1, 6, 32, 8, -1, 6, 20,
- 32, -1, 14, 5, 19, 8, -1, 14, 30, 19,
- 8, -1, -1, 31, -1, 7, -1, 31, 21, 7,
- -1, -1, 15, 19, 7, -1, -1, 17, 34, -1,
- 35, -1, 34, 22, 35, -1, 36, -1, 35, 23,
- 36, -1, 37, -1, 36, 37, -1, 39, -1, 39,
- 38, -1, 39, 3, -1, 4, -1, 5, -1, 38,
- 4, -1, 38, 5, -1, 7, -1, 9, -1, 10,
- -1, 24, 34, 25, -1
+ 28, 0, -1, -1, 28, 30, -1, 28, 29, -1,
+ 7, 16, 35, 17, -1, 15, 35, -1, 7, 16,
+ 35, 18, -1, 7, 16, 35, 18, -1, 15, 35,
+ 18, -1, 11, 16, 12, 17, -1, 11, 16, 13,
+ 17, -1, 35, 34, 8, -1, 19, 31, 20, 35,
+ 34, 33, 8, -1, 19, 31, 20, 35, 34, 21,
+ 33, -1, 19, 31, 20, 34, 33, 8, -1, 19,
+ 31, 20, 34, 21, 33, -1, 19, 5, 20, 35,
+ 34, 33, 8, -1, 19, 5, 20, 35, 34, 21,
+ 33, -1, 19, 5, 20, 34, 33, 8, -1, 19,
+ 5, 20, 34, 21, 33, -1, 6, 33, 8, -1,
+ 6, 21, 33, -1, 14, 5, 20, 8, -1, 14,
+ 31, 20, 8, -1, -1, 32, -1, 7, -1, 32,
+ 22, 7, -1, -1, 16, 20, 7, -1, -1, 18,
+ 35, -1, 36, -1, 35, 23, 36, -1, 37, -1,
+ 36, 24, 37, -1, 38, -1, 37, 38, -1, 40,
+ -1, 40, 39, -1, 40, 3, -1, 4, -1, 5,
+ -1, 39, 4, -1, 39, 5, -1, 7, -1, 9,
+ -1, 10, -1, 25, 35, 26, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 156, 156, 160, 161, 165, 173, 177, 183, 191,
- 200, 204, 209, 214, 220, 228, 236, 241, 247, 259,
- 271, 277, 285, 288, 295, 300, 309, 312, 320, 323,
- 330, 334, 341, 345, 356, 360, 367, 371, 386, 393,
- 397, 401, 405, 412, 420, 424, 428
+ 0, 156, 156, 160, 161, 165, 173, 181, 185, 189,
+ 193, 199, 207, 216, 220, 225, 230, 236, 244, 252,
+ 257, 263, 275, 287, 293, 301, 304, 311, 316, 325,
+ 328, 336, 339, 346, 350, 357, 361, 372, 376, 383,
+ 387, 402, 409, 413, 417, 421, 428, 436, 440, 444
};
#endif
{
"$end", "error", "$undefined", "CLOSESIZE", "CLOSE", "STAR", "NOCOND",
"ID", "CODE", "RANGE", "STRING", "CONFIG", "VALUE", "NUMBER", "SETUP",
- "'='", "';'", "'/'", "'<'", "'>'", "':'", "','", "'|'", "'\\\\'", "'('",
- "')'", "$accept", "spec", "decl", "rule", "cond", "clist", "newcond",
- "look", "expr", "diff", "term", "factor", "close", "primary", 0
+ "FID", "'='", "';'", "'/'", "'<'", "'>'", "':'", "','", "'|'", "'\\\\'",
+ "'('", "')'", "$accept", "spec", "decl", "rule", "cond", "clist",
+ "newcond", "look", "expr", "diff", "term", "factor", "close", "primary", 0
};
#endif
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 61, 59, 47, 60, 62,
- 58, 44, 124, 92, 40, 41
+ 265, 266, 267, 268, 269, 270, 61, 59, 47, 60,
+ 62, 58, 44, 124, 92, 40, 41
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 26, 27, 27, 27, 28, 28, 28, 28, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 30, 30, 31, 31, 32, 32, 33, 33,
- 34, 34, 35, 35, 36, 36, 37, 37, 37, 38,
- 38, 38, 38, 39, 39, 39, 39
+ 0, 27, 28, 28, 28, 29, 29, 29, 29, 29,
+ 29, 29, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30, 30, 30, 30, 30, 31, 31, 32, 32, 33,
+ 33, 34, 34, 35, 35, 36, 36, 37, 37, 38,
+ 38, 38, 39, 39, 39, 39, 40, 40, 40, 40
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
- 0, 2, 0, 2, 2, 4, 4, 4, 4, 3,
- 7, 7, 6, 6, 7, 7, 6, 6, 3, 3,
- 4, 4, 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
+ 0, 2, 0, 2, 2, 4, 2, 4, 4, 3,
+ 4, 4, 3, 7, 7, 6, 6, 7, 7, 6,
+ 6, 3, 3, 4, 4, 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
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 2, 0, 1, 26, 43, 44, 45, 0, 22, 22,
- 0, 4, 3, 28, 30, 32, 34, 36, 0, 26,
- 0, 0, 0, 0, 24, 0, 23, 0, 0, 43,
- 0, 0, 0, 0, 0, 35, 38, 39, 40, 37,
- 0, 19, 18, 0, 0, 0, 0, 0, 0, 28,
- 28, 46, 29, 31, 9, 33, 41, 42, 27, 5,
- 6, 7, 8, 20, 21, 25, 26, 28, 26, 28,
- 26, 0, 26, 26, 0, 26, 17, 16, 26, 0,
- 13, 12, 26, 0, 15, 14, 11, 10
+ 2, 0, 1, 29, 46, 47, 48, 0, 25, 0,
+ 25, 0, 4, 3, 31, 33, 35, 37, 39, 0,
+ 29, 0, 0, 0, 0, 27, 0, 26, 46, 6,
+ 0, 0, 0, 0, 0, 0, 0, 38, 41, 42,
+ 43, 40, 0, 22, 21, 0, 0, 0, 0, 0,
+ 0, 9, 31, 31, 49, 32, 34, 12, 36, 44,
+ 45, 30, 5, 7, 10, 11, 23, 24, 28, 29,
+ 31, 29, 31, 29, 0, 29, 29, 0, 29, 20,
+ 19, 29, 0, 16, 15, 29, 0, 18, 17, 14,
+ 13
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int8 yydefgoto[] =
{
- -1, 1, 11, 12, 25, 26, 20, 33, 13, 14,
- 15, 16, 39, 17
+ -1, 1, 12, 13, 26, 27, 21, 35, 14, 15,
+ 16, 17, 41, 18
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -42
+#define YYPACT_NINF -47
static const yytype_int8 yypact[] =
{
- -42, 7, -42, -5, -11, -42, -42, 8, 59, 60,
- -4, -42, -42, 2, -12, -4, -42, 57, 27, 55,
- 63, -4, 23, 53, -42, 54, 56, 61, 62, -42,
- 33, -4, -4, 66, -4, -42, -42, -42, -42, 64,
- 68, -42, -42, 16, 67, 69, 70, 71, 75, 20,
- 20, -42, 65, -12, -42, -4, -42, -42, -42, -42,
- -42, -42, -42, -42, -42, -42, 19, 2, 28, 2,
- 55, 76, 30, 55, 78, 37, -42, -42, 55, 80,
- -42, -42, 55, 81, -42, -42, -42, -42
+ -47, 2, -47, -11, -1, -47, -47, 27, 64, 23,
+ 65, 23, -47, -47, 17, 15, 23, -47, 63, 30,
+ 48, 67, 23, 6, 56, -47, 57, 58, -47, 18,
+ 59, 61, 37, 23, 23, 70, 23, -47, -47, -47,
+ -47, 69, 75, -47, -47, 11, 66, 68, 76, 78,
+ 80, -47, 13, 13, -47, 71, 15, -47, 23, -47,
+ -47, -47, -47, -47, -47, -47, -47, -47, -47, 21,
+ 17, 31, 17, 48, 81, 38, 48, 82, 41, -47,
+ -47, 48, 83, -47, -47, 48, 84, -47, -47, -47,
+ -47
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int8 yypgoto[] =
{
- -42, -42, -42, -42, 82, -42, -19, -41, -9, 44,
- 58, -13, -42, -42
+ -47, -47, -47, -47, 85, -47, -20, -46, -8, 54,
+ 60, -12, -47, -47
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
#define YYTABLE_NINF -1
static const yytype_uint8 yytable[] =
{
- 41, 30, 35, 29, 21, 5, 6, 2, 66, 68,
- 18, 34, 43, 3, 4, 19, 5, 6, 7, 31,
- 10, 8, 52, 22, 32, 9, 72, 29, 75, 5,
- 6, 10, 59, 60, 18, 44, 45, 31, 32, 70,
- 67, 69, 35, 18, 10, 18, 40, 71, 73, 74,
- 78, 76, 18, 79, 80, 32, 83, 82, 51, 84,
- 36, 37, 38, 86, 23, 27, 24, 24, 56, 57,
- 18, 42, 46, 47, 54, 58, 53, 48, 63, 64,
- 49, 50, 65, 61, 77, 62, 81, 32, 85, 87,
- 0, 28, 55
+ 43, 29, 2, 32, 37, 19, 69, 71, 3, 4,
+ 20, 5, 6, 7, 45, 22, 8, 9, 46, 47,
+ 28, 10, 5, 6, 75, 55, 78, 11, 62, 63,
+ 28, 33, 5, 6, 34, 33, 51, 19, 11, 36,
+ 34, 34, 73, 23, 70, 72, 37, 19, 11, 74,
+ 42, 77, 76, 79, 19, 82, 83, 19, 86, 81,
+ 34, 87, 85, 54, 19, 89, 38, 39, 40, 24,
+ 30, 25, 25, 59, 60, 44, 48, 49, 57, 52,
+ 50, 53, 61, 64, 66, 65, 67, 68, 56, 80,
+ 84, 88, 90, 0, 34, 31, 58
};
static const yytype_int8 yycheck[] =
{
- 19, 10, 15, 7, 15, 9, 10, 0, 49, 50,
- 15, 23, 21, 6, 7, 20, 9, 10, 11, 17,
- 24, 14, 31, 15, 22, 18, 67, 7, 69, 9,
- 10, 24, 16, 17, 15, 12, 13, 17, 22, 20,
- 49, 50, 55, 15, 24, 15, 19, 66, 20, 68,
- 20, 70, 15, 72, 73, 22, 75, 20, 25, 78,
- 3, 4, 5, 82, 5, 5, 7, 7, 4, 5,
- 15, 8, 19, 19, 8, 7, 32, 21, 8, 8,
- 19, 19, 7, 16, 8, 16, 8, 22, 8, 8,
- -1, 9, 34
+ 20, 9, 0, 11, 16, 16, 52, 53, 6, 7,
+ 21, 9, 10, 11, 22, 16, 14, 15, 12, 13,
+ 7, 19, 9, 10, 70, 33, 72, 25, 17, 18,
+ 7, 18, 9, 10, 23, 18, 18, 16, 25, 24,
+ 23, 23, 21, 16, 52, 53, 58, 16, 25, 69,
+ 20, 71, 21, 73, 16, 75, 76, 16, 78, 21,
+ 23, 81, 21, 26, 16, 85, 3, 4, 5, 5,
+ 5, 7, 7, 4, 5, 8, 20, 20, 8, 20,
+ 22, 20, 7, 17, 8, 17, 8, 7, 34, 8,
+ 8, 8, 8, -1, 23, 10, 36
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 27, 0, 6, 7, 9, 10, 11, 14, 18,
- 24, 28, 29, 34, 35, 36, 37, 39, 15, 20,
- 32, 15, 15, 5, 7, 30, 31, 5, 30, 7,
- 34, 17, 22, 33, 23, 37, 3, 4, 5, 38,
- 19, 32, 8, 34, 12, 13, 19, 19, 21, 19,
- 19, 25, 34, 35, 8, 36, 4, 5, 7, 16,
- 17, 16, 16, 8, 8, 7, 33, 34, 33, 34,
- 20, 32, 33, 20, 32, 33, 32, 8, 20, 32,
- 32, 8, 20, 32, 32, 8, 32, 8
+ 0, 28, 0, 6, 7, 9, 10, 11, 14, 15,
+ 19, 25, 29, 30, 35, 36, 37, 38, 40, 16,
+ 21, 33, 16, 16, 5, 7, 31, 32, 7, 35,
+ 5, 31, 35, 18, 23, 34, 24, 38, 3, 4,
+ 5, 39, 20, 33, 8, 35, 12, 13, 20, 20,
+ 22, 18, 20, 20, 26, 35, 36, 8, 37, 4,
+ 5, 7, 17, 18, 17, 17, 8, 8, 7, 34,
+ 35, 34, 35, 21, 33, 34, 21, 33, 34, 33,
+ 8, 21, 33, 33, 8, 21, 33, 33, 8, 33,
+ 8
};
#define yyerrok (yyerrstatus = 0)
case 5:
#line 166 "parser.y"
{
- if((yyvsp[(1) - (4)].symbol)->re)
+ if ((yyvsp[(1) - (4)].symbol)->re)
{
in->fatal("sym already defined");
}
case 6:
#line 174 "parser.y"
{
- in->fatal("trailing contexts are not allowed in named definitions");
+ if ((yyvsp[(1) - (2)].symbol)->re)
+ {
+ in->fatal("sym already defined");
+ }
+ (yyvsp[(1) - (2)].symbol)->re = (yyvsp[(2) - (2)].regexp);
}
break;
case 7:
-#line 178 "parser.y"
+#line 182 "parser.y"
+ {
+ in->fatal("trailing contexts are not allowed in named definitions");
+ }
+ break;
+
+ case 8:
+#line 186 "parser.y"
+ {
+ in->fatal("trailing contexts are not allowed in named definitions");
+ }
+ break;
+
+ case 9:
+#line 190 "parser.y"
+ {
+ in->fatal("trailing contexts are not allowed in named definitions");
+ }
+ break;
+
+ case 10:
+#line 194 "parser.y"
{
in->config(*(yyvsp[(1) - (4)].str), *(yyvsp[(3) - (4)].str));
delete (yyvsp[(1) - (4)].str);
}
break;
- case 8:
-#line 184 "parser.y"
+ case 11:
+#line 200 "parser.y"
{
in->config(*(yyvsp[(1) - (4)].str), (yyvsp[(3) - (4)].number));
delete (yyvsp[(1) - (4)].str);
}
break;
- case 9:
-#line 192 "parser.y"
+ case 12:
+#line 208 "parser.y"
{
if (cFlag)
{
}
break;
- case 10:
-#line 201 "parser.y"
+ case 13:
+#line 217 "parser.y"
{
context_rule((yyvsp[(2) - (7)].clist), (yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), (yyvsp[(6) - (7)].str), (yyvsp[(7) - (7)].token));
}
break;
- case 11:
-#line 205 "parser.y"
+ case 14:
+#line 221 "parser.y"
{
assert((yyvsp[(7) - (7)].str));
context_rule((yyvsp[(2) - (7)].clist), (yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), (yyvsp[(7) - (7)].str), NULL);
}
break;
- case 12:
-#line 210 "parser.y"
+ case 15:
+#line 226 "parser.y"
{
context_none((yyvsp[(2) - (6)].clist));
delete (yyvsp[(5) - (6)].str);
}
break;
- case 13:
-#line 215 "parser.y"
+ case 16:
+#line 231 "parser.y"
{
assert((yyvsp[(6) - (6)].str));
context_none((yyvsp[(2) - (6)].clist));
}
break;
- case 14:
-#line 221 "parser.y"
+ case 17:
+#line 237 "parser.y"
{
context_check(NULL);
Token *token = new Token((yyvsp[(7) - (7)].token), (yyvsp[(7) - (7)].token)->line, (yyvsp[(6) - (7)].str));
}
break;
- case 15:
-#line 229 "parser.y"
+ case 18:
+#line 245 "parser.y"
{
assert((yyvsp[(7) - (7)].str));
context_check(NULL);
}
break;
- case 16:
-#line 237 "parser.y"
+ case 19:
+#line 253 "parser.y"
{
context_none(NULL);
delete (yyvsp[(5) - (6)].str);
}
break;
- case 17:
-#line 242 "parser.y"
+ case 20:
+#line 258 "parser.y"
{
assert((yyvsp[(6) - (6)].str));
context_none(NULL);
}
break;
- case 18:
-#line 248 "parser.y"
+ case 21:
+#line 264 "parser.y"
{
context_check(NULL);
if (specNone)
}
break;
- case 19:
-#line 260 "parser.y"
+ case 22:
+#line 276 "parser.y"
{
assert((yyvsp[(3) - (3)].str));
context_check(NULL);
}
break;
- case 20:
-#line 272 "parser.y"
+ case 23:
+#line 288 "parser.y"
{
CondList *clist = new CondList();
clist->insert("*");
}
break;
- case 21:
-#line 278 "parser.y"
+ case 24:
+#line 294 "parser.y"
{
setup_rule((yyvsp[(2) - (4)].clist), (yyvsp[(4) - (4)].token));
}
break;
- case 22:
-#line 285 "parser.y"
+ case 25:
+#line 301 "parser.y"
{
in->fatal("unnamed condition not supported");
}
break;
- case 23:
-#line 289 "parser.y"
+ case 26:
+#line 305 "parser.y"
{
(yyval.clist) = (yyvsp[(1) - (1)].clist);
}
break;
- case 24:
-#line 296 "parser.y"
+ case 27:
+#line 312 "parser.y"
{
(yyval.clist) = new CondList();
(yyval.clist)->insert((yyvsp[(1) - (1)].symbol)->GetName().to_string());
}
break;
- case 25:
-#line 301 "parser.y"
+ case 28:
+#line 317 "parser.y"
{
(yyvsp[(1) - (3)].clist)->insert((yyvsp[(3) - (3)].symbol)->GetName().to_string());
(yyval.clist) = (yyvsp[(1) - (3)].clist);
}
break;
- case 26:
-#line 309 "parser.y"
+ case 29:
+#line 325 "parser.y"
{
(yyval.str) = NULL;
}
break;
- case 27:
-#line 313 "parser.y"
+ case 30:
+#line 329 "parser.y"
{
(yyval.str) = new Str((yyvsp[(3) - (3)].symbol)->GetName().to_string().c_str());
}
break;
- case 28:
-#line 320 "parser.y"
+ case 31:
+#line 336 "parser.y"
{
(yyval.regexp) = new NullOp;
}
break;
- case 29:
-#line 324 "parser.y"
+ case 32:
+#line 340 "parser.y"
{
(yyval.regexp) = (yyvsp[(2) - (2)].regexp);
}
break;
- case 30:
-#line 331 "parser.y"
+ case 33:
+#line 347 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
- case 31:
-#line 335 "parser.y"
+ case 34:
+#line 351 "parser.y"
{
(yyval.regexp) = mkAlt((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp));
}
break;
- case 32:
-#line 342 "parser.y"
+ case 35:
+#line 358 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
- case 33:
-#line 346 "parser.y"
+ case 36:
+#line 362 "parser.y"
{
(yyval.regexp) = mkDiff((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp));
if(!(yyval.regexp))
}
break;
- case 34:
-#line 357 "parser.y"
+ case 37:
+#line 373 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
- case 35:
-#line 361 "parser.y"
+ case 38:
+#line 377 "parser.y"
{
(yyval.regexp) = new CatOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].regexp));
}
break;
- case 36:
-#line 368 "parser.y"
+ case 39:
+#line 384 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
- case 37:
-#line 372 "parser.y"
+ case 40:
+#line 388 "parser.y"
{
switch((yyvsp[(2) - (2)].op))
{
}
break;
- case 38:
-#line 387 "parser.y"
+ case 41:
+#line 403 "parser.y"
{
(yyval.regexp) = new CloseVOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].extop).minsize, (yyvsp[(2) - (2)].extop).maxsize);
}
break;
- case 39:
-#line 394 "parser.y"
+ case 42:
+#line 410 "parser.y"
{
(yyval.op) = (yyvsp[(1) - (1)].op);
}
break;
- case 40:
-#line 398 "parser.y"
+ case 43:
+#line 414 "parser.y"
{
(yyval.op) = (yyvsp[(1) - (1)].op);
}
break;
- case 41:
-#line 402 "parser.y"
+ case 44:
+#line 418 "parser.y"
{
(yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*';
}
break;
- case 42:
-#line 406 "parser.y"
+ case 45:
+#line 422 "parser.y"
{
(yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*';
}
break;
- case 43:
-#line 413 "parser.y"
+ case 46:
+#line 429 "parser.y"
{
if(!(yyvsp[(1) - (1)].symbol)->re)
{
}
break;
- case 44:
-#line 421 "parser.y"
+ case 47:
+#line 437 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
- case 45:
-#line 425 "parser.y"
+ case 48:
+#line 441 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
- case 46:
-#line 429 "parser.y"
+ case 49:
+#line 445 "parser.y"
{
(yyval.regexp) = (yyvsp[(2) - (3)].regexp);
}
/* Line 1267 of yacc.c. */
-#line 1902 "parser.cc"
+#line 1934 "parser.cc"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
}
-#line 434 "parser.y"
+#line 450 "parser.y"
extern "C" {
-/* Generated by re2c 0.13.3.dev on Sun Mar 2 20:15:07 2008 */
+/* Generated by re2c 0.13.3.dev on Sun Mar 2 21:34:25 2008 */
/* $Id$ */
#include <stdlib.h>
#include <string.h>
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
if (yych <= '/') {
- if (yych == ',') goto yy166;
+ if (yych == ',') goto yy168;
} else {
- if (yych <= '0') goto yy163;
- if (yych <= '9') goto yy164;
+ if (yych <= '0') goto yy165;
+ if (yych <= '9') goto yy166;
}
} else {
if (yych <= '_') {
- if (yych <= 'Z') goto yy161;
- if (yych >= '_') goto yy161;
+ if (yych <= 'Z') goto yy163;
+ if (yych >= '_') goto yy163;
} else {
if (yych <= '`') goto yy72;
- if (yych <= 'z') goto yy161;
+ if (yych <= 'z') goto yy163;
}
}
yy72:
yy73:
YYCTXMARKER = YYCURSOR + 1;
++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy157;
+ if ((yych = *YYCURSOR) == '=') goto yy159;
yy74:
{
std::ostringstream msg;
}
yy75:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '*') goto yy155;
+ if ((yych = *YYCURSOR) == '*') goto yy157;
yy76:
{
RETURN(*tok);
}
yy77:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '/') goto yy153;
+ if ((yych = *YYCURSOR) == '/') goto yy155;
{
yylval.op = *tok;
RETURN(STAR);
yy79:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != 0x0A) goto yy149;
+ if (yych != 0x0A) goto yy151;
yy80:
{
fatal("unterminated string constant (missing \")");
yy81:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != 0x0A) goto yy144;
+ if (yych != 0x0A) goto yy146;
yy82:
{
fatal("unterminated string constant (missing ')");
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
if (yych == 0x0A) goto yy84;
- if (yych == '^') goto yy135;
- goto yy134;
+ if (yych == '^') goto yy137;
+ goto yy136;
yy84:
{
fatal("unterminated range (missing ])");
yy85:
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '!') goto yy124;
- if (yych == '>') goto yy126;
+ if (yych == '!') goto yy126;
+ if (yych == '>') goto yy128;
goto yy76;
yy86:
yych = *++YYCURSOR;
yy89:
YYCTXMARKER = YYCURSOR + 1;
yych = *++YYCURSOR;
- if (yych == 'e') goto yy113;
+ if (yych == 'e') goto yy114;
goto yy103;
yy90:
YYCTXMARKER = YYCURSOR + 1;
yych = *++YYCURSOR;
goto yy104;
yy106:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= ' ') {
- if (yych == 0x09) goto yy110;
- if (yych <= 0x1F) goto yy104;
- goto yy110;
- } else {
- if (yych <= ',') {
- if (yych <= '+') goto yy104;
- goto yy109;
- } else {
- if (yych <= '<') goto yy104;
- if (yych <= '>') goto yy109;
- goto yy104;
- }
- }
+ yych = *++YYCURSOR;
+ goto yy112;
yy107:
++YYCURSOR;
yy108:
return ID;
}
yy109:
- yych = *++YYCURSOR;
- goto yy108;
-yy110:
+ ++YYCURSOR;
+ YYCURSOR = YYCTXMARKER;
+ {
+ if (FFlag)
+ {
+ cur = ptr > tok ? ptr - 1 : cursor;
+ yylval.symbol = Symbol::find(token());
+ return FID;
+ } else {
+ cur = ptr > tok ? ptr - 1 : cursor;
+ yylval.symbol = Symbol::find(token());
+ return ID;
+ }
+ }
+yy111:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+yy112:
if (yych <= ' ') {
- if (yych == 0x09) goto yy110;
- if (yych >= ' ') goto yy110;
+ if (yych == 0x09) goto yy111;
+ if (yych <= 0x1F) goto yy109;
+ goto yy111;
} else {
if (yych <= ',') {
- if (yych >= ',') goto yy109;
- } else {
- if (yych <= '<') goto yy112;
- if (yych <= '>') goto yy109;
- }
- }
-yy112:
- YYCURSOR = YYMARKER;
- if (yyaccept <= 3) {
- if (yyaccept <= 1) {
- if (yyaccept <= 0) {
- goto yy72;
- } else {
- goto yy80;
- }
+ if (yych <= '+') goto yy109;
} else {
- if (yyaccept <= 2) {
- goto yy82;
- } else {
- goto yy84;
- }
- }
- } else {
- if (yyaccept <= 5) {
- if (yyaccept <= 4) {
- goto yy76;
- } else {
- goto yy104;
- }
- } else {
- if (yyaccept <= 6) {
- goto yy119;
- } else {
- goto yy167;
- }
+ if (yych <= '<') goto yy109;
+ if (yych >= '?') goto yy109;
}
}
-yy113:
+ yych = *++YYCURSOR;
+ goto yy108;
+yy114:
YYCTXMARKER = YYCURSOR + 1;
yych = *++YYCURSOR;
if (yych != '2') goto yy103;
if (yych == '`') goto yy104;
if (yych >= '{') goto yy104;
}
-yy117:
- yyaccept = 6;
+yy118:
+ yyaccept = 5;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '@') {
if (yych <= '9') {
- if (yych >= '0') goto yy117;
+ if (yych >= '0') goto yy118;
} else {
- if (yych <= ':') goto yy121;
- if (yych >= '@') goto yy120;
+ if (yych <= ':') goto yy123;
+ if (yych >= '@') goto yy121;
}
} else {
if (yych <= '_') {
- if (yych <= 'Z') goto yy117;
- if (yych >= '_') goto yy117;
+ if (yych <= 'Z') goto yy118;
+ if (yych >= '_') goto yy118;
} else {
- if (yych <= '`') goto yy119;
- if (yych <= 'z') goto yy117;
+ if (yych <= '`') goto yy120;
+ if (yych <= 'z') goto yy118;
}
}
-yy119:
+yy120:
{
cur = cursor;
tok+= 5; /* skip "re2c:" */
yylval.str = new Str(token());
return CONFIG;
}
-yy120:
+yy121:
yych = *++YYCURSOR;
if (yych <= '^') {
- if (yych <= '@') goto yy112;
- if (yych <= 'Z') goto yy122;
- goto yy112;
+ if (yych <= '@') goto yy122;
+ if (yych <= 'Z') goto yy124;
} else {
- if (yych == '`') goto yy112;
- if (yych <= 'z') goto yy122;
- goto yy112;
+ if (yych == '`') goto yy122;
+ if (yych <= 'z') goto yy124;
}
-yy121:
+yy122:
+ YYCURSOR = YYMARKER;
+ if (yyaccept <= 3) {
+ if (yyaccept <= 1) {
+ if (yyaccept <= 0) {
+ goto yy72;
+ } else {
+ goto yy80;
+ }
+ } else {
+ if (yyaccept <= 2) {
+ goto yy82;
+ } else {
+ goto yy84;
+ }
+ }
+ } else {
+ if (yyaccept <= 5) {
+ if (yyaccept <= 4) {
+ goto yy76;
+ } else {
+ goto yy120;
+ }
+ } else {
+ goto yy169;
+ }
+ }
+yy123:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '^') {
- if (yych <= '@') goto yy112;
- if (yych <= 'Z') goto yy117;
- goto yy112;
+ if (yych <= '@') goto yy122;
+ if (yych <= 'Z') goto yy118;
+ goto yy122;
} else {
- if (yych == '`') goto yy112;
- if (yych <= 'z') goto yy117;
- goto yy112;
+ if (yych == '`') goto yy122;
+ if (yych <= 'z') goto yy118;
+ goto yy122;
}
-yy122:
+yy124:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 'Z') {
- if (yych <= '/') goto yy119;
- if (yych <= '9') goto yy122;
- if (yych <= '@') goto yy119;
- goto yy122;
+ if (yych <= '/') goto yy120;
+ if (yych <= '9') goto yy124;
+ if (yych <= '@') goto yy120;
+ goto yy124;
} else {
if (yych <= '_') {
- if (yych <= '^') goto yy119;
- goto yy122;
+ if (yych <= '^') goto yy120;
+ goto yy124;
} else {
- if (yych <= '`') goto yy119;
- if (yych <= 'z') goto yy122;
- goto yy119;
+ if (yych <= '`') goto yy120;
+ if (yych <= 'z') goto yy124;
+ goto yy120;
}
}
-yy124:
+yy126:
++YYCURSOR;
{
RETURN(SETUP);
}
-yy126:
+yy128:
YYCTXMARKER = YYCURSOR + 1;
yych = *++YYCURSOR;
- goto yy128;
-yy127:
+ goto yy130;
+yy129:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy128:
+yy130:
if (yych <= '9') {
if (yych <= 0x09) {
- if (yych <= 0x08) goto yy112;
- goto yy127;
+ if (yych <= 0x08) goto yy122;
+ goto yy129;
} else {
- if (yych == ' ') goto yy127;
- goto yy112;
+ if (yych == ' ') goto yy129;
+ goto yy122;
}
} else {
if (yych <= '=') {
- if (yych <= ':') goto yy132;
- if (yych <= '<') goto yy112;
- goto yy131;
+ if (yych <= ':') goto yy134;
+ if (yych <= '<') goto yy122;
+ goto yy133;
} else {
- if (yych != '{') goto yy112;
+ if (yych != '{') goto yy122;
}
}
-yy129:
+yy131:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
RETURN(NOCOND);
}
-yy131:
+yy133:
yych = *++YYCURSOR;
- if (yych == '>') goto yy129;
- goto yy112;
-yy132:
+ if (yych == '>') goto yy131;
+ goto yy122;
+yy134:
yych = *++YYCURSOR;
- if (yych == '=') goto yy129;
- goto yy112;
-yy133:
+ if (yych == '=') goto yy131;
+ goto yy122;
+yy135:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy134:
+yy136:
if (yybm[0+yych] & 16) {
- goto yy133;
+ goto yy135;
}
- if (yych <= '[') goto yy112;
- if (yych <= '\\') goto yy137;
- goto yy138;
-yy135:
+ if (yych <= '[') goto yy122;
+ if (yych <= '\\') goto yy139;
+ goto yy140;
+yy137:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '[') {
- if (yych == 0x0A) goto yy112;
- goto yy135;
+ if (yych == 0x0A) goto yy122;
+ goto yy137;
} else {
- if (yych <= '\\') goto yy140;
- if (yych <= ']') goto yy141;
- goto yy135;
+ if (yych <= '\\') goto yy142;
+ if (yych <= ']') goto yy143;
+ goto yy137;
}
-yy137:
+yy139:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == 0x0A) goto yy112;
- goto yy133;
-yy138:
+ if (yych == 0x0A) goto yy122;
+ goto yy135;
+yy140:
++YYCURSOR;
{
cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE;
}
-yy140:
+yy142:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == 0x0A) goto yy112;
- goto yy135;
-yy141:
+ if (yych == 0x0A) goto yy122;
+ goto yy137;
+yy143:
++YYCURSOR;
{
cur = cursor;
yylval.regexp = invToRE(token());
return RANGE;
}
-yy143:
+yy145:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy144:
+yy146:
if (yybm[0+yych] & 32) {
- goto yy143;
+ goto yy145;
}
- if (yych <= '&') goto yy112;
- if (yych <= '\'') goto yy146;
+ if (yych <= '&') goto yy122;
+ if (yych <= '\'') goto yy148;
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == 0x0A) goto yy112;
- goto yy143;
-yy146:
+ if (yych == 0x0A) goto yy122;
+ goto yy145;
+yy148:
++YYCURSOR;
{
cur = cursor;
}
return STRING;
}
-yy148:
+yy150:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy149:
+yy151:
if (yybm[0+yych] & 64) {
- goto yy148;
+ goto yy150;
}
- if (yych <= '!') goto yy112;
- if (yych <= '"') goto yy151;
+ if (yych <= '!') goto yy122;
+ if (yych <= '"') goto yy153;
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == 0x0A) goto yy112;
- goto yy148;
-yy151:
+ if (yych == 0x0A) goto yy122;
+ goto yy150;
+yy153:
++YYCURSOR;
{
cur = cursor;
}
return STRING;
}
-yy153:
+yy155:
++YYCURSOR;
{
tok = cursor;
RETURN(0);
}
-yy155:
+yy157:
++YYCURSOR;
{
depth = 1;
goto comment;
}
-yy157:
+yy159:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '>') goto yy159;
+ if ((yych = *YYCURSOR) == '>') goto yy161;
{
cur = cursor;
tok+= 2; /* skip ":=" */
depth = 0;
goto code;
}
-yy159:
+yy161:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
RETURN(*tok);
}
-yy161:
+yy163:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '^') {
if (yych <= '9') {
- if (yych <= '/') goto yy112;
- goto yy161;
+ if (yych <= '/') goto yy122;
+ goto yy163;
} else {
- if (yych <= '@') goto yy112;
- if (yych <= 'Z') goto yy161;
- goto yy112;
+ if (yych <= '@') goto yy122;
+ if (yych <= 'Z') goto yy163;
+ goto yy122;
}
} else {
if (yych <= 'z') {
- if (yych == '`') goto yy112;
- goto yy161;
+ if (yych == '`') goto yy122;
+ goto yy163;
} else {
- if (yych == '}') goto yy180;
- goto yy112;
+ if (yych == '}') goto yy182;
+ goto yy122;
}
}
-yy163:
+yy165:
yych = *++YYCURSOR;
- if (yych == ',') goto yy177;
- goto yy165;
-yy164:
+ if (yych == ',') goto yy179;
+ goto yy167;
+yy166:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy165:
+yy167:
if (yybm[0+yych] & 128) {
- goto yy164;
+ goto yy166;
}
- if (yych == ',') goto yy170;
- if (yych == '}') goto yy168;
- goto yy112;
-yy166:
+ if (yych == ',') goto yy172;
+ if (yych == '}') goto yy170;
+ goto yy122;
+yy168:
++YYCURSOR;
-yy167:
+yy169:
{
fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
}
-yy168:
+yy170:
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE);
}
-yy170:
- yyaccept = 7;
+yy172:
+ yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy167;
- if (yych <= '9') goto yy173;
- if (yych != '}') goto yy167;
+ if (yych <= '/') goto yy169;
+ if (yych <= '9') goto yy175;
+ if (yych != '}') goto yy169;
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE);
}
-yy173:
+yy175:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '/') goto yy112;
- if (yych <= '9') goto yy173;
- if (yych != '}') goto yy112;
+ if (yych <= '/') goto yy122;
+ if (yych <= '9') goto yy175;
+ if (yych != '}') goto yy122;
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE);
}
-yy177:
- yyaccept = 7;
+yy179:
+ yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy167;
- if (yych <= '9') goto yy173;
- if (yych != '}') goto yy167;
+ if (yych <= '/') goto yy169;
+ if (yych <= '9') goto yy175;
+ if (yych != '}') goto yy169;
++YYCURSOR;
{
yylval.op = '*';
RETURN(CLOSE);
}
-yy180:
+yy182:
++YYCURSOR;
{
if (!FFlag) {
yych = *YYCURSOR;
if (yych <= '&') {
if (yych <= 0x0A) {
- if (yych <= 0x00) goto yy190;
- if (yych <= 0x09) goto yy192;
- goto yy188;
+ if (yych <= 0x00) goto yy192;
+ if (yych <= 0x09) goto yy194;
+ goto yy190;
} else {
- if (yych == '"') goto yy194;
- goto yy192;
+ if (yych == '"') goto yy196;
+ goto yy194;
}
} else {
if (yych <= '{') {
- if (yych <= '\'') goto yy195;
- if (yych <= 'z') goto yy192;
- goto yy186;
+ if (yych <= '\'') goto yy197;
+ if (yych <= 'z') goto yy194;
+ goto yy188;
} else {
- if (yych != '}') goto yy192;
+ if (yych != '}') goto yy194;
}
}
++YYCURSOR;
}
goto code;
}
-yy186:
+yy188:
++YYCURSOR;
{
if (depth == 0)
}
goto code;
}
-yy188:
+yy190:
YYCTXMARKER = YYCURSOR + 1;
++YYCURSOR;
if ((yych = *YYCURSOR) <= 0x0C) {
- if (yych <= 0x08) goto yy189;
- if (yych <= 0x0A) goto yy203;
+ if (yych <= 0x08) goto yy191;
+ if (yych <= 0x0A) goto yy205;
} else {
- if (yych <= 0x0D) goto yy203;
- if (yych == ' ') goto yy203;
+ if (yych <= 0x0D) goto yy205;
+ if (yych == ' ') goto yy205;
}
-yy189:
+yy191:
{
if (depth == 0)
{
cline++;
goto code;
}
-yy190:
+yy192:
++YYCURSOR;
{
if (cursor == eof)
}
goto code;
}
-yy192:
+yy194:
++YYCURSOR;
-yy193:
+yy195:
{
goto code;
}
-yy194:
+yy196:
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 0x0A) goto yy193;
- goto yy201;
-yy195:
+ if (yych == 0x0A) goto yy195;
+ goto yy203;
+yy197:
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 0x0A) goto yy193;
- goto yy197;
-yy196:
+ if (yych == 0x0A) goto yy195;
+ goto yy199;
+yy198:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy197:
+yy199:
if (yybm[0+yych] & 64) {
- goto yy196;
+ goto yy198;
}
- if (yych <= '&') goto yy198;
- if (yych <= '\'') goto yy192;
- goto yy199;
-yy198:
+ if (yych <= '&') goto yy200;
+ if (yych <= '\'') goto yy194;
+ goto yy201;
+yy200:
YYCURSOR = YYMARKER;
- goto yy193;
-yy199:
+ goto yy195;
+yy201:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == 0x0A) goto yy198;
- goto yy196;
-yy200:
+ if (yych == 0x0A) goto yy200;
+ goto yy198;
+yy202:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy201:
+yy203:
if (yybm[0+yych] & 128) {
- goto yy200;
+ goto yy202;
}
- if (yych <= '!') goto yy198;
- if (yych <= '"') goto yy192;
+ if (yych <= '!') goto yy200;
+ if (yych <= '"') goto yy194;
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == 0x0A) goto yy198;
- goto yy200;
-yy203:
+ if (yych == 0x0A) goto yy200;
+ goto yy202;
+yy205:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= ')') {
- if (yych == 0x0A) goto yy210;
- goto yy212;
+ if (yych == 0x0A) goto yy212;
+ goto yy214;
} else {
- if (yych <= '*') goto yy207;
- if (yych == '/') goto yy209;
- goto yy212;
+ if (yych <= '*') goto yy209;
+ if (yych == '/') goto yy211;
+ goto yy214;
}
-yy207:
+yy209:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '/') goto yy215;
-yy208:
+ if ((yych = *YYCURSOR) == '/') goto yy217;
+yy210:
{
if(cursor == eof)
{
}
goto comment;
}
-yy209:
+yy211:
yych = *++YYCURSOR;
- if (yych == '*') goto yy213;
- goto yy208;
-yy210:
+ if (yych == '*') goto yy215;
+ goto yy210;
+yy212:
++YYCURSOR;
{
if(cursor == eof)
cline++;
goto comment;
}
-yy212:
+yy214:
yych = *++YYCURSOR;
- goto yy208;
-yy213:
+ goto yy210;
+yy215:
++YYCURSOR;
{
++depth;
fatal("ambiguous /* found");
goto comment;
}
-yy215:
+yy217:
++YYCURSOR;
{
if(--depth == 0)
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych != 0x09) goto yy223;
+ if (yych != 0x09) goto yy225;
} else {
- if (yych <= ' ') goto yy219;
- if (yych == '=') goto yy221;
- goto yy223;
+ if (yych <= ' ') goto yy221;
+ if (yych == '=') goto yy223;
+ goto yy225;
}
-yy219:
+yy221:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy228;
-yy220:
+ goto yy230;
+yy222:
{
goto config;
}
-yy221:
+yy223:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy226;
-yy222:
+ goto yy228;
+yy224:
{
iscfg = 2;
cur = cursor;
RETURN('=');
}
-yy223:
+yy225:
++YYCURSOR;
{
fatal("missing '='");
}
-yy225:
+yy227:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy226:
+yy228:
if (yybm[0+yych] & 128) {
- goto yy225;
+ goto yy227;
}
- goto yy222;
-yy227:
+ goto yy224;
+yy229:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy228:
- if (yych == 0x09) goto yy227;
- if (yych == ' ') goto yy227;
- goto yy220;
+yy230:
+ if (yych == 0x09) goto yy229;
+ if (yych == ' ') goto yy229;
+ goto yy222;
}
yych = *YYCURSOR;
if (yych <= '&') {
if (yych <= 0x0D) {
- if (yych <= 0x08) goto yy237;
- if (yych <= 0x0A) goto yy231;
- if (yych <= 0x0C) goto yy237;
+ if (yych <= 0x08) goto yy239;
+ if (yych <= 0x0A) goto yy233;
+ if (yych <= 0x0C) goto yy239;
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy237;
+ if (yych <= 0x1F) goto yy239;
} else {
- if (yych == '"') goto yy239;
- goto yy237;
+ if (yych == '"') goto yy241;
+ goto yy239;
}
}
} else {
if (yych <= '/') {
- if (yych <= '\'') goto yy241;
- if (yych == '-') goto yy234;
- goto yy237;
+ if (yych <= '\'') goto yy243;
+ if (yych == '-') goto yy236;
+ goto yy239;
} else {
if (yych <= '9') {
- if (yych <= '0') goto yy232;
- goto yy235;
+ if (yych <= '0') goto yy234;
+ goto yy237;
} else {
- if (yych != ';') goto yy237;
+ if (yych != ';') goto yy239;
}
}
}
-yy231:
+yy233:
{
cur = cursor;
yylval.str = new Str(token());
iscfg = 0;
return VALUE;
}
-yy232:
+yy234:
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy237;
+ goto yy239;
}
-yy233:
+yy235:
{
cur = cursor;
yylval.number = atoi(token().to_string().c_str());
iscfg = 0;
return NUMBER;
}
-yy234:
+yy236:
yych = *++YYCURSOR;
- if (yych <= '0') goto yy238;
- if (yych >= ':') goto yy238;
-yy235:
+ if (yych <= '0') goto yy240;
+ if (yych >= ':') goto yy240;
+yy237:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 4) {
- goto yy235;
+ goto yy237;
}
if (yych <= 0x0D) {
- if (yych <= 0x08) goto yy237;
- if (yych <= 0x0A) goto yy233;
- if (yych >= 0x0D) goto yy233;
+ if (yych <= 0x08) goto yy239;
+ if (yych <= 0x0A) goto yy235;
+ if (yych >= 0x0D) goto yy235;
} else {
if (yych <= ' ') {
- if (yych >= ' ') goto yy233;
+ if (yych >= ' ') goto yy235;
} else {
- if (yych == ';') goto yy233;
+ if (yych == ';') goto yy235;
}
}
-yy237:
+yy239:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy238:
+yy240:
if (yybm[0+yych] & 8) {
- goto yy237;
+ goto yy239;
}
- goto yy231;
-yy239:
+ goto yy233;
+yy241:
YYMARKER = ++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy239;
+ goto yy241;
}
if (yych <= '!') {
- if (yych == 0x0A) goto yy231;
- goto yy249;
- } else {
- if (yych <= '"') goto yy237;
- if (yych <= '[') goto yy249;
+ if (yych == 0x0A) goto yy233;
goto yy251;
+ } else {
+ if (yych <= '"') goto yy239;
+ if (yych <= '[') goto yy251;
+ goto yy253;
}
-yy241:
+yy243:
YYMARKER = ++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy241;
+ goto yy243;
}
if (yych <= '&') {
- if (yych == 0x0A) goto yy231;
+ if (yych == 0x0A) goto yy233;
} else {
- if (yych <= '\'') goto yy237;
- if (yych >= '\\') goto yy246;
+ if (yych <= '\'') goto yy239;
+ if (yych >= '\\') goto yy248;
}
-yy243:
+yy245:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy243;
+ goto yy245;
}
- if (yych <= '&') goto yy245;
- if (yych <= '\'') goto yy247;
- goto yy248;
-yy245:
+ if (yych <= '&') goto yy247;
+ if (yych <= '\'') goto yy249;
+ goto yy250;
+yy247:
YYCURSOR = YYMARKER;
- goto yy231;
-yy246:
+ goto yy233;
+yy248:
YYMARKER = ++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x0D) {
if (yych <= 0x09) {
- if (yych <= 0x08) goto yy241;
- goto yy243;
+ if (yych <= 0x08) goto yy243;
+ goto yy245;
} else {
- if (yych <= 0x0A) goto yy231;
- if (yych <= 0x0C) goto yy241;
- goto yy243;
+ if (yych <= 0x0A) goto yy233;
+ if (yych <= 0x0C) goto yy243;
+ goto yy245;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy241;
- goto yy243;
+ if (yych <= 0x1F) goto yy243;
+ goto yy245;
} else {
- if (yych == ';') goto yy243;
- goto yy241;
+ if (yych == ';') goto yy245;
+ goto yy243;
}
}
-yy247:
+yy249:
yych = *++YYCURSOR;
- goto yy231;
-yy248:
+ goto yy233;
+yy250:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == 0x0A) goto yy245;
- goto yy243;
-yy249:
+ if (yych == 0x0A) goto yy247;
+ goto yy245;
+yy251:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy249;
+ goto yy251;
}
- if (yych <= '!') goto yy245;
- if (yych <= '"') goto yy247;
- goto yy252;
-yy251:
+ if (yych <= '!') goto yy247;
+ if (yych <= '"') goto yy249;
+ goto yy254;
+yy253:
YYMARKER = ++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x0D) {
if (yych <= 0x09) {
- if (yych <= 0x08) goto yy239;
- goto yy249;
+ if (yych <= 0x08) goto yy241;
+ goto yy251;
} else {
- if (yych <= 0x0A) goto yy231;
- if (yych <= 0x0C) goto yy239;
- goto yy249;
+ if (yych <= 0x0A) goto yy233;
+ if (yych <= 0x0C) goto yy241;
+ goto yy251;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy239;
- goto yy249;
+ if (yych <= 0x1F) goto yy241;
+ goto yy251;
} else {
- if (yych == ';') goto yy249;
- goto yy239;
+ if (yych == ';') goto yy251;
+ goto yy241;
}
}
-yy252:
+yy254:
++YYCURSOR;
if (YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == 0x0A) goto yy245;
- goto yy249;
+ if (yych == 0x0A) goto yy247;
+ goto yy251;
}
}