aboutsummaryrefslogtreecommitdiffstats
path: root/command.c
diff options
context:
space:
mode:
Diffstat (limited to 'command.c')
-rw-r--r--command.c620
1 files changed, 317 insertions, 303 deletions
diff --git a/command.c b/command.c
index c8ee1632..6c81d3ab 100644
--- a/command.c
+++ b/command.c
@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.2.1. */
+/* A Bison parser, made by GNU Bison 3.3. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+ Inc.
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
@@ -47,7 +48,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.2.1"
+#define YYBISON_VERSION "3.3"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -73,7 +74,7 @@
#define yychar zzchar
/* First part of user prologue. */
-#line 28 "command.y" /* yacc.c:338 */
+#line 28 "command.y" /* yacc.c:337 */
#include "awk.h"
#include "cmd.h"
@@ -140,7 +141,7 @@ static void append_cmdarg(CMDARG *arg);
static int find_argument(CMDARG *arg);
#define YYSTYPE CMDARG *
-#line 144 "command.c" /* yacc.c:338 */
+#line 145 "command.c" /* yacc.c:337 */
# ifndef YY_NULLPTR
# if defined __cplusplus
# if 201103L <= __cplusplus
@@ -529,16 +530,16 @@ union yyalloc
/* YYNSTATES -- Number of states. */
#define YYNSTATES 203
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
- by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 303
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, with out-of-bounds checking. */
#define YYTRANSLATE(YYX) \
((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, without out-of-bounds checking. */
+ as returned by yylex. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -861,22 +862,22 @@ static const yytype_uint8 yyr2[] =
#define YYRECOVERING() (!!yyerrstatus)
-#define YYBACKUP(Token, Value) \
-do \
- if (yychar == YYEMPTY) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- YYPOPSTACK (yylen); \
- yystate = *yyssp; \
- goto yybackup; \
- } \
- else \
- { \
- yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (0)
+#define YYBACKUP(Token, Value) \
+ do \
+ if (yychar == YYEMPTY) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ YYPOPSTACK (yylen); \
+ yystate = *yyssp; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+ while (0)
/* Error token number */
#define YYTERROR 1
@@ -991,7 +992,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr,
yystos[yyssp[yyi + 1 - yynrhs]],
- &(yyvsp[(yyi + 1) - (yynrhs)])
+ &yyvsp[(yyi + 1) - (yynrhs)]
);
YYFPRINTF (stderr, "\n");
}
@@ -1095,7 +1096,10 @@ yytnamerr (char *yyres, const char *yystr)
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
- /* Fall through. */
+ else
+ goto append;
+
+ append:
default:
if (yyres)
yyres[yyn] = *yyp;
@@ -1191,10 +1195,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yyarg[yycount++] = yytname[yyx];
{
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+ yysize = yysize1;
+ else
return 2;
- yysize = yysize1;
}
}
}
@@ -1218,9 +1222,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
{
YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+ yysize = yysize1;
+ else
return 2;
- yysize = yysize1;
}
if (*yymsg_alloc < yysize)
@@ -1346,23 +1351,31 @@ yyparse (void)
yychar = YYEMPTY; /* Cause a token to be read. */
goto yysetstate;
+
/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
+| yynewstate -- push a new state, which is found in yystate. |
`------------------------------------------------------------*/
- yynewstate:
+yynewstate:
/* In all cases, when you get here, the value and location stacks
have just been pushed. So pushing a state here evens the stacks. */
yyssp++;
- yysetstate:
+
+/*--------------------------------------------------------------------.
+| yynewstate -- set current state (the top of the stack) to yystate. |
+`--------------------------------------------------------------------*/
+yysetstate:
*yyssp = (yytype_int16) yystate;
if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+ goto yyexhaustedlab;
+#else
{
/* Get the current used size of the three stacks, in elements. */
YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
-#ifdef yyoverflow
+# if defined yyoverflow
{
/* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
@@ -1381,10 +1394,7 @@ yyparse (void)
yyss = yyss1;
yyvs = yyvs1;
}
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
- goto yyexhaustedlab;
-# else
+# else /* defined YYSTACK_RELOCATE */
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
goto yyexhaustedlab;
@@ -1400,12 +1410,11 @@ yyparse (void)
goto yyexhaustedlab;
YYSTACK_RELOCATE (yyss_alloc, yyss);
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-# undef YYSTACK_RELOCATE
+# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
# endif
-#endif /* no yyoverflow */
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
@@ -1416,6 +1425,7 @@ yyparse (void)
if (yyss + yystacksize - 1 <= yyssp)
YYABORT;
}
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
@@ -1424,11 +1434,11 @@ yyparse (void)
goto yybackup;
+
/*-----------.
| yybackup. |
`-----------*/
yybackup:
-
/* Do appropriate processing given the current state. Read a
lookahead token if we need one and don't already have one. */
@@ -1501,7 +1511,7 @@ yydefault:
/*-----------------------------.
-| yyreduce -- Do a reduction. |
+| yyreduce -- do a reduction. |
`-----------------------------*/
yyreduce:
/* yyn is the number of a rule to reduce with. */
@@ -1522,7 +1532,7 @@ yyreduce:
switch (yyn)
{
case 3:
-#line 111 "command.y" /* yacc.c:1645 */
+#line 111 "command.y" /* yacc.c:1652 */
{
cmd_idx = -1;
want_nodeval = false;
@@ -1537,11 +1547,11 @@ yyreduce:
arg_list = NULL;
}
}
-#line 1541 "command.c" /* yacc.c:1645 */
+#line 1551 "command.c" /* yacc.c:1652 */
break;
case 5:
-#line 130 "command.y" /* yacc.c:1645 */
+#line 130 "command.y" /* yacc.c:1652 */
{
if (errcount == 0 && cmd_idx >= 0) {
Func_cmd cmdfunc;
@@ -1591,25 +1601,25 @@ yyreduce:
YYACCEPT;
}
}
-#line 1595 "command.c" /* yacc.c:1645 */
+#line 1605 "command.c" /* yacc.c:1652 */
break;
case 6:
-#line 180 "command.y" /* yacc.c:1645 */
+#line 180 "command.y" /* yacc.c:1652 */
{
yyerrok;
}
-#line 1603 "command.c" /* yacc.c:1645 */
+#line 1613 "command.c" /* yacc.c:1652 */
break;
case 22:
-#line 214 "command.y" /* yacc.c:1645 */
+#line 214 "command.y" /* yacc.c:1652 */
{ want_nodeval = true; }
-#line 1609 "command.c" /* yacc.c:1645 */
+#line 1619 "command.c" /* yacc.c:1652 */
break;
case 23:
-#line 219 "command.y" /* yacc.c:1645 */
+#line 219 "command.y" /* yacc.c:1652 */
{
if (errcount == 0) {
/* don't free arg_list; passed on to statement_list
@@ -1625,39 +1635,39 @@ yyreduce:
in_eval = true;
}
}
-#line 1629 "command.c" /* yacc.c:1645 */
+#line 1639 "command.c" /* yacc.c:1652 */
break;
case 24:
-#line 238 "command.y" /* yacc.c:1645 */
+#line 238 "command.y" /* yacc.c:1652 */
{
- (yyval) = append_statement(arg_list, (char *) start_EVAL);
+ yyval = append_statement(arg_list, (char *) start_EVAL);
if (read_a_line == read_commands_string) /* unserializing 'eval' in 'commands' */
- (yyval)->a_string[0] = '\0';
+ yyval->a_string[0] = '\0';
free_cmdarg(arg_list);
arg_list = NULL;
}
-#line 1641 "command.c" /* yacc.c:1645 */
+#line 1651 "command.c" /* yacc.c:1652 */
break;
case 25:
-#line 245 "command.y" /* yacc.c:1645 */
- { (yyval) = append_statement((yyvsp[-1]), lexptr_begin); }
-#line 1647 "command.c" /* yacc.c:1645 */
+#line 245 "command.y" /* yacc.c:1652 */
+ { yyval = append_statement(yyvsp[-1], lexptr_begin); }
+#line 1657 "command.c" /* yacc.c:1652 */
break;
case 26:
-#line 246 "command.y" /* yacc.c:1645 */
+#line 246 "command.y" /* yacc.c:1652 */
{
- (yyval) = (yyvsp[-1]);
+ yyval = yyvsp[-1];
}
-#line 1655 "command.c" /* yacc.c:1645 */
+#line 1665 "command.c" /* yacc.c:1652 */
break;
case 27:
-#line 253 "command.y" /* yacc.c:1645 */
+#line 253 "command.y" /* yacc.c:1652 */
{
- arg_list = append_statement((yyvsp[-1]), (char *) end_EVAL);
+ arg_list = append_statement(yyvsp[-1], (char *) end_EVAL);
if (read_a_line == read_commands_string) { /* unserializing 'eval' in 'commands' */
char *str = arg_list->a_string;
size_t len = strlen(str);
@@ -1671,120 +1681,120 @@ yyreduce:
cmd_idx = find_command("eval", 4);
in_eval = false;
}
-#line 1675 "command.c" /* yacc.c:1645 */
+#line 1685 "command.c" /* yacc.c:1652 */
break;
case 28:
-#line 269 "command.y" /* yacc.c:1645 */
+#line 269 "command.y" /* yacc.c:1652 */
{
NODE *n;
CMDARG *arg;
- n = (yyvsp[0])->a_node;
+ n = yyvsp[0]->a_node;
arg = append_statement(NULL, (char *) start_EVAL);
(void) append_statement(arg, n->stptr);
(void) append_statement(arg, (char *) end_EVAL);
free_cmdarg(arg_list);
arg_list = arg;
}
-#line 1690 "command.c" /* yacc.c:1645 */
+#line 1700 "command.c" /* yacc.c:1652 */
break;
case 34:
-#line 288 "command.y" /* yacc.c:1645 */
+#line 288 "command.y" /* yacc.c:1652 */
{
if (cmdtab[cmd_idx].class == D_FRAME
- && (yyvsp[0]) != NULL && (yyvsp[0])->a_int < 0)
- yyerror(_("invalid frame number: %d"), (yyvsp[0])->a_int);
+ && yyvsp[0] != NULL && yyvsp[0]->a_int < 0)
+ yyerror(_("invalid frame number: %d"), yyvsp[0]->a_int);
}
-#line 1700 "command.c" /* yacc.c:1645 */
+#line 1710 "command.c" /* yacc.c:1652 */
break;
case 35:
-#line 294 "command.y" /* yacc.c:1645 */
+#line 294 "command.y" /* yacc.c:1652 */
{
- int idx = find_argument((yyvsp[0]));
+ int idx = find_argument(yyvsp[0]);
if (idx < 0)
- yyerror(_("info: invalid option - \"%s\""), (yyvsp[0])->a_string);
+ yyerror(_("info: invalid option - \"%s\""), yyvsp[0]->a_string);
else {
- efree((yyvsp[0])->a_string);
- (yyvsp[0])->a_string = NULL;
- (yyvsp[0])->type = D_argument;
- (yyvsp[0])->a_argument = argtab[idx].value;
+ efree(yyvsp[0]->a_string);
+ yyvsp[0]->a_string = NULL;
+ yyvsp[0]->type = D_argument;
+ yyvsp[0]->a_argument = argtab[idx].value;
}
}
-#line 1716 "command.c" /* yacc.c:1645 */
+#line 1726 "command.c" /* yacc.c:1652 */
break;
case 38:
-#line 307 "command.y" /* yacc.c:1645 */
+#line 307 "command.y" /* yacc.c:1652 */
{ want_nodeval = true; }
-#line 1722 "command.c" /* yacc.c:1645 */
+#line 1732 "command.c" /* yacc.c:1652 */
break;
case 40:
-#line 308 "command.y" /* yacc.c:1645 */
+#line 308 "command.y" /* yacc.c:1652 */
{ want_nodeval = true; }
-#line 1728 "command.c" /* yacc.c:1645 */
+#line 1738 "command.c" /* yacc.c:1652 */
break;
case 46:
-#line 313 "command.y" /* yacc.c:1645 */
+#line 313 "command.y" /* yacc.c:1652 */
{ want_nodeval = true; }
-#line 1734 "command.c" /* yacc.c:1645 */
+#line 1744 "command.c" /* yacc.c:1652 */
break;
case 49:
-#line 315 "command.y" /* yacc.c:1645 */
+#line 315 "command.y" /* yacc.c:1652 */
{ want_nodeval = true; }
-#line 1740 "command.c" /* yacc.c:1645 */
+#line 1750 "command.c" /* yacc.c:1652 */
break;
case 51:
-#line 316 "command.y" /* yacc.c:1645 */
+#line 316 "command.y" /* yacc.c:1652 */
{ want_nodeval = true; }
-#line 1746 "command.c" /* yacc.c:1645 */
+#line 1756 "command.c" /* yacc.c:1652 */
break;
case 53:
-#line 317 "command.y" /* yacc.c:1645 */
+#line 317 "command.y" /* yacc.c:1652 */
{ want_nodeval = true; }
-#line 1752 "command.c" /* yacc.c:1645 */
+#line 1762 "command.c" /* yacc.c:1652 */
break;
case 57:
-#line 321 "command.y" /* yacc.c:1645 */
+#line 321 "command.y" /* yacc.c:1652 */
{
- if (in_cmd_src((yyvsp[0])->a_string))
- yyerror(_("source \"%s\": already sourced."), (yyvsp[0])->a_string);
+ if (in_cmd_src(yyvsp[0]->a_string))
+ yyerror(_("source \"%s\": already sourced."), yyvsp[0]->a_string);
}
-#line 1761 "command.c" /* yacc.c:1645 */
+#line 1771 "command.c" /* yacc.c:1652 */
break;
case 58:
-#line 326 "command.y" /* yacc.c:1645 */
+#line 326 "command.y" /* yacc.c:1652 */
{
if (! input_from_tty)
- yyerror(_("save \"%s\": command not permitted."), (yyvsp[0])->a_string);
+ yyerror(_("save \"%s\": command not permitted."), yyvsp[0]->a_string);
}
-#line 1770 "command.c" /* yacc.c:1645 */
+#line 1780 "command.c" /* yacc.c:1652 */
break;
case 59:
-#line 331 "command.y" /* yacc.c:1645 */
+#line 331 "command.y" /* yacc.c:1652 */
{
int type = 0;
int num;
- if ((yyvsp[0]) != NULL)
- num = (yyvsp[0])->a_int;
+ if (yyvsp[0] != NULL)
+ num = yyvsp[0]->a_int;
if (errcount != 0)
;
else if (in_commands)
yyerror(_("Can't use command `commands' for breakpoint/watchpoint commands"));
- else if ((yyvsp[0]) == NULL && ! (type = has_break_or_watch_point(&num, true)))
+ else if (yyvsp[0] == NULL && ! (type = has_break_or_watch_point(&num, true)))
yyerror(_("no breakpoint/watchpoint has been set yet"));
- else if ((yyvsp[0]) != NULL && ! (type = has_break_or_watch_point(&num, false)))
+ else if (yyvsp[0] != NULL && ! (type = has_break_or_watch_point(&num, false)))
yyerror(_("invalid breakpoint/watchpoint number"));
if (type) {
in_commands = true;
@@ -1796,11 +1806,11 @@ yyreduce:
}
}
}
-#line 1800 "command.c" /* yacc.c:1645 */
+#line 1810 "command.c" /* yacc.c:1652 */
break;
case 60:
-#line 357 "command.y" /* yacc.c:1645 */
+#line 357 "command.y" /* yacc.c:1652 */
{
if (! in_commands)
yyerror(_("`end' valid only in command `commands' or `eval'"));
@@ -1810,54 +1820,54 @@ yyreduce:
in_commands = false;
}
}
-#line 1814 "command.c" /* yacc.c:1645 */
+#line 1824 "command.c" /* yacc.c:1652 */
break;
case 61:
-#line 367 "command.y" /* yacc.c:1645 */
+#line 367 "command.y" /* yacc.c:1652 */
{
if (! in_commands)
yyerror(_("`silent' valid only in command `commands'"));
}
-#line 1823 "command.c" /* yacc.c:1645 */
+#line 1833 "command.c" /* yacc.c:1652 */
break;
case 62:
-#line 372 "command.y" /* yacc.c:1645 */
+#line 372 "command.y" /* yacc.c:1652 */
{
- int idx = find_argument((yyvsp[0]));
+ int idx = find_argument(yyvsp[0]);
if (idx < 0)
- yyerror(_("trace: invalid option - \"%s\""), (yyvsp[0])->a_string);
+ yyerror(_("trace: invalid option - \"%s\""), yyvsp[0]->a_string);
else {
- efree((yyvsp[0])->a_string);
- (yyvsp[0])->a_string = NULL;
- (yyvsp[0])->type = D_argument;
- (yyvsp[0])->a_argument = argtab[idx].value;
+ efree(yyvsp[0]->a_string);
+ yyvsp[0]->a_string = NULL;
+ yyvsp[0]->type = D_argument;
+ yyvsp[0]->a_argument = argtab[idx].value;
}
}
-#line 1839 "command.c" /* yacc.c:1645 */
+#line 1849 "command.c" /* yacc.c:1652 */
break;
case 63:
-#line 383 "command.y" /* yacc.c:1645 */
+#line 383 "command.y" /* yacc.c:1652 */
{ want_nodeval = true; }
-#line 1845 "command.c" /* yacc.c:1645 */
+#line 1855 "command.c" /* yacc.c:1652 */
break;
case 64:
-#line 384 "command.y" /* yacc.c:1645 */
+#line 384 "command.y" /* yacc.c:1652 */
{
int type;
- int num = (yyvsp[-2])->a_int;
+ int num = yyvsp[-2]->a_int;
type = has_break_or_watch_point(&num, false);
if (! type)
yyerror(_("condition: invalid breakpoint/watchpoint number"));
}
-#line 1857 "command.c" /* yacc.c:1645 */
+#line 1867 "command.c" /* yacc.c:1652 */
break;
case 65:
-#line 392 "command.y" /* yacc.c:1645 */
+#line 392 "command.y" /* yacc.c:1652 */
{
if (in_commands) {
/* Prepend command 'eval' to argument list */
@@ -1868,387 +1878,387 @@ yyreduce:
arg_list = arg;
}
}
-#line 1872 "command.c" /* yacc.c:1645 */
+#line 1882 "command.c" /* yacc.c:1652 */
break;
case 66:
-#line 406 "command.y" /* yacc.c:1645 */
+#line 406 "command.y" /* yacc.c:1652 */
{
- if ((yyvsp[0]) != NULL) {
- NODE *n = (yyvsp[0])->a_node;
- (yyvsp[0])->type = D_string;
- (yyvsp[0])->a_string = n->stptr;
+ if (yyvsp[0] != NULL) {
+ NODE *n = yyvsp[0]->a_node;
+ yyvsp[0]->type = D_string;
+ yyvsp[0]->a_string = n->stptr;
freenode(n);
}
- (yyval) = (yyvsp[0]);
+ yyval = yyvsp[0];
}
-#line 1886 "command.c" /* yacc.c:1645 */
+#line 1896 "command.c" /* yacc.c:1652 */
break;
case 68:
-#line 420 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 1892 "command.c" /* yacc.c:1645 */
+#line 420 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 1902 "command.c" /* yacc.c:1652 */
break;
case 69:
-#line 425 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 1898 "command.c" /* yacc.c:1645 */
+#line 425 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 1908 "command.c" /* yacc.c:1652 */
break;
case 74:
-#line 434 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 1904 "command.c" /* yacc.c:1645 */
+#line 434 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 1914 "command.c" /* yacc.c:1652 */
break;
case 75:
-#line 439 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 1910 "command.c" /* yacc.c:1645 */
+#line 439 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 1920 "command.c" /* yacc.c:1652 */
break;
case 77:
-#line 442 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 1916 "command.c" /* yacc.c:1645 */
+#line 442 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 1926 "command.c" /* yacc.c:1652 */
break;
case 78:
-#line 447 "command.y" /* yacc.c:1645 */
+#line 447 "command.y" /* yacc.c:1652 */
{
NODE *n;
- n = (yyvsp[0])->a_node;
+ n = yyvsp[0]->a_node;
if ((n->flags & STRING) == 0)
yyerror(_("argument not a string"));
}
-#line 1927 "command.c" /* yacc.c:1645 */
+#line 1937 "command.c" /* yacc.c:1652 */
break;
case 79:
-#line 457 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 1933 "command.c" /* yacc.c:1645 */
+#line 457 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 1943 "command.c" /* yacc.c:1652 */
break;
case 80:
-#line 459 "command.y" /* yacc.c:1645 */
+#line 459 "command.y" /* yacc.c:1652 */
{
- if (find_option((yyvsp[0])->a_string) < 0)
- yyerror(_("option: invalid parameter - \"%s\""), (yyvsp[0])->a_string);
+ if (find_option(yyvsp[0]->a_string) < 0)
+ yyerror(_("option: invalid parameter - \"%s\""), yyvsp[0]->a_string);
}
-#line 1942 "command.c" /* yacc.c:1645 */
+#line 1952 "command.c" /* yacc.c:1652 */
break;
case 81:
-#line 464 "command.y" /* yacc.c:1645 */
+#line 464 "command.y" /* yacc.c:1652 */
{
- if (find_option((yyvsp[-2])->a_string) < 0)
- yyerror(_("option: invalid parameter - \"%s\""), (yyvsp[-2])->a_string);
+ if (find_option(yyvsp[-2]->a_string) < 0)
+ yyerror(_("option: invalid parameter - \"%s\""), yyvsp[-2]->a_string);
}
-#line 1951 "command.c" /* yacc.c:1645 */
+#line 1961 "command.c" /* yacc.c:1652 */
break;
case 82:
-#line 472 "command.y" /* yacc.c:1645 */
+#line 472 "command.y" /* yacc.c:1652 */
{
NODE *n;
- n = lookup((yyvsp[0])->a_string);
+ n = lookup(yyvsp[0]->a_string);
if (n == NULL || n->type != Node_func)
- yyerror(_("no such function - \"%s\""), (yyvsp[0])->a_string);
+ yyerror(_("no such function - \"%s\""), yyvsp[0]->a_string);
else {
- (yyvsp[0])->type = D_func;
- efree((yyvsp[0])->a_string);
- (yyvsp[0])->a_string = NULL;
- (yyvsp[0])->a_node = n;
+ yyvsp[0]->type = D_func;
+ efree(yyvsp[0]->a_string);
+ yyvsp[0]->a_string = NULL;
+ yyvsp[0]->a_node = n;
}
}
-#line 1968 "command.c" /* yacc.c:1645 */
+#line 1978 "command.c" /* yacc.c:1652 */
break;
case 83:
-#line 488 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 1974 "command.c" /* yacc.c:1645 */
+#line 488 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 1984 "command.c" /* yacc.c:1652 */
break;
case 88:
-#line 497 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 1980 "command.c" /* yacc.c:1645 */
+#line 497 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 1990 "command.c" /* yacc.c:1652 */
break;
case 89:
-#line 498 "command.y" /* yacc.c:1645 */
+#line 498 "command.y" /* yacc.c:1652 */
{ want_nodeval = true; }
-#line 1986 "command.c" /* yacc.c:1645 */
+#line 1996 "command.c" /* yacc.c:1652 */
break;
case 92:
-#line 500 "command.y" /* yacc.c:1645 */
+#line 500 "command.y" /* yacc.c:1652 */
{ want_nodeval = true; }
-#line 1992 "command.c" /* yacc.c:1645 */
+#line 2002 "command.c" /* yacc.c:1652 */
break;
case 95:
-#line 506 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 1998 "command.c" /* yacc.c:1645 */
+#line 506 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 2008 "command.c" /* yacc.c:1652 */
break;
case 97:
-#line 512 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 2004 "command.c" /* yacc.c:1645 */
+#line 512 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 2014 "command.c" /* yacc.c:1652 */
break;
case 99:
-#line 518 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 2010 "command.c" /* yacc.c:1645 */
+#line 518 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 2020 "command.c" /* yacc.c:1652 */
break;
case 104:
-#line 530 "command.y" /* yacc.c:1645 */
+#line 530 "command.y" /* yacc.c:1652 */
{
- int idx = find_argument((yyvsp[-1]));
+ int idx = find_argument(yyvsp[-1]);
if (idx < 0)
- yyerror(_("enable: invalid option - \"%s\""), (yyvsp[-1])->a_string);
+ yyerror(_("enable: invalid option - \"%s\""), yyvsp[-1]->a_string);
else {
- efree((yyvsp[-1])->a_string);
- (yyvsp[-1])->a_string = NULL;
- (yyvsp[-1])->type = D_argument;
- (yyvsp[-1])->a_argument = argtab[idx].value;
+ efree(yyvsp[-1]->a_string);
+ yyvsp[-1]->a_string = NULL;
+ yyvsp[-1]->type = D_argument;
+ yyvsp[-1]->a_argument = argtab[idx].value;
}
}
-#line 2026 "command.c" /* yacc.c:1645 */
+#line 2036 "command.c" /* yacc.c:1652 */
break;
case 106:
-#line 546 "command.y" /* yacc.c:1645 */
+#line 546 "command.y" /* yacc.c:1652 */
{
- (yyvsp[0])->type = D_array; /* dump all items */
- (yyvsp[0])->a_count = 0;
+ yyvsp[0]->type = D_array; /* dump all items */
+ yyvsp[0]->a_count = 0;
}
-#line 2035 "command.c" /* yacc.c:1645 */
+#line 2045 "command.c" /* yacc.c:1652 */
break;
case 107:
-#line 551 "command.y" /* yacc.c:1645 */
+#line 551 "command.y" /* yacc.c:1652 */
{
- (yyvsp[-1])->type = D_array;
- (yyvsp[-1])->a_count = num_dim;
+ yyvsp[-1]->type = D_array;
+ yyvsp[-1]->a_count = num_dim;
}
-#line 2044 "command.c" /* yacc.c:1645 */
+#line 2054 "command.c" /* yacc.c:1652 */
break;
case 117:
-#line 577 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 2050 "command.c" /* yacc.c:1645 */
+#line 577 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 2060 "command.c" /* yacc.c:1652 */
break;
case 118:
-#line 579 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 2056 "command.c" /* yacc.c:1645 */
+#line 579 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 2066 "command.c" /* yacc.c:1652 */
break;
case 119:
-#line 581 "command.y" /* yacc.c:1645 */
+#line 581 "command.y" /* yacc.c:1652 */
{
CMDARG *a;
a = mk_cmdarg(D_int);
a->a_int = -1;
append_cmdarg(a);
}
-#line 2067 "command.c" /* yacc.c:1645 */
+#line 2077 "command.c" /* yacc.c:1652 */
break;
case 126:
-#line 597 "command.y" /* yacc.c:1645 */
+#line 597 "command.y" /* yacc.c:1652 */
{
- if ((yyvsp[-2])->a_int > (yyvsp[0])->a_int)
+ if (yyvsp[-2]->a_int > yyvsp[0]->a_int)
yyerror(_("invalid range specification: %d - %d"),
- (yyvsp[-2])->a_int, (yyvsp[0])->a_int);
+ yyvsp[-2]->a_int, yyvsp[0]->a_int);
else
- (yyvsp[-2])->type = D_range;
- (yyval) = (yyvsp[-2]);
+ yyvsp[-2]->type = D_range;
+ yyval = yyvsp[-2];
}
-#line 2080 "command.c" /* yacc.c:1645 */
+#line 2090 "command.c" /* yacc.c:1652 */
break;
case 127:
-#line 609 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 2086 "command.c" /* yacc.c:1645 */
+#line 609 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 2096 "command.c" /* yacc.c:1652 */
break;
case 134:
-#line 623 "command.y" /* yacc.c:1645 */
- { (yyval) = (yyvsp[0]); }
-#line 2092 "command.c" /* yacc.c:1645 */
+#line 623 "command.y" /* yacc.c:1652 */
+ { yyval = yyvsp[0]; }
+#line 2102 "command.c" /* yacc.c:1652 */
break;
case 135:
-#line 625 "command.y" /* yacc.c:1645 */
- { (yyval) = (yyvsp[-2]); }
-#line 2098 "command.c" /* yacc.c:1645 */
+#line 625 "command.y" /* yacc.c:1652 */
+ { yyval = yyvsp[-2]; }
+#line 2108 "command.c" /* yacc.c:1652 */
break;
case 137:
-#line 631 "command.y" /* yacc.c:1645 */
+#line 631 "command.y" /* yacc.c:1652 */
{
CMDARG *a;
NODE *subs;
int count = 0;
- for (a = (yyvsp[-1]); a != NULL; a = a->next)
+ for (a = yyvsp[-1]; a != NULL; a = a->next)
count++;
- subs = concat_args((yyvsp[-1]), count);
- free_cmdarg((yyvsp[-1])->next);
- (yyvsp[-1])->next = NULL;
- (yyvsp[-1])->type = D_node;
- (yyvsp[-1])->a_node = subs;
- (yyval) = (yyvsp[-1]);
+ subs = concat_args(yyvsp[-1], count);
+ free_cmdarg(yyvsp[-1]->next);
+ yyvsp[-1]->next = NULL;
+ yyvsp[-1]->type = D_node;
+ yyvsp[-1]->a_node = subs;
+ yyval = yyvsp[-1];
}
-#line 2117 "command.c" /* yacc.c:1645 */
+#line 2127 "command.c" /* yacc.c:1652 */
break;
case 139:
-#line 650 "command.y" /* yacc.c:1645 */
- { (yyval) = (yyvsp[0]); num_dim = 1; }
-#line 2123 "command.c" /* yacc.c:1645 */
+#line 650 "command.y" /* yacc.c:1652 */
+ { yyval = yyvsp[0]; num_dim = 1; }
+#line 2133 "command.c" /* yacc.c:1652 */
break;
case 140:
-#line 652 "command.y" /* yacc.c:1645 */
- { (yyval) = (yyvsp[-1]); num_dim++; }
-#line 2129 "command.c" /* yacc.c:1645 */
+#line 652 "command.y" /* yacc.c:1652 */
+ { yyval = yyvsp[-1]; num_dim++; }
+#line 2139 "command.c" /* yacc.c:1652 */
break;
case 142:
-#line 658 "command.y" /* yacc.c:1645 */
+#line 658 "command.y" /* yacc.c:1652 */
{
- NODE *n = (yyvsp[0])->a_node;
+ NODE *n = yyvsp[0]->a_node;
if ((n->flags & NUMBER) == 0)
yyerror(_("non-numeric value for field number"));
else
- (yyvsp[0])->type = D_field;
- (yyval) = (yyvsp[0]);
+ yyvsp[0]->type = D_field;
+ yyval = yyvsp[0];
}
-#line 2142 "command.c" /* yacc.c:1645 */
+#line 2152 "command.c" /* yacc.c:1652 */
break;
case 143:
-#line 667 "command.y" /* yacc.c:1645 */
+#line 667 "command.y" /* yacc.c:1652 */
{
/* a_string is array name, a_count is dimension count */
- (yyvsp[-1])->type = D_subscript;
- (yyvsp[-1])->a_count = num_dim;
- (yyval) = (yyvsp[-1]);
+ yyvsp[-1]->type = D_subscript;
+ yyvsp[-1]->a_count = num_dim;
+ yyval = yyvsp[-1];
}
-#line 2153 "command.c" /* yacc.c:1645 */
+#line 2163 "command.c" /* yacc.c:1652 */
break;
case 144:
-#line 677 "command.y" /* yacc.c:1645 */
- { (yyval) = (yyvsp[0]); }
-#line 2159 "command.c" /* yacc.c:1645 */
+#line 677 "command.y" /* yacc.c:1652 */
+ { yyval = yyvsp[0]; }
+#line 2169 "command.c" /* yacc.c:1652 */
break;
case 145:
-#line 679 "command.y" /* yacc.c:1645 */
+#line 679 "command.y" /* yacc.c:1652 */
{
- NODE *n = (yyvsp[0])->a_node;
+ NODE *n = yyvsp[0]->a_node;
if ((n->flags & NUMBER) == 0)
yyerror(_("non-numeric value found, numeric expected"));
- (yyval) = (yyvsp[0]);
+ yyval = yyvsp[0];
}
-#line 2170 "command.c" /* yacc.c:1645 */
+#line 2180 "command.c" /* yacc.c:1652 */
break;
case 146:
-#line 686 "command.y" /* yacc.c:1645 */
+#line 686 "command.y" /* yacc.c:1652 */
{
- NODE *n = (yyvsp[0])->a_node;
+ NODE *n = yyvsp[0]->a_node;
if ((n->flags & NUMBER) == 0)
yyerror(_("non-numeric value found, numeric expected"));
else
negate_num(n);
- (yyval) = (yyvsp[0]);
+ yyval = yyvsp[0];
}
-#line 2183 "command.c" /* yacc.c:1645 */
+#line 2193 "command.c" /* yacc.c:1652 */
break;
case 147:
-#line 698 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 2189 "command.c" /* yacc.c:1645 */
+#line 698 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 2199 "command.c" /* yacc.c:1652 */
break;
case 148:
-#line 700 "command.y" /* yacc.c:1645 */
- { (yyval) = (yyvsp[0]); }
-#line 2195 "command.c" /* yacc.c:1645 */
+#line 700 "command.y" /* yacc.c:1652 */
+ { yyval = yyvsp[0]; }
+#line 2205 "command.c" /* yacc.c:1652 */
break;
case 149:
-#line 705 "command.y" /* yacc.c:1645 */
- { (yyval) = NULL; }
-#line 2201 "command.c" /* yacc.c:1645 */
+#line 705 "command.y" /* yacc.c:1652 */
+ { yyval = NULL; }
+#line 2211 "command.c" /* yacc.c:1652 */
break;
case 150:
-#line 707 "command.y" /* yacc.c:1645 */
- { (yyval) = (yyvsp[0]); }
-#line 2207 "command.c" /* yacc.c:1645 */
+#line 707 "command.y" /* yacc.c:1652 */
+ { yyval = yyvsp[0]; }
+#line 2217 "command.c" /* yacc.c:1652 */
break;
case 151:
-#line 712 "command.y" /* yacc.c:1645 */
+#line 712 "command.y" /* yacc.c:1652 */
{
- if ((yyvsp[0])->a_int == 0)
+ if (yyvsp[0]->a_int == 0)
yyerror(_("non-zero integer value"));
- (yyval) = (yyvsp[0]);
+ yyval = yyvsp[0];
}
-#line 2217 "command.c" /* yacc.c:1645 */
+#line 2227 "command.c" /* yacc.c:1652 */
break;
case 152:
-#line 718 "command.y" /* yacc.c:1645 */
+#line 718 "command.y" /* yacc.c:1652 */
{
- if ((yyvsp[0])->a_int == 0)
+ if (yyvsp[0]->a_int == 0)
yyerror(_("non-zero integer value"));
- (yyval) = (yyvsp[0]);
+ yyval = yyvsp[0];
}
-#line 2227 "command.c" /* yacc.c:1645 */
+#line 2237 "command.c" /* yacc.c:1652 */
break;
case 153:
-#line 727 "command.y" /* yacc.c:1645 */
- { (yyval) = (yyvsp[0]); }
-#line 2233 "command.c" /* yacc.c:1645 */
+#line 727 "command.y" /* yacc.c:1652 */
+ { yyval = yyvsp[0]; }
+#line 2243 "command.c" /* yacc.c:1652 */
break;
case 154:
-#line 729 "command.y" /* yacc.c:1645 */
- { (yyval) = (yyvsp[0]); }
-#line 2239 "command.c" /* yacc.c:1645 */
+#line 729 "command.y" /* yacc.c:1652 */
+ { yyval = yyvsp[0]; }
+#line 2249 "command.c" /* yacc.c:1652 */
break;
case 155:
-#line 731 "command.y" /* yacc.c:1645 */
+#line 731 "command.y" /* yacc.c:1652 */
{
- (yyvsp[0])->a_int = - (yyvsp[0])->a_int;
- (yyval) = (yyvsp[0]);
+ yyvsp[0]->a_int = - yyvsp[0]->a_int;
+ yyval = yyvsp[0];
}
-#line 2248 "command.c" /* yacc.c:1645 */
+#line 2258 "command.c" /* yacc.c:1652 */
break;
case 156:
-#line 739 "command.y" /* yacc.c:1645 */
+#line 739 "command.y" /* yacc.c:1652 */
{
if (lexptr_begin != NULL) {
if (input_from_tty && lexptr_begin[0] != '\0')
@@ -2257,11 +2267,11 @@ yyreduce:
lexptr_begin = NULL;
}
}
-#line 2261 "command.c" /* yacc.c:1645 */
+#line 2271 "command.c" /* yacc.c:1652 */
break;
-#line 2265 "command.c" /* yacc.c:1645 */
+#line 2275 "command.c" /* yacc.c:1652 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -2375,12 +2385,10 @@ yyerrlab:
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/
yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (/*CONSTCOND*/ 0)
- goto yyerrorlab;
+ /* Pacify compilers when the user code never invokes YYERROR and the
+ label yyerrorlab therefore never appears in user code. */
+ if (0)
+ YYERROR;
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
@@ -2442,6 +2450,7 @@ yyacceptlab:
yyresult = 0;
goto yyreturn;
+
/*-----------------------------------.
| yyabortlab -- YYABORT comes here. |
`-----------------------------------*/
@@ -2449,6 +2458,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
+
#if !defined yyoverflow || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
@@ -2459,6 +2469,10 @@ yyexhaustedlab:
/* Fall through. */
#endif
+
+/*-----------------------------------------------------.
+| yyreturn -- parsing is finished, return the result. |
+`-----------------------------------------------------*/
yyreturn:
if (yychar != YYEMPTY)
{
@@ -2488,7 +2502,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 749 "command.y" /* yacc.c:1903 */
+#line 749 "command.y" /* yacc.c:1918 */