-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
/* Pure parsers. */
#define YYPURE 0
-/* Using locations. */
-#define YYLSP_NEEDED 0
-
+/* Push parsers. */
+#define YYPUSH 0
+/* Pull parsers. */
+#define YYPULL 1
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- CLOSESIZE = 258,
- CLOSE = 259,
- STAR = 260,
- NOCOND = 261,
- ID = 262,
- CODE = 263,
- RANGE = 264,
- STRING = 265,
- CONFIG = 266,
- VALUE = 267,
- NUMBER = 268,
- SETUP = 269,
- FID = 270
- };
-#endif
-/* Tokens. */
-#define CLOSESIZE 258
-#define CLOSE 259
-#define STAR 260
-#define NOCOND 261
-#define ID 262
-#define CODE 263
-#define RANGE 264
-#define STRING 265
-#define CONFIG 266
-#define VALUE 267
-#define NUMBER 268
-#define SETUP 269
-#define FID 270
-
+/* Using locations. */
+#define YYLSP_NEEDED 0
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 1 "parser.y"
else
{
size_t nIndex = specMap.size() + 1; // 0 is reserved for "0"-spec
- specMap[*it] = std::make_pair(nIndex, rule);
+ assert( nIndex < 1u << 31);
+ specMap[*it] = std::make_pair(unsigned( nIndex), rule);
}
}
+/* Line 189 of yacc.c */
+#line 203 "parser.cc"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ CLOSESIZE = 258,
+ CLOSE = 259,
+ STAR = 260,
+ NOCOND = 261,
+ ID = 262,
+ CODE = 263,
+ RANGE = 264,
+ STRING = 265,
+ CONFIG = 266,
+ VALUE = 267,
+ NUMBER = 268,
+ SETUP = 269,
+ FID = 270
+ };
+#endif
+/* Tokens. */
+#define CLOSESIZE 258
+#define CLOSE 259
+#define STAR 260
+#define NOCOND 261
+#define ID 262
+#define CODE 263
+#define RANGE 264
+#define STRING 265
+#define CONFIG 266
+#define VALUE 267
+#define NUMBER 268
+#define SETUP 269
+#define FID 270
+
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 131 "parser.y"
{
+
+/* Line 214 of yacc.c */
+#line 132 "parser.y"
+
re2c::Symbol *symbol;
re2c::RegExp *regexp;
re2c::Token *token;
re2c::ExtOp extop;
re2c::Str *str;
re2c::CondList *clist;
-}
-/* Line 187 of yacc.c. */
-#line 265 "parser.cc"
- YYSTYPE;
+
+
+
+/* Line 214 of yacc.c */
+#line 282 "parser.cc"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
-
/* Copy the second part of user declarations. */
-/* Line 216 of yacc.c. */
-#line 278 "parser.cc"
+/* Line 264 of yacc.c */
+#line 294 "parser.cc"
#ifdef short
# undef short
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 160, 160, 162, 166, 170, 178, 186, 190, 194,
- 200, 208, 217, 221, 226, 231, 237, 245, 253, 258,
- 264, 276, 288, 294, 302, 305, 312, 317, 326, 329,
- 337, 340, 347, 351, 358, 362, 373, 377, 384, 388,
- 403, 410, 414, 418, 422, 429, 437, 441, 445
+ 0, 161, 161, 163, 167, 171, 179, 187, 191, 195,
+ 201, 209, 218, 222, 227, 232, 238, 246, 254, 259,
+ 265, 277, 289, 295, 303, 306, 313, 318, 327, 330,
+ 338, 341, 348, 352, 359, 363, 374, 378, 385, 389,
+ 404, 411, 415, 419, 423, 430, 438, 442, 446
};
#endif
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
);
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
break;
}
}
-\f
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
#endif /* ! YYPARSE_PARAM */
-
-/* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
/* Number of syntax errors so far. */
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
#endif
#endif
{
-
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
-
- YYSIZE_T yystacksize = YYINITDEPTH;
+ YYSIZE_T yystacksize;
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
-
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
switch (yyn)
{
case 2:
-#line 160 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 161 "parser.y"
{
}
break;
case 3:
-#line 163 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 164 "parser.y"
{
foundRules = true;
}
break;
case 5:
-#line 171 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 172 "parser.y"
{
if ((yyvsp[(1) - (4)].symbol)->re)
{
break;
case 6:
-#line 179 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 180 "parser.y"
{
if ((yyvsp[(1) - (2)].symbol)->re)
{
break;
case 7:
-#line 187 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 188 "parser.y"
{
in->fatal("trailing contexts are not allowed in named definitions");
}
break;
case 8:
-#line 191 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 192 "parser.y"
{
in->fatal("trailing contexts are not allowed in named definitions");
}
break;
case 9:
-#line 195 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 196 "parser.y"
{
in->config(*(yyvsp[(1) - (4)].str), *(yyvsp[(3) - (4)].str));
delete (yyvsp[(1) - (4)].str);
break;
case 10:
-#line 201 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 202 "parser.y"
{
in->config(*(yyvsp[(1) - (4)].str), (yyvsp[(3) - (4)].number));
delete (yyvsp[(1) - (4)].str);
break;
case 11:
-#line 209 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 210 "parser.y"
{
if (cFlag)
{
break;
case 12:
-#line 218 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 219 "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 13:
-#line 222 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 223 "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 14:
-#line 227 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 228 "parser.y"
{
context_none((yyvsp[(2) - (6)].clist));
delete (yyvsp[(5) - (6)].str);
break;
case 15:
-#line 232 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 233 "parser.y"
{
assert((yyvsp[(6) - (6)].str));
context_none((yyvsp[(2) - (6)].clist));
break;
case 16:
-#line 238 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 239 "parser.y"
{
context_check(NULL);
Token *token = new Token((yyvsp[(7) - (7)].token), (yyvsp[(7) - (7)].token)->source, (yyvsp[(7) - (7)].token)->line, (yyvsp[(6) - (7)].str));
break;
case 17:
-#line 246 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 247 "parser.y"
{
assert((yyvsp[(7) - (7)].str));
context_check(NULL);
break;
case 18:
-#line 254 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 255 "parser.y"
{
context_none(NULL);
delete (yyvsp[(5) - (6)].str);
break;
case 19:
-#line 259 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 260 "parser.y"
{
assert((yyvsp[(6) - (6)].str));
context_none(NULL);
break;
case 20:
-#line 265 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 266 "parser.y"
{
context_check(NULL);
if (specNone)
break;
case 21:
-#line 277 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 278 "parser.y"
{
assert((yyvsp[(3) - (3)].str));
context_check(NULL);
break;
case 22:
-#line 289 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 290 "parser.y"
{
CondList *clist = new CondList();
clist->insert("*");
break;
case 23:
-#line 295 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 296 "parser.y"
{
setup_rule((yyvsp[(2) - (4)].clist), (yyvsp[(4) - (4)].token));
}
break;
case 24:
-#line 302 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 303 "parser.y"
{
in->fatal("unnamed condition not supported");
}
break;
case 25:
-#line 306 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 307 "parser.y"
{
(yyval.clist) = (yyvsp[(1) - (1)].clist);
}
break;
case 26:
-#line 313 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 314 "parser.y"
{
(yyval.clist) = new CondList();
(yyval.clist)->insert((yyvsp[(1) - (1)].symbol)->GetName().to_string());
break;
case 27:
-#line 318 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 319 "parser.y"
{
(yyvsp[(1) - (3)].clist)->insert((yyvsp[(3) - (3)].symbol)->GetName().to_string());
(yyval.clist) = (yyvsp[(1) - (3)].clist);
break;
case 28:
-#line 326 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 327 "parser.y"
{
(yyval.str) = NULL;
}
break;
case 29:
-#line 330 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 331 "parser.y"
{
(yyval.str) = new Str((yyvsp[(3) - (3)].symbol)->GetName().to_string().c_str());
}
break;
case 30:
-#line 337 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 338 "parser.y"
{
(yyval.regexp) = new NullOp;
}
break;
case 31:
-#line 341 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 342 "parser.y"
{
(yyval.regexp) = (yyvsp[(2) - (2)].regexp);
}
break;
case 32:
-#line 348 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 349 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 33:
-#line 352 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 353 "parser.y"
{
(yyval.regexp) = mkAlt((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp));
}
break;
case 34:
-#line 359 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 360 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 35:
-#line 363 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 364 "parser.y"
{
(yyval.regexp) = mkDiff((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp));
if(!(yyval.regexp))
break;
case 36:
-#line 374 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 375 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 37:
-#line 378 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 379 "parser.y"
{
(yyval.regexp) = new CatOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].regexp));
}
break;
case 38:
-#line 385 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 386 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 39:
-#line 389 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 390 "parser.y"
{
switch((yyvsp[(2) - (2)].op))
{
break;
case 40:
-#line 404 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 405 "parser.y"
{
(yyval.regexp) = new CloseVOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].extop).minsize, (yyvsp[(2) - (2)].extop).maxsize);
}
break;
case 41:
-#line 411 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 412 "parser.y"
{
(yyval.op) = (yyvsp[(1) - (1)].op);
}
break;
case 42:
-#line 415 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 416 "parser.y"
{
(yyval.op) = (yyvsp[(1) - (1)].op);
}
break;
case 43:
-#line 419 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 420 "parser.y"
{
(yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*';
}
break;
case 44:
-#line 423 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 424 "parser.y"
{
(yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*';
}
break;
case 45:
-#line 430 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 431 "parser.y"
{
if(!(yyvsp[(1) - (1)].symbol)->re)
{
break;
case 46:
-#line 438 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 439 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 47:
-#line 442 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 443 "parser.y"
{
(yyval.regexp) = (yyvsp[(1) - (1)].regexp);
}
break;
case 48:
-#line 446 "parser.y"
+
+/* Line 1455 of yacc.c */
+#line 447 "parser.y"
{
(yyval.regexp) = (yyvsp[(2) - (3)].regexp);
}
break;
-/* Line 1267 of yacc.c. */
-#line 1936 "parser.cc"
+
+/* Line 1455 of yacc.c */
+#line 2042 "parser.cc"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
/* Do not reclaim the symbols of the rule which action triggered
}
-#line 451 "parser.y"
+
+/* Line 1675 of yacc.c */
+#line 452 "parser.y"
extern "C" {
-/* Generated by re2c 0.13.6.dev on Mon Nov 17 23:14:19 2008 */
+/* Generated by re2c 0.13.6.dev on Sun Sep 25 17:57:17 2011 */
/* $Id$ */
#include <stdlib.h>
#include <string.h>
if ((YYLIMIT - YYCURSOR) < 16) YYFILL(16);
yych = *YYCURSOR;
- if (yych <= ')') {
- if (yych <= 0x00) goto yy7;
- if (yych == '\n') goto yy5;
- goto yy9;
+ if (yych <= '%') {
+ if (yych <= '\t') {
+ if (yych <= 0x00) goto yy8;
+ goto yy10;
+ } else {
+ if (yych <= '\n') goto yy6;
+ if (yych <= '$') goto yy10;
+ }
} else {
- if (yych <= '*') goto yy4;
- if (yych != '/') goto yy9;
+ if (yych <= '*') {
+ if (yych <= ')') goto yy10;
+ goto yy5;
+ } else {
+ if (yych == '/') goto yy4;
+ goto yy10;
+ }
}
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '*') goto yy37;
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) == '{') goto yy58;
yy3:
{
goto echo;
}
yy4:
- yych = *++YYCURSOR;
- if (yych == '/') goto yy32;
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych == '*') goto yy38;
goto yy3;
yy5:
+ yych = *++YYCURSOR;
+ if (yych == '/') goto yy33;
+ goto yy3;
+yy6:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy10;
+ goto yy11;
}
- if (yych == '#') goto yy13;
-yy6:
+ if (yych == '#') goto yy14;
+yy7:
{
if (ignore_eoc)
{
cline++;
goto echo;
}
-yy7:
+yy8:
++YYCURSOR;
{
if (!ignore_eoc && !DFlag)
RETURN(Stop);
}
}
-yy9:
+yy10:
yych = *++YYCURSOR;
goto yy3;
-yy10:
+yy11:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy10;
+ goto yy11;
}
- if (yych == '#') goto yy13;
-yy12:
+ if (yych == '#') goto yy14;
+yy13:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
goto yy3;
} else {
- goto yy6;
+ goto yy7;
}
} else {
- goto yy33;
+ goto yy34;
}
-yy13:
+yy14:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy13;
- goto yy12;
+ if (yych == '\t') goto yy14;
+ goto yy13;
} else {
- if (yych <= ' ') goto yy13;
- if (yych != 'l') goto yy12;
+ if (yych <= ' ') goto yy14;
+ if (yych != 'l') goto yy13;
}
yych = *++YYCURSOR;
- if (yych != 'i') goto yy12;
+ if (yych != 'i') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'n') goto yy12;
+ if (yych != 'n') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych <= '0') goto yy20;
- if (yych <= '9') goto yy12;
- goto yy20;
-yy19:
+ if (yych <= '0') goto yy21;
+ if (yych <= '9') goto yy13;
+ goto yy21;
+yy20:
YYCTXMARKER = YYCURSOR + 1;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy20:
+yy21:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy19;
- goto yy12;
+ if (yych == '\t') goto yy20;
+ goto yy13;
} else {
- if (yych <= ' ') goto yy19;
- if (yych <= '0') goto yy12;
- if (yych >= ':') goto yy12;
+ if (yych <= ' ') goto yy20;
+ if (yych <= '0') goto yy13;
+ if (yych >= ':') goto yy13;
}
-yy21:
+yy22:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy21;
+ goto yy22;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy12;
- if (yych <= '\t') goto yy23;
- if (yych <= '\n') goto yy25;
- goto yy12;
+ if (yych <= 0x08) goto yy13;
+ if (yych <= '\t') goto yy24;
+ if (yych <= '\n') goto yy26;
+ goto yy13;
} else {
- if (yych <= '\r') goto yy27;
- if (yych != ' ') goto yy12;
+ if (yych <= '\r') goto yy28;
+ if (yych != ' ') goto yy13;
}
-yy23:
+yy24:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy23;
- goto yy12;
+ if (yych == '\t') goto yy24;
+ goto yy13;
} else {
- if (yych <= ' ') goto yy23;
- if (yych == '"') goto yy28;
- goto yy12;
+ if (yych <= ' ') goto yy24;
+ if (yych == '"') goto yy29;
+ goto yy13;
}
-yy25:
+yy26:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
set_sourceline(cursor);
goto echo;
}
-yy27:
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy25;
- goto yy12;
yy28:
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy26;
+ goto yy13;
+yy29:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy28;
+ goto yy29;
}
- if (yych <= '!') goto yy12;
- if (yych <= '"') goto yy31;
+ if (yych <= '!') goto yy13;
+ if (yych <= '"') goto yy32;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy12;
- goto yy28;
-yy31:
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy25;
- if (yych == '\r') goto yy27;
- goto yy12;
+ if (yych == '\n') goto yy13;
+ goto yy29;
yy32:
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy26;
+ if (yych == '\r') goto yy28;
+ goto yy13;
+yy33:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy35;
- if (yych == '\r') goto yy34;
-yy33:
+ if (yych == '\n') goto yy36;
+ if (yych == '\r') goto yy35;
+yy34:
{
if (ignore_eoc)
{
tok = pos = cursor;
goto echo;
}
-yy34:
- yych = *++YYCURSOR;
- if (yych != '\n') goto yy12;
yy35:
+ yych = *++YYCURSOR;
+ if (yych != '\n') goto yy13;
+yy36:
++YYCURSOR;
{
cline++;
tok = pos = cursor;
goto echo;
}
-yy37:
+yy38:
yych = *++YYCURSOR;
- if (yych != '!') goto yy12;
+ if (yych != '!') goto yy13;
yych = *++YYCURSOR;
switch (yych) {
- case 'g': goto yy41;
- case 'i': goto yy40;
- case 'm': goto yy42;
- case 'r': goto yy44;
- case 't': goto yy39;
- case 'u': goto yy43;
- default: goto yy12;
- }
-yy39:
- yych = *++YYCURSOR;
- if (yych == 'y') goto yy99;
- goto yy12;
+ case 'g': goto yy42;
+ case 'i': goto yy41;
+ case 'm': goto yy43;
+ case 'r': goto yy45;
+ case 't': goto yy40;
+ case 'u': goto yy44;
+ default: goto yy13;
+ }
yy40:
yych = *++YYCURSOR;
- if (yych == 'g') goto yy88;
- goto yy12;
+ if (yych == 'y') goto yy100;
+ goto yy13;
yy41:
yych = *++YYCURSOR;
- if (yych == 'e') goto yy75;
- goto yy12;
+ if (yych == 'g') goto yy89;
+ goto yy13;
yy42:
yych = *++YYCURSOR;
- if (yych == 'a') goto yy67;
- goto yy12;
+ if (yych == 'e') goto yy76;
+ goto yy13;
yy43:
yych = *++YYCURSOR;
- if (yych == 's') goto yy59;
- goto yy12;
+ if (yych == 'a') goto yy68;
+ goto yy13;
yy44:
yych = *++YYCURSOR;
- if (yych == 'e') goto yy45;
- if (yych == 'u') goto yy46;
- goto yy12;
+ if (yych == 's') goto yy60;
+ goto yy13;
yy45:
yych = *++YYCURSOR;
- if (yych == '2') goto yy56;
- goto yy12;
+ if (yych == 'e') goto yy46;
+ if (yych == 'u') goto yy47;
+ goto yy13;
yy46:
yych = *++YYCURSOR;
- if (yych != 'l') goto yy12;
+ if (yych == '2') goto yy57;
+ goto yy13;
+yy47:
+ yych = *++YYCURSOR;
+ if (yych != 'l') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych != 's') goto yy12;
+ if (yych != 's') goto yy13;
yych = *++YYCURSOR;
- if (yych != ':') goto yy12;
+ if (yych != ':') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'r') goto yy12;
+ if (yych != 'r') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych != '2') goto yy12;
+ if (yych != '2') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'c') goto yy12;
+ if (yych != 'c') goto yy13;
++YYCURSOR;
{
if (rFlag)
tok = cursor;
RETURN(Rules);
}
-yy56:
+yy57:
yych = *++YYCURSOR;
- if (yych != 'c') goto yy12;
+ if (yych != 'c') goto yy13;
+yy58:
++YYCURSOR;
{
if (rFlag)
tok = cursor;
RETURN(Parse);
}
-yy59:
+yy60:
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych != ':') goto yy12;
+ if (yych != ':') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'r') goto yy12;
+ if (yych != 'r') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych != '2') goto yy12;
+ if (yych != '2') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'c') goto yy12;
+ if (yych != 'c') goto yy13;
++YYCURSOR;
{
if (!rFlag)
tok = cursor;
RETURN(Reuse);
}
-yy67:
+yy68:
yych = *++YYCURSOR;
- if (yych != 'x') goto yy12;
+ if (yych != 'x') goto yy13;
yych = *++YYCURSOR;
- if (yych != ':') goto yy12;
+ if (yych != ':') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'r') goto yy12;
+ if (yych != 'r') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych != '2') goto yy12;
+ if (yych != '2') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'c') goto yy12;
+ if (yych != 'c') goto yy13;
++YYCURSOR;
{
if (bUsedYYMaxFill)
bUsedYYMaxFill = true;
goto echo;
}
-yy75:
+yy76:
yych = *++YYCURSOR;
- if (yych != 't') goto yy12;
+ if (yych != 't') goto yy13;
yych = *++YYCURSOR;
- if (yych != 's') goto yy12;
+ if (yych != 's') goto yy13;
yych = *++YYCURSOR;
- if (yych != 't') goto yy12;
+ if (yych != 't') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'a') goto yy12;
+ if (yych != 'a') goto yy13;
yych = *++YYCURSOR;
- if (yych != 't') goto yy12;
+ if (yych != 't') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych != ':') goto yy12;
+ if (yych != ':') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'r') goto yy12;
+ if (yych != 'r') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych != '2') goto yy12;
+ if (yych != '2') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'c') goto yy12;
+ if (yych != 'c') goto yy13;
++YYCURSOR;
{
tok = pos = cursor;
ignore_eoc = true;
goto echo;
}
-yy88:
+yy89:
yych = *++YYCURSOR;
- if (yych != 'n') goto yy12;
+ if (yych != 'n') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'o') goto yy12;
+ if (yych != 'o') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'r') goto yy12;
+ if (yych != 'r') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych != ':') goto yy12;
+ if (yych != ':') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'r') goto yy12;
+ if (yych != 'r') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych != '2') goto yy12;
+ if (yych != '2') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'c') goto yy12;
+ if (yych != 'c') goto yy13;
++YYCURSOR;
{
tok = pos = cursor;
ignore_eoc = true;
goto echo;
}
-yy99:
+yy100:
yych = *++YYCURSOR;
- if (yych != 'p') goto yy12;
+ if (yych != 'p') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych != 's') goto yy12;
+ if (yych != 's') goto yy13;
yych = *++YYCURSOR;
- if (yych != ':') goto yy12;
+ if (yych != ':') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'r') goto yy12;
+ if (yych != 'r') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy12;
+ if (yych != 'e') goto yy13;
yych = *++YYCURSOR;
- if (yych != '2') goto yy12;
+ if (yych != '2') goto yy13;
yych = *++YYCURSOR;
- if (yych != 'c') goto yy12;
+ if (yych != 'c') goto yy13;
++YYCURSOR;
{
if (bSinglePass)
};
if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
yych = *YYCURSOR;
- if (yych <= '/') {
+ if (yych <= '.') {
if (yych <= '"') {
if (yych <= '\f') {
- if (yych <= 0x08) goto yy138;
- if (yych <= '\t') goto yy133;
- if (yych <= '\n') goto yy135;
- goto yy138;
+ if (yych <= 0x08) goto yy140;
+ if (yych <= '\t') goto yy135;
+ if (yych <= '\n') goto yy137;
+ goto yy140;
} else {
if (yych <= 0x1F) {
- if (yych <= '\r') goto yy137;
- goto yy138;
+ if (yych <= '\r') goto yy139;
+ goto yy140;
} else {
- if (yych <= ' ') goto yy133;
- if (yych <= '!') goto yy138;
- goto yy119;
+ if (yych <= ' ') goto yy135;
+ if (yych <= '!') goto yy140;
+ goto yy121;
}
}
} else {
- if (yych <= '*') {
- if (yych <= '&') goto yy138;
- if (yych <= '\'') goto yy121;
- if (yych <= ')') goto yy126;
- goto yy117;
+ if (yych <= ')') {
+ if (yych <= '%') {
+ if (yych <= '$') goto yy140;
+ goto yy118;
+ } else {
+ if (yych <= '&') goto yy140;
+ if (yych <= '\'') goto yy123;
+ goto yy128;
+ }
} else {
- if (yych <= ',') {
- if (yych <= '+') goto yy127;
- goto yy126;
+ if (yych <= '+') {
+ if (yych <= '*') goto yy119;
+ goto yy129;
} else {
- if (yych <= '-') goto yy138;
- if (yych <= '.') goto yy131;
- goto yy115;
+ if (yych <= ',') goto yy128;
+ if (yych <= '-') goto yy140;
+ goto yy133;
}
}
}
} else {
if (yych <= '[') {
if (yych <= '<') {
- if (yych <= '9') goto yy138;
- if (yych <= ':') goto yy113;
- if (yych <= ';') goto yy126;
- goto yy125;
+ if (yych <= '9') {
+ if (yych <= '/') goto yy116;
+ goto yy140;
+ } else {
+ if (yych <= ':') goto yy114;
+ if (yych <= ';') goto yy128;
+ goto yy127;
+ }
} else {
if (yych <= '?') {
- if (yych <= '>') goto yy126;
- goto yy127;
+ if (yych <= '>') goto yy128;
+ goto yy129;
} else {
- if (yych <= '@') goto yy138;
- if (yych <= 'Z') goto yy130;
- goto yy123;
+ if (yych <= '@') goto yy140;
+ if (yych <= 'Z') goto yy132;
+ goto yy125;
}
}
} else {
if (yych <= 'q') {
if (yych <= '^') {
- if (yych <= '\\') goto yy126;
- goto yy138;
+ if (yych <= '\\') goto yy128;
+ goto yy140;
} else {
- if (yych == '`') goto yy138;
- goto yy130;
+ if (yych == '`') goto yy140;
+ goto yy132;
}
} else {
if (yych <= 'z') {
- if (yych <= 'r') goto yy129;
- goto yy130;
+ if (yych <= 'r') goto yy131;
+ goto yy132;
} else {
- if (yych <= '{') goto yy111;
- if (yych <= '|') goto yy126;
- goto yy138;
+ if (yych <= '{') goto yy112;
+ if (yych <= '|') goto yy128;
+ goto yy140;
}
}
}
}
-yy111:
+yy112:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
if (yych <= '/') {
- if (yych == ',') goto yy229;
+ if (yych == ',') goto yy233;
} else {
- if (yych <= '0') goto yy226;
- if (yych <= '9') goto yy227;
+ if (yych <= '0') goto yy230;
+ if (yych <= '9') goto yy231;
}
} else {
if (yych <= '_') {
- if (yych <= 'Z') goto yy224;
- if (yych >= '_') goto yy224;
+ if (yych <= 'Z') goto yy228;
+ if (yych >= '_') goto yy228;
} else {
- if (yych <= '`') goto yy112;
- if (yych <= 'z') goto yy224;
+ if (yych <= '`') goto yy113;
+ if (yych <= 'z') goto yy228;
}
}
-yy112:
+yy113:
{
depth = 1;
goto code;
}
-yy113:
+yy114:
YYCTXMARKER = YYCURSOR + 1;
++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy220;
-yy114:
+ if ((yych = *YYCURSOR) == '=') goto yy224;
+yy115:
{
std::ostringstream msg;
msg << "unexpected character: ";
fatal(msg.str().c_str());
goto scan;
}
-yy115:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '*') goto yy218;
yy116:
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) == '*') goto yy220;
+ if (yych == '/') goto yy222;
+yy117:
{
RETURN(*tok);
}
-yy117:
+yy118:
+ yych = *++YYCURSOR;
+ if (yych == '}') goto yy218;
+ goto yy115;
+yy119:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '/') goto yy216;
+ if ((yych = *YYCURSOR) == '/') goto yy218;
{
yylval.op = *tok;
RETURN(STAR);
}
-yy119:
+yy121:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != '\n') goto yy212;
-yy120:
+ if (yych != '\n') goto yy214;
+yy122:
{
fatal("unterminated string constant (missing \")");
}
-yy121:
+yy123:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != '\n') goto yy207;
-yy122:
+ if (yych != '\n') goto yy209;
+yy124:
{
fatal("unterminated string constant (missing ')");
}
-yy123:
+yy125:
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy124;
- if (yych == '^') goto yy198;
- goto yy197;
-yy124:
+ if (yych == '\n') goto yy126;
+ if (yych == '^') goto yy200;
+ goto yy199;
+yy126:
{
fatal("unterminated range (missing ])");
}
-yy125:
+yy127:
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '!') goto yy187;
- if (yych == '>') goto yy189;
- goto yy116;
-yy126:
+ if (yych == '!') goto yy189;
+ if (yych == '>') goto yy191;
+ goto yy117;
+yy128:
yych = *++YYCURSOR;
- goto yy116;
-yy127:
+ goto yy117;
+yy129:
++YYCURSOR;
{
yylval.op = *tok;
RETURN(CLOSE);
}
-yy129:
+yy131:
YYCTXMARKER = YYCURSOR + 1;
yych = *++YYCURSOR;
- if (yych == 'e') goto yy176;
- goto yy165;
-yy130:
+ if (yych == 'e') goto yy178;
+ goto yy167;
+yy132:
YYCTXMARKER = YYCURSOR + 1;
yych = *++YYCURSOR;
- goto yy165;
-yy131:
+ goto yy167;
+yy133:
++YYCURSOR;
{
cur = cursor;
yylval.regexp = mkDot();
return RANGE;
}
-yy133:
+yy135:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy163;
-yy134:
+ goto yy165;
+yy136:
{
goto scan;
}
-yy135:
+yy137:
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy140;
+ goto yy142;
}
- if (yych == '#') goto yy143;
-yy136:
+ if (yych == '#') goto yy145;
+yy138:
{
if (cursor == eof) RETURN(0);
pos = cursor;
cline++;
goto scan;
}
-yy137:
+yy139:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy139;
- goto yy114;
-yy138:
+ if (yych == '\n') goto yy141;
+ goto yy115;
+yy140:
yych = *++YYCURSOR;
- goto yy114;
-yy139:
+ goto yy115;
+yy141:
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy140;
+ goto yy142;
}
- if (yych == '#') goto yy143;
- goto yy136;
-yy140:
+ if (yych == '#') goto yy145;
+ goto yy138;
+yy142:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 4) {
- goto yy140;
+ goto yy142;
}
- if (yych == '#') goto yy143;
-yy142:
+ if (yych == '#') goto yy145;
+yy144:
YYCURSOR = YYMARKER;
if (yyaccept <= 3) {
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy112;
+ goto yy113;
} else {
- goto yy120;
+ goto yy122;
}
} else {
if (yyaccept == 2) {
- goto yy122;
- } else {
goto yy124;
+ } else {
+ goto yy126;
}
}
} else {
if (yyaccept <= 5) {
if (yyaccept == 4) {
- goto yy116;
+ goto yy117;
} else {
- goto yy136;
+ goto yy138;
}
} else {
if (yyaccept == 6) {
- goto yy182;
+ goto yy184;
} else {
- goto yy230;
+ goto yy234;
}
}
}
-yy143:
+yy145:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy143;
- goto yy142;
+ if (yych == '\t') goto yy145;
+ goto yy144;
} else {
- if (yych <= ' ') goto yy143;
- if (yych != 'l') goto yy142;
+ if (yych <= ' ') goto yy145;
+ if (yych != 'l') goto yy144;
}
yych = *++YYCURSOR;
- if (yych != 'i') goto yy142;
+ if (yych != 'i') goto yy144;
yych = *++YYCURSOR;
- if (yych != 'n') goto yy142;
+ if (yych != 'n') goto yy144;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy142;
+ if (yych != 'e') goto yy144;
yych = *++YYCURSOR;
- if (yych <= '0') goto yy150;
- if (yych <= '9') goto yy142;
- goto yy150;
-yy149:
+ if (yych <= '0') goto yy152;
+ if (yych <= '9') goto yy144;
+ goto yy152;
+yy151:
YYCTXMARKER = YYCURSOR + 1;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy150:
+yy152:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy149;
- goto yy142;
+ if (yych == '\t') goto yy151;
+ goto yy144;
} else {
- if (yych <= ' ') goto yy149;
- if (yych <= '0') goto yy142;
- if (yych >= ':') goto yy142;
+ if (yych <= ' ') goto yy151;
+ if (yych <= '0') goto yy144;
+ if (yych >= ':') goto yy144;
}
-yy151:
+yy153:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yybm[0+yych] & 8) {
- goto yy151;
+ goto yy153;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy142;
- if (yych <= '\t') goto yy153;
- if (yych <= '\n') goto yy155;
- goto yy142;
+ if (yych <= 0x08) goto yy144;
+ if (yych <= '\t') goto yy155;
+ if (yych <= '\n') goto yy157;
+ goto yy144;
} else {
- if (yych <= '\r') goto yy157;
- if (yych != ' ') goto yy142;
+ if (yych <= '\r') goto yy159;
+ if (yych != ' ') goto yy144;
}
-yy153:
+yy155:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy153;
- goto yy142;
+ if (yych == '\t') goto yy155;
+ goto yy144;
} else {
- if (yych <= ' ') goto yy153;
- if (yych == '"') goto yy158;
- goto yy142;
+ if (yych <= ' ') goto yy155;
+ if (yych == '"') goto yy160;
+ goto yy144;
}
-yy155:
+yy157:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
set_sourceline(cursor);
goto scan;
}
-yy157:
+yy159:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy155;
- goto yy142;
-yy158:
+ if (yych == '\n') goto yy157;
+ goto yy144;
+yy160:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy158;
+ goto yy160;
}
- if (yych <= '!') goto yy142;
- if (yych <= '"') goto yy161;
+ if (yych <= '!') goto yy144;
+ if (yych <= '"') goto yy163;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy142;
- goto yy158;
-yy161:
+ if (yych == '\n') goto yy144;
+ goto yy160;
+yy163:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy155;
- if (yych == '\r') goto yy157;
- goto yy142;
-yy162:
+ if (yych == '\n') goto yy157;
+ if (yych == '\r') goto yy159;
+ goto yy144;
+yy164:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy163:
- if (yych == '\t') goto yy162;
- if (yych == ' ') goto yy162;
- goto yy134;
-yy164:
+yy165:
+ if (yych == '\t') goto yy164;
+ if (yych == ' ') goto yy164;
+ goto yy136;
+yy166:
YYCTXMARKER = YYCURSOR + 1;
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy165:
+yy167:
if (yybm[0+yych] & 32) {
- goto yy164;
+ goto yy166;
}
if (yych <= ' ') {
- if (yych == '\t') goto yy168;
- if (yych <= 0x1F) goto yy167;
- goto yy168;
+ if (yych == '\t') goto yy170;
+ if (yych <= 0x1F) goto yy169;
+ goto yy170;
} else {
if (yych <= ',') {
- if (yych <= '+') goto yy167;
- goto yy169;
+ if (yych <= '+') goto yy169;
+ goto yy171;
} else {
- if (yych <= '<') goto yy167;
- if (yych <= '>') goto yy169;
- goto yy167;
+ if (yych <= '<') goto yy169;
+ if (yych <= '>') goto yy171;
+ goto yy169;
}
}
-yy166:
+yy168:
YYCURSOR = YYCTXMARKER;
{
if (!FFlag) {
return STRING;
}
}
-yy167:
+yy169:
yych = *++YYCURSOR;
- goto yy166;
-yy168:
+ goto yy168;
+yy170:
yych = *++YYCURSOR;
- goto yy174;
-yy169:
+ goto yy176;
+yy171:
++YYCURSOR;
-yy170:
+yy172:
YYCURSOR = YYCTXMARKER;
{
cur = ptr > tok ? ptr - 1 : cursor;
yylval.symbol = Symbol::find(token());
return ID;
}
-yy171:
+yy173:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
yylval.symbol = Symbol::find(token());
return FFlag ? FID : ID;
}
-yy173:
+yy175:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy174:
+yy176:
if (yych <= ' ') {
- if (yych == '\t') goto yy173;
- if (yych <= 0x1F) goto yy171;
- goto yy173;
+ if (yych == '\t') goto yy175;
+ if (yych <= 0x1F) goto yy173;
+ goto yy175;
} else {
if (yych <= ',') {
- if (yych <= '+') goto yy171;
+ if (yych <= '+') goto yy173;
} else {
- if (yych <= '<') goto yy171;
- if (yych >= '?') goto yy171;
+ if (yych <= '<') goto yy173;
+ if (yych >= '?') goto yy173;
}
}
yych = *++YYCURSOR;
- goto yy170;
-yy176:
+ goto yy172;
+yy178:
YYCTXMARKER = YYCURSOR + 1;
yych = *++YYCURSOR;
- if (yych != '2') goto yy165;
+ if (yych != '2') goto yy167;
YYCTXMARKER = YYCURSOR + 1;
yych = *++YYCURSOR;
- if (yych != 'c') goto yy165;
+ if (yych != 'c') goto yy167;
YYCTXMARKER = YYCURSOR + 1;
yych = *++YYCURSOR;
- if (yych != ':') goto yy165;
+ if (yych != ':') goto yy167;
yych = *++YYCURSOR;
if (yych <= '^') {
- if (yych <= '@') goto yy166;
- if (yych >= '[') goto yy166;
+ if (yych <= '@') goto yy168;
+ if (yych >= '[') goto yy168;
} else {
- if (yych == '`') goto yy166;
- if (yych >= '{') goto yy166;
+ if (yych == '`') goto yy168;
+ if (yych >= '{') goto yy168;
}
-yy180:
+yy182:
yyaccept = 6;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '@') {
if (yych <= '9') {
- if (yych >= '0') goto yy180;
+ if (yych >= '0') goto yy182;
} else {
- if (yych <= ':') goto yy184;
- if (yych >= '@') goto yy183;
+ if (yych <= ':') goto yy186;
+ if (yych >= '@') goto yy185;
}
} else {
if (yych <= '_') {
- if (yych <= 'Z') goto yy180;
- if (yych >= '_') goto yy180;
+ if (yych <= 'Z') goto yy182;
+ if (yych >= '_') goto yy182;
} else {
- if (yych <= '`') goto yy182;
- if (yych <= 'z') goto yy180;
+ if (yych <= '`') goto yy184;
+ if (yych <= 'z') goto yy182;
}
}
-yy182:
+yy184:
{
cur = cursor;
tok += 5; /* skip "re2c:" */
yylval.str = new Str(token());
return CONFIG;
}
-yy183:
+yy185:
yych = *++YYCURSOR;
if (yych <= '^') {
- if (yych <= '@') goto yy142;
- if (yych <= 'Z') goto yy185;
- goto yy142;
+ if (yych <= '@') goto yy144;
+ if (yych <= 'Z') goto yy187;
+ goto yy144;
} else {
- if (yych == '`') goto yy142;
- if (yych <= 'z') goto yy185;
- goto yy142;
+ if (yych == '`') goto yy144;
+ if (yych <= 'z') goto yy187;
+ goto yy144;
}
-yy184:
+yy186:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '^') {
- if (yych <= '@') goto yy142;
- if (yych <= 'Z') goto yy180;
- goto yy142;
+ if (yych <= '@') goto yy144;
+ if (yych <= 'Z') goto yy182;
+ goto yy144;
} else {
- if (yych == '`') goto yy142;
- if (yych <= 'z') goto yy180;
- goto yy142;
+ if (yych == '`') goto yy144;
+ if (yych <= 'z') goto yy182;
+ goto yy144;
}
-yy185:
+yy187:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 'Z') {
- if (yych <= '/') goto yy182;
- if (yych <= '9') goto yy185;
- if (yych <= '@') goto yy182;
- goto yy185;
+ if (yych <= '/') goto yy184;
+ if (yych <= '9') goto yy187;
+ if (yych <= '@') goto yy184;
+ goto yy187;
} else {
if (yych <= '_') {
- if (yych <= '^') goto yy182;
- goto yy185;
+ if (yych <= '^') goto yy184;
+ goto yy187;
} else {
- if (yych <= '`') goto yy182;
- if (yych <= 'z') goto yy185;
- goto yy182;
+ if (yych <= '`') goto yy184;
+ if (yych <= 'z') goto yy187;
+ goto yy184;
}
}
-yy187:
+yy189:
++YYCURSOR;
{
RETURN(SETUP);
}
-yy189:
+yy191:
YYCTXMARKER = YYCURSOR + 1;
yych = *++YYCURSOR;
- goto yy191;
-yy190:
+ goto yy193;
+yy192:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy191:
+yy193:
if (yych <= '9') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy142;
- goto yy190;
+ if (yych <= 0x08) goto yy144;
+ goto yy192;
} else {
- if (yych == ' ') goto yy190;
- goto yy142;
+ if (yych == ' ') goto yy192;
+ goto yy144;
}
} else {
if (yych <= '=') {
- if (yych <= ':') goto yy195;
- if (yych <= '<') goto yy142;
- goto yy194;
+ if (yych <= ':') goto yy197;
+ if (yych <= '<') goto yy144;
+ goto yy196;
} else {
- if (yych != '{') goto yy142;
+ if (yych != '{') goto yy144;
}
}
-yy192:
+yy194:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
RETURN(NOCOND);
}
-yy194:
+yy196:
yych = *++YYCURSOR;
- if (yych == '>') goto yy192;
- goto yy142;
-yy195:
+ if (yych == '>') goto yy194;
+ goto yy144;
+yy197:
yych = *++YYCURSOR;
- if (yych == '=') goto yy192;
- goto yy142;
-yy196:
+ if (yych == '=') goto yy194;
+ goto yy144;
+yy198:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy197:
+yy199:
if (yybm[0+yych] & 64) {
- goto yy196;
+ goto yy198;
}
- if (yych <= '[') goto yy142;
- if (yych <= '\\') goto yy200;
- goto yy201;
-yy198:
+ if (yych <= '[') goto yy144;
+ if (yych <= '\\') goto yy202;
+ goto yy203;
+yy200:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '[') {
- if (yych == '\n') goto yy142;
- goto yy198;
+ if (yych == '\n') goto yy144;
+ goto yy200;
} else {
- if (yych <= '\\') goto yy203;
- if (yych <= ']') goto yy204;
- goto yy198;
+ if (yych <= '\\') goto yy205;
+ if (yych <= ']') goto yy206;
+ goto yy200;
}
-yy200:
+yy202:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy142;
- goto yy196;
-yy201:
+ if (yych == '\n') goto yy144;
+ goto yy198;
+yy203:
++YYCURSOR;
{
cur = cursor;
yylval.regexp = ranToRE(token());
return RANGE;
}
-yy203:
+yy205:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy142;
- goto yy198;
-yy204:
+ if (yych == '\n') goto yy144;
+ goto yy200;
+yy206:
++YYCURSOR;
{
cur = cursor;
yylval.regexp = invToRE(token());
return RANGE;
}
-yy206:
+yy208:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy207:
+yy209:
if (yybm[0+yych] & 128) {
- goto yy206;
+ goto yy208;
}
- if (yych <= '&') goto yy142;
- if (yych <= '\'') goto yy209;
+ if (yych <= '&') goto yy144;
+ if (yych <= '\'') goto yy211;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy142;
- goto yy206;
-yy209:
+ if (yych == '\n') goto yy144;
+ goto yy208;
+yy211:
++YYCURSOR;
{
cur = cursor;
}
return STRING;
}
-yy211:
+yy213:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy212:
+yy214:
if (yych <= '!') {
- if (yych == '\n') goto yy142;
- goto yy211;
+ if (yych == '\n') goto yy144;
+ goto yy213;
} else {
- if (yych <= '"') goto yy214;
- if (yych != '\\') goto yy211;
+ if (yych <= '"') goto yy216;
+ if (yych != '\\') goto yy213;
}
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy142;
- goto yy211;
-yy214:
+ if (yych == '\n') goto yy144;
+ goto yy213;
+yy216:
++YYCURSOR;
{
cur = cursor;
}
return STRING;
}
-yy216:
+yy218:
++YYCURSOR;
{
tok = cursor;
RETURN(0);
}
-yy218:
+yy220:
++YYCURSOR;
{
depth = 1;
goto comment;
}
-yy220:
+yy222:
+ ++YYCURSOR;
+ {
+ goto nextLine;
+ }
+yy224:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '>') goto yy222;
+ if ((yych = *YYCURSOR) == '>') goto yy226;
{
cur = cursor;
tok += 2; /* skip ":=" */
depth = 0;
goto code;
}
-yy222:
+yy226:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
RETURN(*tok);
}
-yy224:
+yy228:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '^') {
if (yych <= '9') {
- if (yych <= '/') goto yy142;
- goto yy224;
+ if (yych <= '/') goto yy144;
+ goto yy228;
} else {
- if (yych <= '@') goto yy142;
- if (yych <= 'Z') goto yy224;
- goto yy142;
+ if (yych <= '@') goto yy144;
+ if (yych <= 'Z') goto yy228;
+ goto yy144;
}
} else {
if (yych <= 'z') {
- if (yych == '`') goto yy142;
- goto yy224;
+ if (yych == '`') goto yy144;
+ goto yy228;
} else {
- if (yych == '}') goto yy243;
- goto yy142;
+ if (yych == '}') goto yy247;
+ goto yy144;
}
}
-yy226:
+yy230:
yych = *++YYCURSOR;
- if (yych == ',') goto yy240;
- goto yy228;
-yy227:
+ if (yych == ',') goto yy244;
+ goto yy232;
+yy231:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy228:
+yy232:
if (yych <= '/') {
- if (yych == ',') goto yy233;
- goto yy142;
+ if (yych == ',') goto yy237;
+ goto yy144;
} else {
- if (yych <= '9') goto yy227;
- if (yych == '}') goto yy231;
- goto yy142;
+ if (yych <= '9') goto yy231;
+ if (yych == '}') goto yy235;
+ goto yy144;
}
-yy229:
+yy233:
++YYCURSOR;
-yy230:
+yy234:
{
fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
}
-yy231:
+yy235:
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE);
}
-yy233:
+yy237:
yyaccept = 7;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy230;
- if (yych <= '9') goto yy236;
- if (yych != '}') goto yy230;
+ if (yych <= '/') goto yy234;
+ if (yych <= '9') goto yy240;
+ if (yych != '}') goto yy234;
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE);
}
-yy236:
+yy240:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '/') goto yy142;
- if (yych <= '9') goto yy236;
- if (yych != '}') goto yy142;
+ if (yych <= '/') goto yy144;
+ if (yych <= '9') goto yy240;
+ if (yych != '}') goto yy144;
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE);
}
-yy240:
+yy244:
yyaccept = 7;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy230;
- if (yych <= '9') goto yy236;
- if (yych != '}') goto yy230;
+ if (yych <= '/') goto yy234;
+ if (yych <= '9') goto yy240;
+ if (yych != '}') goto yy234;
++YYCURSOR;
{
yylval.op = '*';
RETURN(CLOSE);
}
-yy243:
+yy247:
++YYCURSOR;
{
if (!FFlag) {
yych = *YYCURSOR;
if (yych <= '&') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy253;
- if (yych <= '\t') goto yy255;
- goto yy251;
- } else {
- if (yych == '"') goto yy257;
+ if (yych <= 0x00) goto yy257;
+ if (yych <= '\t') goto yy259;
goto yy255;
+ } else {
+ if (yych == '"') goto yy261;
+ goto yy259;
}
} else {
if (yych <= '{') {
- if (yych <= '\'') goto yy258;
- if (yych <= 'z') goto yy255;
- goto yy249;
+ if (yych <= '\'') goto yy262;
+ if (yych <= 'z') goto yy259;
+ goto yy253;
} else {
- if (yych != '}') goto yy255;
+ if (yych != '}') goto yy259;
}
}
++YYCURSOR;
}
goto code;
}
-yy249:
+yy253:
++YYCURSOR;
{
if (depth == 0)
}
goto code;
}
-yy251:
+yy255:
YYCTXMARKER = YYCURSOR + 1;
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych >= '\t') goto yy266;
+ if (yych >= '\t') goto yy270;
} else {
- if (yych <= '\n') goto yy268;
- if (yych >= '\r') goto yy268;
+ if (yych <= '\n') goto yy272;
+ if (yych >= '\r') goto yy272;
}
} else {
if (yych <= ' ') {
- if (yych >= ' ') goto yy266;
+ if (yych >= ' ') goto yy270;
} else {
- if (yych == '#') goto yy269;
+ if (yych == '#') goto yy273;
}
}
-yy252:
+yy256:
{
if (depth == 0)
{
cline++;
goto code;
}
-yy253:
+yy257:
++YYCURSOR;
{
if (cursor == eof)
}
goto code;
}
-yy255:
+yy259:
++YYCURSOR;
-yy256:
+yy260:
{
goto code;
}
-yy257:
+yy261:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy256;
- goto yy264;
-yy258:
+ if (yych == '\n') goto yy260;
+ goto yy268;
+yy262:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy256;
- goto yy260;
-yy259:
+ if (yych == '\n') goto yy260;
+ goto yy264;
+yy263:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy260:
+yy264:
if (yybm[0+yych] & 16) {
- goto yy259;
+ goto yy263;
}
- if (yych <= '&') goto yy261;
- if (yych <= '\'') goto yy255;
- goto yy262;
-yy261:
+ if (yych <= '&') goto yy265;
+ if (yych <= '\'') goto yy259;
+ goto yy266;
+yy265:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy252;
- } else {
goto yy256;
+ } else {
+ goto yy260;
}
} else {
- goto yy267;
+ goto yy271;
}
-yy262:
+yy266:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy261;
- goto yy259;
-yy263:
+ if (yych == '\n') goto yy265;
+ goto yy263;
+yy267:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy264:
+yy268:
if (yybm[0+yych] & 32) {
- goto yy263;
+ goto yy267;
}
- if (yych <= '!') goto yy261;
- if (yych <= '"') goto yy255;
+ if (yych <= '!') goto yy265;
+ if (yych <= '"') goto yy259;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy261;
- goto yy263;
-yy266:
+ if (yych == '\n') goto yy265;
+ goto yy267;
+yy270:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy288;
+ if (yych == '\t') goto yy292;
} else {
- if (yych <= ' ') goto yy288;
- if (yych == '#') goto yy269;
+ if (yych <= ' ') goto yy292;
+ if (yych == '#') goto yy273;
}
-yy267:
+yy271:
YYCURSOR = YYCTXMARKER;
{
if (depth == 0)
cline++;
goto code;
}
-yy268:
+yy272:
yych = *++YYCURSOR;
- goto yy267;
-yy269:
+ goto yy271;
+yy273:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy269;
+ goto yy273;
}
- if (yych != 'l') goto yy261;
+ if (yych != 'l') goto yy265;
yych = *++YYCURSOR;
- if (yych != 'i') goto yy261;
+ if (yych != 'i') goto yy265;
yych = *++YYCURSOR;
- if (yych != 'n') goto yy261;
+ if (yych != 'n') goto yy265;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy261;
+ if (yych != 'e') goto yy265;
yych = *++YYCURSOR;
- if (yych <= '0') goto yy276;
- if (yych <= '9') goto yy261;
- goto yy276;
-yy275:
+ if (yych <= '0') goto yy280;
+ if (yych <= '9') goto yy265;
+ goto yy280;
+yy279:
YYCTXMARKER = YYCURSOR + 1;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy276:
+yy280:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy275;
- goto yy261;
+ if (yych == '\t') goto yy279;
+ goto yy265;
} else {
- if (yych <= ' ') goto yy275;
- if (yych <= '0') goto yy261;
- if (yych >= ':') goto yy261;
+ if (yych <= ' ') goto yy279;
+ if (yych <= '0') goto yy265;
+ if (yych >= ':') goto yy265;
}
-yy277:
+yy281:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy277;
+ goto yy281;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy261;
- if (yych <= '\t') goto yy279;
- if (yych <= '\n') goto yy281;
- goto yy261;
+ if (yych <= 0x08) goto yy265;
+ if (yych <= '\t') goto yy283;
+ if (yych <= '\n') goto yy285;
+ goto yy265;
} else {
- if (yych <= '\r') goto yy283;
- if (yych != ' ') goto yy261;
+ if (yych <= '\r') goto yy287;
+ if (yych != ' ') goto yy265;
}
-yy279:
+yy283:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy279;
- goto yy261;
+ if (yych == '\t') goto yy283;
+ goto yy265;
} else {
- if (yych <= ' ') goto yy279;
- if (yych == '"') goto yy284;
- goto yy261;
+ if (yych <= ' ') goto yy283;
+ if (yych == '"') goto yy288;
+ goto yy265;
}
-yy281:
+yy285:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
set_sourceline(cursor);
goto code;
}
-yy283:
+yy287:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy281;
- goto yy261;
-yy284:
+ if (yych == '\n') goto yy285;
+ goto yy265;
+yy288:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy261;
- goto yy284;
+ if (yych == '\n') goto yy265;
+ goto yy288;
} else {
- if (yych <= '"') goto yy287;
- if (yych != '\\') goto yy284;
+ if (yych <= '"') goto yy291;
+ if (yych != '\\') goto yy288;
}
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy261;
- goto yy284;
-yy287:
+ if (yych == '\n') goto yy265;
+ goto yy288;
+yy291:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy281;
- if (yych == '\r') goto yy283;
- goto yy261;
-yy288:
+ if (yych == '\n') goto yy285;
+ if (yych == '\r') goto yy287;
+ goto yy265;
+yy292:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy288;
- goto yy261;
+ if (yych == '\t') goto yy292;
+ goto yy265;
} else {
- if (yych <= ' ') goto yy288;
- if (yych == '#') goto yy269;
- goto yy261;
+ if (yych <= ' ') goto yy292;
+ if (yych == '#') goto yy273;
+ goto yy265;
}
}
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= ')') {
- if (yych == '\n') goto yy295;
- goto yy297;
+ if (yych == '\n') goto yy299;
+ goto yy301;
} else {
- if (yych <= '*') goto yy292;
- if (yych == '/') goto yy294;
- goto yy297;
+ if (yych <= '*') goto yy296;
+ if (yych == '/') goto yy298;
+ goto yy301;
}
-yy292:
+yy296:
++YYCURSOR;
- if ((yych = *YYCURSOR) == '/') goto yy322;
-yy293:
+ if ((yych = *YYCURSOR) == '/') goto yy326;
+yy297:
{
if (cursor == eof)
{
}
goto comment;
}
-yy294:
+yy298:
yych = *++YYCURSOR;
- if (yych == '*') goto yy320;
- goto yy293;
-yy295:
+ if (yych == '*') goto yy324;
+ goto yy297;
+yy299:
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy298;
+ goto yy302;
}
- if (yych == '#') goto yy301;
-yy296:
+ if (yych == '#') goto yy305;
+yy300:
{
if (cursor == eof)
{
cline++;
goto comment;
}
-yy297:
+yy301:
yych = *++YYCURSOR;
- goto yy293;
-yy298:
+ goto yy297;
+yy302:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy298;
+ goto yy302;
}
- if (yych == '#') goto yy301;
-yy300:
+ if (yych == '#') goto yy305;
+yy304:
YYCURSOR = YYMARKER;
- goto yy296;
-yy301:
+ goto yy300;
+yy305:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy301;
- goto yy300;
+ if (yych == '\t') goto yy305;
+ goto yy304;
} else {
- if (yych <= ' ') goto yy301;
- if (yych != 'l') goto yy300;
+ if (yych <= ' ') goto yy305;
+ if (yych != 'l') goto yy304;
}
yych = *++YYCURSOR;
- if (yych != 'i') goto yy300;
+ if (yych != 'i') goto yy304;
yych = *++YYCURSOR;
- if (yych != 'n') goto yy300;
+ if (yych != 'n') goto yy304;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy300;
+ if (yych != 'e') goto yy304;
yych = *++YYCURSOR;
- if (yych <= '0') goto yy308;
- if (yych <= '9') goto yy300;
- goto yy308;
-yy307:
+ if (yych <= '0') goto yy312;
+ if (yych <= '9') goto yy304;
+ goto yy312;
+yy311:
YYCTXMARKER = YYCURSOR + 1;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy308:
+yy312:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy307;
- goto yy300;
+ if (yych == '\t') goto yy311;
+ goto yy304;
} else {
- if (yych <= ' ') goto yy307;
- if (yych <= '0') goto yy300;
- if (yych >= ':') goto yy300;
+ if (yych <= ' ') goto yy311;
+ if (yych <= '0') goto yy304;
+ if (yych >= ':') goto yy304;
}
-yy309:
+yy313:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy309;
+ goto yy313;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy300;
- if (yych <= '\t') goto yy311;
- if (yych <= '\n') goto yy313;
- goto yy300;
+ if (yych <= 0x08) goto yy304;
+ if (yych <= '\t') goto yy315;
+ if (yych <= '\n') goto yy317;
+ goto yy304;
} else {
- if (yych <= '\r') goto yy315;
- if (yych != ' ') goto yy300;
+ if (yych <= '\r') goto yy319;
+ if (yych != ' ') goto yy304;
}
-yy311:
+yy315:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy311;
- goto yy300;
+ if (yych == '\t') goto yy315;
+ goto yy304;
} else {
- if (yych <= ' ') goto yy311;
- if (yych == '"') goto yy316;
- goto yy300;
+ if (yych <= ' ') goto yy315;
+ if (yych == '"') goto yy320;
+ goto yy304;
}
-yy313:
+yy317:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
set_sourceline(cursor);
goto comment;
}
-yy315:
+yy319:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy313;
- goto yy300;
-yy316:
+ if (yych == '\n') goto yy317;
+ goto yy304;
+yy320:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy316;
+ goto yy320;
}
- if (yych <= '!') goto yy300;
- if (yych <= '"') goto yy319;
+ if (yych <= '!') goto yy304;
+ if (yych <= '"') goto yy323;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy300;
- goto yy316;
-yy319:
+ if (yych == '\n') goto yy304;
+ goto yy320;
+yy323:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy313;
- if (yych == '\r') goto yy315;
- goto yy300;
-yy320:
+ if (yych == '\n') goto yy317;
+ if (yych == '\r') goto yy319;
+ goto yy304;
+yy324:
++YYCURSOR;
{
++depth;
fatal("ambiguous /* found");
goto comment;
}
-yy322:
+yy326:
++YYCURSOR;
{
if (--depth == 0)
}
+nextLine:
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych != '\n') goto yy332;
+ ++YYCURSOR;
+ { if(cursor == eof) {
+ RETURN(0);
+ }
+ tok = pos = cursor;
+ cline++;
+ goto scan;
+ }
+yy332:
+ ++YYCURSOR;
+ { if(cursor == eof) {
+ RETURN(0);
+ }
+ goto nextLine;
+ }
+}
+
+
config:
{
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych != '\t') goto yy330;
+ if (yych != '\t') goto yy340;
} else {
- if (yych <= ' ') goto yy326;
- if (yych == '=') goto yy328;
- goto yy330;
+ if (yych <= ' ') goto yy336;
+ if (yych == '=') goto yy338;
+ goto yy340;
}
-yy326:
+yy336:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy335;
-yy327:
+ goto yy345;
+yy337:
{
goto config;
}
-yy328:
+yy338:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy333;
-yy329:
+ goto yy343;
+yy339:
{
iscfg = 2;
cur = cursor;
RETURN('=');
}
-yy330:
+yy340:
++YYCURSOR;
{
fatal("missing '='");
}
-yy332:
+yy342:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy333:
+yy343:
if (yybm[0+yych] & 128) {
- goto yy332;
+ goto yy342;
}
- goto yy329;
-yy334:
+ goto yy339;
+yy344:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy335:
- if (yych == '\t') goto yy334;
- if (yych == ' ') goto yy334;
- goto yy327;
+yy345:
+ if (yych == '\t') goto yy344;
+ if (yych == ' ') goto yy344;
+ goto yy337;
}
yych = *YYCURSOR;
if (yych <= '&') {
if (yych <= '\r') {
- if (yych <= 0x08) goto yy344;
- if (yych <= '\n') goto yy338;
- if (yych <= '\f') goto yy344;
+ if (yych <= 0x08) goto yy354;
+ if (yych <= '\n') goto yy348;
+ if (yych <= '\f') goto yy354;
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy344;
+ if (yych <= 0x1F) goto yy354;
} else {
- if (yych == '"') goto yy346;
- goto yy344;
+ if (yych == '"') goto yy356;
+ goto yy354;
}
}
} else {
if (yych <= '/') {
- if (yych <= '\'') goto yy348;
- if (yych == '-') goto yy341;
- goto yy344;
+ if (yych <= '\'') goto yy358;
+ if (yych == '-') goto yy351;
+ goto yy354;
} else {
if (yych <= '9') {
- if (yych <= '0') goto yy339;
- goto yy342;
+ if (yych <= '0') goto yy349;
+ goto yy352;
} else {
- if (yych != ';') goto yy344;
+ if (yych != ';') goto yy354;
}
}
}
-yy338:
+yy348:
{
cur = cursor;
yylval.str = new Str(token());
iscfg = 0;
return VALUE;
}
-yy339:
+yy349:
++YYCURSOR;
if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy344;
+ goto yy354;
}
-yy340:
+yy350:
{
cur = cursor;
yylval.number = atoi(token().to_string().c_str());
iscfg = 0;
return NUMBER;
}
-yy341:
+yy351:
yych = *++YYCURSOR;
- if (yych <= '0') goto yy345;
- if (yych >= ':') goto yy345;
-yy342:
+ if (yych <= '0') goto yy355;
+ if (yych >= ':') goto yy355;
+yy352:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 4) {
- goto yy342;
+ goto yy352;
}
if (yych <= '\r') {
- if (yych <= 0x08) goto yy344;
- if (yych <= '\n') goto yy340;
- if (yych >= '\r') goto yy340;
+ if (yych <= 0x08) goto yy354;
+ if (yych <= '\n') goto yy350;
+ if (yych >= '\r') goto yy350;
} else {
if (yych <= ' ') {
- if (yych >= ' ') goto yy340;
+ if (yych >= ' ') goto yy350;
} else {
- if (yych == ';') goto yy340;
+ if (yych == ';') goto yy350;
}
}
-yy344:
+yy354:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy345:
+yy355:
if (yybm[0+yych] & 8) {
- goto yy344;
+ goto yy354;
}
- goto yy338;
-yy346:
+ goto yy348;
+yy356:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy346;
+ goto yy356;
}
if (yych <= '!') {
- if (yych == '\n') goto yy338;
- goto yy356;
+ if (yych == '\n') goto yy348;
+ goto yy366;
} else {
- if (yych <= '"') goto yy344;
- if (yych <= '[') goto yy356;
- goto yy358;
+ if (yych <= '"') goto yy354;
+ if (yych <= '[') goto yy366;
+ goto yy368;
}
-yy348:
+yy358:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy348;
+ goto yy358;
}
if (yych <= '&') {
- if (yych == '\n') goto yy338;
+ if (yych == '\n') goto yy348;
} else {
- if (yych <= '\'') goto yy344;
- if (yych >= '\\') goto yy353;
+ if (yych <= '\'') goto yy354;
+ if (yych >= '\\') goto yy363;
}
-yy350:
+yy360:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy350;
+ goto yy360;
}
- if (yych <= '&') goto yy352;
- if (yych <= '\'') goto yy354;
- goto yy355;
-yy352:
+ if (yych <= '&') goto yy362;
+ if (yych <= '\'') goto yy364;
+ goto yy365;
+yy362:
YYCURSOR = YYMARKER;
- goto yy338;
-yy353:
+ goto yy348;
+yy363:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy348;
- goto yy350;
+ if (yych <= 0x08) goto yy358;
+ goto yy360;
} else {
- if (yych <= '\n') goto yy338;
- if (yych <= '\f') goto yy348;
- goto yy350;
+ if (yych <= '\n') goto yy348;
+ if (yych <= '\f') goto yy358;
+ goto yy360;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy348;
- goto yy350;
+ if (yych <= 0x1F) goto yy358;
+ goto yy360;
} else {
- if (yych == ';') goto yy350;
- goto yy348;
+ if (yych == ';') goto yy360;
+ goto yy358;
}
}
-yy354:
+yy364:
yych = *++YYCURSOR;
- goto yy338;
-yy355:
+ goto yy348;
+yy365:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy352;
- goto yy350;
-yy356:
+ if (yych == '\n') goto yy362;
+ goto yy360;
+yy366:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy356;
+ goto yy366;
}
- if (yych <= '!') goto yy352;
- if (yych <= '"') goto yy354;
- goto yy359;
-yy358:
+ if (yych <= '!') goto yy362;
+ if (yych <= '"') goto yy364;
+ goto yy369;
+yy368:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy346;
- goto yy356;
+ if (yych <= 0x08) goto yy356;
+ goto yy366;
} else {
- if (yych <= '\n') goto yy338;
- if (yych <= '\f') goto yy346;
- goto yy356;
+ if (yych <= '\n') goto yy348;
+ if (yych <= '\f') goto yy356;
+ goto yy366;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy346;
- goto yy356;
+ if (yych <= 0x1F) goto yy356;
+ goto yy366;
} else {
- if (yych == ';') goto yy356;
- goto yy346;
+ if (yych == ';') goto yy366;
+ goto yy356;
}
}
-yy359:
+yy369:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy352;
- goto yy356;
+ if (yych == '\n') goto yy362;
+ goto yy366;
}
}
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy366;
- goto yy368;
+ if (yych == '\n') goto yy376;
+ goto yy378;
} else {
- if (yych <= '"') goto yy364;
- if (yych <= '0') goto yy368;
- if (yych >= ':') goto yy368;
+ if (yych <= '"') goto yy374;
+ if (yych <= '0') goto yy378;
+ if (yych >= ':') goto yy378;
}
++YYCURSOR;
yych = *YYCURSOR;
- goto yy376;
-yy363:
+ goto yy386;
+yy373:
{
cur = cursor;
cline = atoi(token().to_string().c_str());
goto sourceline;
}
-yy364:
+yy374:
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != '\n') goto yy370;
-yy365:
+ if (yych != '\n') goto yy380;
+yy375:
{
goto sourceline;
}
-yy366:
+yy376:
++YYCURSOR;
{
if (cursor == eof)
tok = cursor;
return;
}
-yy368:
+yy378:
yych = *++YYCURSOR;
- goto yy365;
-yy369:
+ goto yy375;
+yy379:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy370:
+yy380:
if (yybm[0+yych] & 64) {
- goto yy369;
+ goto yy379;
}
- if (yych <= '!') goto yy371;
- if (yych <= '"') goto yy373;
- goto yy372;
-yy371:
+ if (yych <= '!') goto yy381;
+ if (yych <= '"') goto yy383;
+ goto yy382;
+yy381:
YYCURSOR = YYMARKER;
- goto yy365;
-yy372:
+ goto yy375;
+yy382:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy371;
- goto yy369;
-yy373:
+ if (yych == '\n') goto yy381;
+ goto yy379;
+yy383:
++YYCURSOR;
{
cur = cursor;
sourceFileInfo.set_fname(token(1, cur - tok - 2).to_string());
goto sourceline;
}
-yy375:
+yy385:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy376:
+yy386:
if (yybm[0+yych] & 128) {
- goto yy375;
+ goto yy385;
}
- goto yy363;
+ goto yy373;
}
}