From 2a107933f8b56d29e3019a967dd5a5107c7643d0 Mon Sep 17 00:00:00 2001
From: Akim Demaille
Date: Thu, 18 Jun 2009 10:00:36 +0200
Subject: [PATCH] variables: parse.error
Implement, document, and test the replacement of %error-verbose
by %define parse.error "verbose".
* data/bison.m4 (b4_error_verbose_if): Reimplement to track the
values of the parse.error variable.
Make "simple" its default value.
Check the valid values.
* src/parse-gram.y: Use %define parse.error.
(PERCENT_ERROR_VERBOSE): New token.
Support it.
* src/scan-gram.l: Support %error-verbose.
* src/parse-gram.h, src/parse-gram.c: Regen.
* doc/bison.texinfo (Decl Summary): Replace the documentation of
%define error-verbose by that of %define parse.error.
* NEWS: Document it.
* tests/actions.at, tests/calc.at: Use parse.error instead of
%error-verbose.
---
NEWS | 6 +
data/bison.m4 | 14 +-
doc/bison.texinfo | 63 ++--
gnulib | 2 +-
src/parse-gram.c | 1032 +++++++++++++++++++++++++++--------------------------
src/parse-gram.h | 146 ++++----
src/parse-gram.y | 8 +-
src/scan-gram.l | 2 +-
tests/actions.at | 12 +-
tests/calc.at | 54 ++--
10 files changed, 692 insertions(+), 647 deletions(-)
diff --git a/NEWS b/NEWS
index 3c99a87..487da39 100644
--- a/NEWS
+++ b/NEWS
@@ -25,6 +25,12 @@ Bison News
use these prefixed token names, although the grammar itself still
uses the short names (as in the sample rule given above).
+** Variable parse.error
+
+ The variable error controls the verbosity of error messages. The
+ use of the %error-verbose directive is deprecated in favor of
+ %define parse.error "verbose".
+
* Changes in version 2.5 (????-??-??):
** IELR(1) and Canonical LR(1) Support
diff --git a/data/bison.m4 b/data/bison.m4
index b532ad7..29f0022 100644
--- a/data/bison.m4
+++ b/data/bison.m4
@@ -680,11 +680,9 @@ b4_percent_define_if_define_([$1], $[1], $[2])])
# b4_parse_assert_if([IF-ASSERTIONS-ARE-USED], [IF-NOT])
# b4_parse_trace_if([IF-DEBUG-TRACES-ARE-ENABLED], [IF-NOT])
-# b4_error_verbose_if([IF-ERRORS-ARE-VERBOSE], [IF-NOT])
# b4_lex_symbol_if([IF-YYLEX-RETURNS-A-COMPLETE-SYMBOL], [IF-NOT])
# b4_variant_if([IF-VARIANT-ARE-USED], [IF-NOT])
# ----------------------------------------------
-b4_percent_define_if_define([error-verbose])
b4_percent_define_if_define([lex_symbol])
b4_percent_define_if_define([locations]) # Whether locations are tracked.
b4_percent_define_if_define([parse.assert])
@@ -692,6 +690,18 @@ b4_percent_define_if_define([parse.trace])
b4_percent_define_if_define([variant])
+# b4_error_verbose_if([IF-ERRORS-ARE-VERBOSE], [IF-NOT])
+# ------------------------------------------------------
+# Map %define parse.error "(simple|verbose)" to b4_error_verbose_if and
+# b4_error_verbose_flag.
+b4_percent_define_default([[parse.error]], [[simple]])
+b4_percent_define_check_values([[[[parse.error]],
+ [[simple]], [[verbose]]]])
+m4_case(b4_percent_define_get([[parse.error]]),
+ [simple], [m4_define([b4_error_verbose_flag], [[0]])],
+ [verbose], [m4_define([b4_error_verbose_flag], [[1]])])
+b4_define_flag_if([error_verbose])
+
# b4_percent_define_check_values(VALUES)
# --------------------------------------
diff --git a/doc/bison.texinfo b/doc/bison.texinfo
index 3dd4350..092b7ea 100644
--- a/doc/bison.texinfo
+++ b/doc/bison.texinfo
@@ -4940,23 +4940,6 @@ empty
@c api.tokens.prefix
address@hidden error-verbose
address@hidden %define error-verbose
address@hidden
address@hidden Languages(s):
-all.
address@hidden Purpose:
-Enable the generation of more verbose error messages than a instead of
-just plain @address@hidden"syntax error"}}. @xref{Error Reporting, ,The Error
-Reporting Function @code{yyerror}}.
address@hidden Accepted Values:
-Boolean
address@hidden Default Value:
address@hidden
address@hidden itemize
address@hidden error-verbose
-
-
@item lr.default-reductions
@cindex default reductions
@findex %define lr.default-reductions
@@ -5197,6 +5180,8 @@ The parser namespace is @code{foo} and @code{yylex} is referenced as
@end itemize
@c namespace
+
address@hidden ================================================== parse.assert
@item parse.assert
@findex %define parse.assert
@@ -5213,6 +5198,34 @@ destroyed properly. This option checks these constraints.
@end itemize
@c parse.assert
+
address@hidden ================================================== parse.error
address@hidden parse.error
address@hidden %define parse.error
address@hidden
address@hidden Languages(s):
+all.
address@hidden Purpose:
+Control the kind of error messages passed to the error reporting
+function. @xref{Error Reporting, ,The Error Reporting Function
address@hidden
address@hidden Accepted Values:
address@hidden
address@hidden @code{"simple"}
+Error messages passed to @code{yyerror} are simply @address@hidden"syntax
+error"}}.
address@hidden @code{"verbose"}
+Error messages report the unexpected token, and possibly the expected
+ones.
address@hidden itemize
+
address@hidden Default Value:
address@hidden
address@hidden itemize
address@hidden parse.error
+
+
address@hidden ================================================== parse.trace
@item parse.trace
@findex %define parse.trace
@@ -5872,7 +5885,7 @@ int yyparse (int *nastiness, int *randomness);
@cindex parse error
@cindex syntax error
-The Bison parser detects a @dfn{syntax error} or @dfn{parse error}
+The Bison parser detects a @dfn{syntax error} (or @dfn{parse error})
whenever it reads a token which cannot satisfy any syntax rule. An
action in the grammar can also explicitly proclaim an error, using the
macro @code{YYERROR} (@pxref{Action Features, ,Special Features for Use
@@ -5884,8 +5897,8 @@ called by @code{yyparse} whenever a syntax error is found, and it
receives one argument. For a syntax error, the string is normally
@address@hidden"syntax error"}}.
address@hidden %define error-verbose
-If you invoke the directive @code{%define error-verbose} in the Bison
address@hidden %define parse.error
+If you invoke @samp{%define parse.error "verbose"} in the Bison
declarations section (@pxref{Bison Declarations, ,The Bison Declarations
Section}), then Bison provides a more verbose and specific error message
string instead of just plain @address@hidden"syntax error"}}.
@@ -8808,7 +8821,7 @@ error messages.
@comment file: calc++-parser.yy
@example
%define parse.trace
-%define error-verbose
+%define parse.error "verbose"
@end example
@noindent
@@ -9296,7 +9309,7 @@ Run the syntactic analysis, and return @code{true} on success,
@deftypemethod {YYParser} {boolean} getErrorVerbose ()
@deftypemethodx {YYParser} {void} setErrorVerbose (boolean @var{verbose})
Get or set the option to produce verbose error messages. These are only
-available with the @code{%define error-verbose} directive, which also turn on
+available with @samp{%define parse.error "verbose"}, which also turns on
verbose error messages.
@end deftypemethod
@@ -10225,7 +10238,7 @@ token is reset to the token that originally caused the violation.
@end deffn
@deffn {Directive} %error-verbose
-An obsolete directive standing for @samp{%define error-verbose}.
+An obsolete directive standing for @samp{%define parse.error "verbose"}.
@end deffn
@deffn {Directive} %file-prefix "@var{prefix}"
@@ -10431,8 +10444,8 @@ An obsolete macro used in the @file{yacc.c} skeleton, that you define
with @code{#define} in the prologue to request verbose, specific error
message strings when @code{yyerror} is called. It doesn't matter what
definition you use for @code{YYERROR_VERBOSE}, just whether you define
-it. Using @code{%define error-verbose} is preferred (@pxref{Error
-Reporting, ,The Error Reporting Function @code{yyerror}}).
+it. Using @samp{%define parse.error "verbose"} is preferred
+(@pxref{Error Reporting, ,The Error Reporting Function @code{yyerror}}).
@end deffn
@deffn {Macro} YYINITDEPTH
diff --git a/gnulib b/gnulib
index d162c75..7df7837 160000
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit d162c752532b131d357bd1639147357e53cade0d
+Subproject commit 7df783756914870b1aa88754d327b6b62f45f2df
diff --git a/src/parse-gram.c b/src/parse-gram.c
index 76acf02..2623a2b 100644
--- a/src/parse-gram.c
+++ b/src/parse-gram.c
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.4.323-f8e7-dirty. */
+/* A Bison parser, made by GNU Bison 2.4.334-4197-dirty. */
/* Implementation for Bison's Yacc-like parsers in C
@@ -45,7 +45,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.4.323-f8e7-dirty"
+#define YYBISON_VERSION "2.4.334-4197-dirty"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -148,7 +148,7 @@ static int current_prec = 0;
#define YYTYPE_UINT8 uint_fast8_t
/* Line 191 of yacc.c */
-#line 152 "src/parse-gram.c"
+#line 152 "/Users/akim/src/kernel/bison/src/parse-gram.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -194,40 +194,41 @@ static int current_prec = 0;
PERCENT_DEFAULT_PREC = 273,
PERCENT_DEFINE = 274,
PERCENT_DEFINES = 275,
- PERCENT_EXPECT = 276,
- PERCENT_EXPECT_RR = 277,
- PERCENT_FLAG = 278,
- PERCENT_FILE_PREFIX = 279,
- PERCENT_GLR_PARSER = 280,
- PERCENT_INITIAL_ACTION = 281,
- PERCENT_LANGUAGE = 282,
- PERCENT_LEX_PARAM = 283,
- PERCENT_NAME_PREFIX = 284,
- PERCENT_NO_DEFAULT_PREC = 285,
- PERCENT_NO_LINES = 286,
- PERCENT_NONDETERMINISTIC_PARSER = 287,
- PERCENT_OUTPUT = 288,
- PERCENT_PARSE_PARAM = 289,
- PERCENT_REQUIRE = 290,
- PERCENT_SKELETON = 291,
- PERCENT_START = 292,
- PERCENT_TOKEN_TABLE = 293,
- PERCENT_VERBOSE = 294,
- PERCENT_YACC = 295,
- BRACED_CODE = 296,
- CHAR = 297,
- EPILOGUE = 298,
- EQUAL = 299,
- ID = 300,
- ID_COLON = 301,
- PERCENT_PERCENT = 302,
- PIPE = 303,
- PROLOGUE = 304,
- SEMICOLON = 305,
- TAG = 306,
- TAG_ANY = 307,
- TAG_NONE = 308,
- PERCENT_UNION = 309
+ PERCENT_ERROR_VERBOSE = 276,
+ PERCENT_EXPECT = 277,
+ PERCENT_EXPECT_RR = 278,
+ PERCENT_FLAG = 279,
+ PERCENT_FILE_PREFIX = 280,
+ PERCENT_GLR_PARSER = 281,
+ PERCENT_INITIAL_ACTION = 282,
+ PERCENT_LANGUAGE = 283,
+ PERCENT_LEX_PARAM = 284,
+ PERCENT_NAME_PREFIX = 285,
+ PERCENT_NO_DEFAULT_PREC = 286,
+ PERCENT_NO_LINES = 287,
+ PERCENT_NONDETERMINISTIC_PARSER = 288,
+ PERCENT_OUTPUT = 289,
+ PERCENT_PARSE_PARAM = 290,
+ PERCENT_REQUIRE = 291,
+ PERCENT_SKELETON = 292,
+ PERCENT_START = 293,
+ PERCENT_TOKEN_TABLE = 294,
+ PERCENT_VERBOSE = 295,
+ PERCENT_YACC = 296,
+ BRACED_CODE = 297,
+ CHAR = 298,
+ EPILOGUE = 299,
+ EQUAL = 300,
+ ID = 301,
+ ID_COLON = 302,
+ PERCENT_PERCENT = 303,
+ PIPE = 304,
+ PROLOGUE = 305,
+ SEMICOLON = 306,
+ TAG = 307,
+ TAG_ANY = 308,
+ TAG_NONE = 309,
+ PERCENT_UNION = 310
};
#endif
/* Tokens. */
@@ -250,40 +251,41 @@ static int current_prec = 0;
#define PERCENT_DEFAULT_PREC 273
#define PERCENT_DEFINE 274
#define PERCENT_DEFINES 275
-#define PERCENT_EXPECT 276
-#define PERCENT_EXPECT_RR 277
-#define PERCENT_FLAG 278
-#define PERCENT_FILE_PREFIX 279
-#define PERCENT_GLR_PARSER 280
-#define PERCENT_INITIAL_ACTION 281
-#define PERCENT_LANGUAGE 282
-#define PERCENT_LEX_PARAM 283
-#define PERCENT_NAME_PREFIX 284
-#define PERCENT_NO_DEFAULT_PREC 285
-#define PERCENT_NO_LINES 286
-#define PERCENT_NONDETERMINISTIC_PARSER 287
-#define PERCENT_OUTPUT 288
-#define PERCENT_PARSE_PARAM 289
-#define PERCENT_REQUIRE 290
-#define PERCENT_SKELETON 291
-#define PERCENT_START 292
-#define PERCENT_TOKEN_TABLE 293
-#define PERCENT_VERBOSE 294
-#define PERCENT_YACC 295
-#define BRACED_CODE 296
-#define CHAR 297
-#define EPILOGUE 298
-#define EQUAL 299
-#define ID 300
-#define ID_COLON 301
-#define PERCENT_PERCENT 302
-#define PIPE 303
-#define PROLOGUE 304
-#define SEMICOLON 305
-#define TAG 306
-#define TAG_ANY 307
-#define TAG_NONE 308
-#define PERCENT_UNION 309
+#define PERCENT_ERROR_VERBOSE 276
+#define PERCENT_EXPECT 277
+#define PERCENT_EXPECT_RR 278
+#define PERCENT_FLAG 279
+#define PERCENT_FILE_PREFIX 280
+#define PERCENT_GLR_PARSER 281
+#define PERCENT_INITIAL_ACTION 282
+#define PERCENT_LANGUAGE 283
+#define PERCENT_LEX_PARAM 284
+#define PERCENT_NAME_PREFIX 285
+#define PERCENT_NO_DEFAULT_PREC 286
+#define PERCENT_NO_LINES 287
+#define PERCENT_NONDETERMINISTIC_PARSER 288
+#define PERCENT_OUTPUT 289
+#define PERCENT_PARSE_PARAM 290
+#define PERCENT_REQUIRE 291
+#define PERCENT_SKELETON 292
+#define PERCENT_START 293
+#define PERCENT_TOKEN_TABLE 294
+#define PERCENT_VERBOSE 295
+#define PERCENT_YACC 296
+#define BRACED_CODE 297
+#define CHAR 298
+#define EPILOGUE 299
+#define EQUAL 300
+#define ID 301
+#define ID_COLON 302
+#define PERCENT_PERCENT 303
+#define PIPE 304
+#define PROLOGUE 305
+#define SEMICOLON 306
+#define TAG 307
+#define TAG_ANY 308
+#define TAG_NONE 309
+#define PERCENT_UNION 310
@@ -291,7 +293,7 @@ static int current_prec = 0;
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-/* Line 224 of yacc.c */
+/* Line 216 of yacc.c */
#line 92 "parse-gram.y"
symbol *symbol;
@@ -304,8 +306,8 @@ typedef union YYSTYPE
unsigned char character;
-/* Line 224 of yacc.c */
-#line 309 "src/parse-gram.c"
+/* Line 216 of yacc.c */
+#line 311 "/Users/akim/src/kernel/bison/src/parse-gram.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -329,7 +331,7 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */
/* Line 266 of yacc.c */
-#line 333 "src/parse-gram.c"
+#line 335 "/Users/akim/src/kernel/bison/src/parse-gram.c"
#ifdef short
# undef short
@@ -546,21 +548,21 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 3
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 186
+#define YYLAST 157
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 55
+#define YYNTOKENS 56
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 33
/* YYNRULES -- Number of rules. */
-#define YYNRULES 103
+#define YYNRULES 104
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 141
+#define YYNSTATES 142
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 309
+#define YYMAXUTOK 310
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -599,24 +601,25 @@ static const yytype_uint8 yytranslate[] =
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55
};
#if YYDEBUG
/* YYRLINEYYN -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 201, 201, 209, 211, 215, 216, 226, 230, 235,
- 236, 241, 242, 243, 244, 245, 250, 259, 260, 261,
- 262, 263, 264, 265, 266, 267, 268, 269, 293, 294,
- 295, 296, 300, 301, 302, 306, 313, 320, 324, 328,
- 335, 350, 351, 355, 367, 367, 372, 372, 377, 388,
- 403, 404, 405, 406, 410, 411, 416, 418, 423, 424,
- 429, 431, 436, 437, 441, 442, 443, 444, 449, 454,
- 459, 465, 471, 482, 483, 492, 493, 499, 500, 501,
- 508, 508, 512, 513, 514, 519, 520, 522, 524, 526,
- 528, 540, 541, 546, 547, 556, 576, 578, 587, 592,
- 593, 598, 605, 607
+ 0, 202, 202, 210, 212, 216, 217, 227, 231, 236,
+ 237, 242, 247, 248, 249, 250, 251, 256, 265, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, 275, 299,
+ 300, 301, 302, 306, 307, 308, 312, 319, 326, 330,
+ 334, 341, 356, 357, 361, 373, 373, 378, 378, 383,
+ 394, 409, 410, 411, 412, 416, 417, 422, 424, 429,
+ 430, 435, 437, 442, 443, 447, 448, 449, 450, 455,
+ 460, 465, 471, 477, 488, 489, 498, 499, 505, 506,
+ 507, 514, 514, 518, 519, 520, 525, 526, 528, 530,
+ 532, 534, 546, 547, 552, 553, 562, 582, 584, 593,
+ 598, 599, 604, 611, 613
};
#endif
@@ -629,23 +632,23 @@ static const char *const yytname[] =
"\"%token\"", "\"%nterm\"", "\"%type\"", "\"%destructor\"",
"\"%printer\"", "\"%left\"", "\"%right\"", "\"%nonassoc\"",
"\"%precedence\"", "\"%prec\"", "\"%dprec\"", "\"%merge\"", "\"%code\"",
- "\"%default-prec\"", "\"%define\"", "\"%defines\"", "\"%expect\"",
- "\"%expect-rr\"", "\"%\"", "\"%file-prefix\"", "\"%glr-parser\"",
- "\"%initial-action\"", "\"%language\"", "\"%lex-param\"",
- "\"%name-prefix\"", "\"%no-default-prec\"", "\"%no-lines\"",
- "\"%nondeterministic-parser\"", "\"%output\"", "\"%parse-param\"",
- "\"%require\"", "\"%skeleton\"", "\"%start\"", "\"%token-table\"",
- "\"%verbose\"", "\"%yacc\"", "\"{...}\"", "\"char\"", "\"epilogue\"",
- "\"=\"", "\"identifier\"", "\"identifier:\"", "\"%%\"", "\"|\"",
- "\"%{...%}\"", "\";\"", "\"\"", "\"<*>\"", "\"<>\"", "\"%union\"",
- "$accept", "input", "prologue_declarations", "prologue_declaration",
- "grammar_declaration", "union_name", "symbol_declaration", "address@hidden", "address@hidden",
- "precedence_declaration", "precedence_declarator", "tag.opt",
- "symbols.prec", "symbol.prec", "symbols.1", "generic_symlist",
- "generic_symlist_item", "symbol_def", "symbol_defs.1", "grammar",
- "rules_or_grammar_declaration", "rules", "address@hidden", "rhses.1", "rhs",
- "variable", "content.opt", "braceless", "id", "id_colon", "symbol",
- "string_as_id", "epilogue.opt", 0
+ "\"%default-prec\"", "\"%define\"", "\"%defines\"", "\"%error-verbose\"",
+ "\"%expect\"", "\"%expect-rr\"", "\"%\"", "\"%file-prefix\"",
+ "\"%glr-parser\"", "\"%initial-action\"", "\"%language\"",
+ "\"%lex-param\"", "\"%name-prefix\"", "\"%no-default-prec\"",
+ "\"%no-lines\"", "\"%nondeterministic-parser\"", "\"%output\"",
+ "\"%parse-param\"", "\"%require\"", "\"%skeleton\"", "\"%start\"",
+ "\"%token-table\"", "\"%verbose\"", "\"%yacc\"", "\"{...}\"", "\"char\"",
+ "\"epilogue\"", "\"=\"", "\"identifier\"", "\"identifier:\"", "\"%%\"",
+ "\"|\"", "\"%{...%}\"", "\";\"", "\"\"", "\"<*>\"", "\"<>\"",
+ "\"%union\"", "$accept", "input", "prologue_declarations",
+ "prologue_declaration", "grammar_declaration", "union_name",
+ "symbol_declaration", "address@hidden", "address@hidden", "precedence_declaration",
+ "precedence_declarator", "tag.opt", "symbols.prec", "symbol.prec",
+ "symbols.1", "generic_symlist", "generic_symlist_item", "symbol_def",
+ "symbol_defs.1", "grammar", "rules_or_grammar_declaration", "rules",
+ "address@hidden", "rhses.1", "rhs", "variable", "content.opt", "braceless", "id",
+ "id_colon", "symbol", "string_as_id", "epilogue.opt", 0
};
#endif
@@ -659,33 +662,33 @@ static const yytype_uint16 yytoknum[] =
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309
+ 305, 306, 307, 308, 309, 310
};
# endif
-#define YYPACT_NINF -93
+#define YYPACT_NINF -78
-#define YYTABLE_NINF -103
+#define YYTABLE_NINF -104
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- -93, 9, 100, -93, -93, -93, -50, 21, 32, -93,
- -93, -93, -93, -39, -93, 1, 56, 73, 74, -93,
- 10, -93, 38, 79, 43, 27, -93, -93, -93, 37,
- 44, 83, 84, 22, -93, -93, -93, 26, -93, -93,
- 45, -93, -93, -93, -93, 40, -37, -37, 22, 0,
- 0, -93, 47, -93, -93, -93, 86, -93, -93, -93,
- -93, 89, -93, -93, -93, -93, 92, -93, 94, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, 48, -93,
- 50, 11, -93, -93, -93, -93, 47, -93, 22, -93,
- -93, -37, 66, -37, 22, -93, -93, -93, -93, 0,
- -93, -93, 0, -93, -93, -93, -93, -93, -93, -93,
- -93, 58, -93, -93, -93, -93, 22, -93, 98, -93,
- 111, -93, -93, -93, -93, 18, 141, -93, -93, -93,
- -93, -93, 22, 99, 64, -93, -93, 141, -93, -93,
- -93
+ -78, 4, 100, -78, -78, -78, -47, 10, 18, -78,
+ -78, -78, -78, -6, -78, 28, 65, -78, 68, 73,
+ -78, 0, -78, 46, 66, 49, 17, -78, -78, -78,
+ 47, 52, 92, 94, 32, -78, -78, -78, 16, -78,
+ -78, 54, -78, -78, -78, -78, 50, 44, 44, 32,
+ 27, 27, -78, 56, -78, -78, -78, 98, -78, -78,
+ -78, -78, 111, -78, -78, -78, -78, 112, -78, 113,
+ -78, -78, -78, -78, -78, -78, -78, -78, -78, 91,
+ -78, 93, 1, -78, -78, -78, -78, 56, -78, 32,
+ -78, -78, 44, 62, 44, 32, -78, -78, -78, -78,
+ 27, -78, -78, 27, -78, -78, -78, -78, -78, -78,
+ -78, -78, 59, -78, -78, -78, -78, 32, -78, 139,
+ -78, 142, -78, -78, -78, -78, -8, 43, -78, -78,
+ -78, -78, -78, 32, 143, 97, -78, -78, 43, -78,
+ -78, -78
};
/* YYDEFACT[S] -- default reduction number in state S. Performed when
@@ -693,39 +696,39 @@ static const yytype_int16 yypact[] =
is an error. */
static const yytype_uint8 yydefact[] =
{
- 3, 0, 0, 1, 46, 44, 0, 0, 0, 50,
- 51, 52, 53, 0, 37, 0, 9, 0, 0, 7,
- 0, 15, 0, 0, 0, 0, 38, 21, 22, 0,
- 0, 0, 0, 0, 28, 29, 30, 0, 6, 31,
- 41, 4, 5, 33, 32, 54, 0, 0, 0, 0,
- 0, 95, 0, 39, 92, 91, 93, 10, 11, 12,
- 13, 0, 16, 17, 18, 19, 0, 23, 0, 25,
- 26, 27, 101, 97, 96, 99, 34, 100, 0, 98,
- 0, 0, 75, 77, 80, 42, 0, 55, 0, 68,
- 73, 47, 69, 45, 48, 60, 65, 66, 67, 35,
- 62, 64, 36, 40, 94, 8, 14, 20, 24, 79,
- 78, 0, 76, 2, 85, 43, 49, 56, 58, 74,
- 70, 71, 61, 63, 103, 81, 82, 57, 59, 72,
- 85, 84, 0, 0, 0, 87, 86, 83, 88, 89,
- 90
+ 3, 0, 0, 1, 47, 45, 0, 0, 0, 51,
+ 52, 53, 54, 0, 38, 0, 9, 11, 0, 0,
+ 7, 0, 16, 0, 0, 0, 0, 39, 22, 23,
+ 0, 0, 0, 0, 0, 29, 30, 31, 0, 6,
+ 32, 42, 4, 5, 34, 33, 55, 0, 0, 0,
+ 0, 0, 96, 0, 40, 93, 92, 94, 10, 12,
+ 13, 14, 0, 17, 18, 19, 20, 0, 24, 0,
+ 26, 27, 28, 102, 98, 97, 100, 35, 101, 0,
+ 99, 0, 0, 76, 78, 81, 43, 0, 56, 0,
+ 69, 74, 48, 70, 46, 49, 61, 66, 67, 68,
+ 36, 63, 65, 37, 41, 95, 8, 15, 21, 25,
+ 80, 79, 0, 77, 2, 86, 44, 50, 57, 59,
+ 75, 71, 72, 62, 64, 104, 82, 83, 58, 60,
+ 73, 86, 85, 0, 0, 0, 88, 87, 84, 89,
+ 90, 91
};
/* YYPGOTO[NTERM-NUM]. */
-static const yytype_int8 yypgoto[] =
+static const yytype_int16 yypgoto[] =
{
- -93, -93, -93, -93, 114, -93, -93, -93, -93, -93,
- -93, -93, -93, 25, -93, 93, -92, -17, 95, -93,
- 65, -93, -93, -93, 15, -93, -93, -26, 3, -93,
- -33, -45, -93
+ -78, -78, -78, -78, 144, -78, -78, -78, -78, -78,
+ -78, -78, -78, 35, -78, 102, -36, -41, 106, -78,
+ 74, -78, -78, -78, 26, -78, -78, -11, -10, -78,
+ -34, -77, -78
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int8 yydefgoto[] =
{
- -1, 1, 2, 41, 80, 86, 43, 47, 46, 44,
- 45, 88, 116, 117, 94, 99, 100, 90, 91, 81,
- 82, 83, 114, 125, 126, 56, 105, 53, 75, 84,
- 101, 77, 113
+ -1, 1, 2, 42, 81, 87, 44, 48, 47, 45,
+ 46, 89, 117, 118, 95, 100, 101, 91, 92, 82,
+ 83, 84, 115, 126, 127, 57, 106, 54, 76, 85,
+ 102, 78, 114
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -734,101 +737,95 @@ static const yytype_int8 yydefgoto[] =
If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 76, 48, 51, 72, 54, 73, 52, 123, 74, 3,
- 123, -102, 78, 60, 89, 95, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 72, 103, 78, 13, 14,
- 65, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 67, 26, 73, 13, 14, 74, 55, 121, 33, 92,
- 92, 96, 97, 98, 61, 118, 26, 79, 111, 57,
- 115, 122, 49, 33, 73, 40, 130, 74, 131, 72,
- 120, 66, 79, 50, 119, 129, 119, 58, 59, 62,
- 40, 68, 63, 118, 64, 69, 70, 71, 51, 104,
- 85, 87, 106, 136, 92, 107, 92, 108, 109, 138,
- 110, 124, 128, 139, 136, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 72, 140, 42, 13, 14, 15,
+ 77, -103, 79, 61, 3, 49, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 96, 122, 79, 13, 14,
+ 66, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 73, 55, 27, 13, 14, 73, 52, 93, 93, 34,
+ 53, 131, 104, 132, 130, 62, 73, 27, 80, 112,
+ 68, 120, 50, 120, 34, 119, 41, 133, 134, 135,
+ 51, 123, 67, 80, 124, 73, 121, 124, 58, 64,
+ 74, 41, 59, 75, 56, 74, 116, 60, 75, 97,
+ 98, 99, 93, 119, 93, 136, 74, 74, 63, 75,
+ 75, 65, 69, 137, 70, 71, 90, 72, 52, 139,
+ 86, 105, 88, 125, 137, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 107, 108, 109, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 127, 93, 102, 72, 137, 112, 37, 0, 38,
- 39, 0, 0, 0, 40, 132, 133, 134, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 135, 73, 0, 0, 74
+ 36, 37, 110, 129, 111, 73, 43, 140, 38, 141,
+ 39, 40, 128, 103, 94, 41, 113, 138
};
-static const yytype_int16 yycheck[] =
+static const yytype_uint8 yycheck[] =
{
- 33, 51, 41, 3, 3, 42, 45, 99, 45, 0,
- 102, 0, 1, 3, 51, 48, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 3, 52, 1, 17, 18,
+ 34, 0, 1, 3, 0, 52, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 49, 93, 1, 17, 18,
3, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 3, 30, 42, 17, 18, 45, 45, 92, 37, 46,
- 47, 51, 52, 53, 44, 88, 30, 46, 47, 3,
- 86, 94, 41, 37, 42, 54, 48, 45, 50, 3,
- 4, 44, 46, 41, 91, 120, 93, 4, 4, 41,
- 54, 44, 3, 116, 41, 41, 3, 3, 41, 3,
- 45, 51, 3, 126, 91, 3, 93, 3, 50, 132,
- 50, 43, 4, 4, 137, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 3, 51, 2, 17, 18, 19,
+ 3, 3, 31, 17, 18, 3, 42, 47, 48, 38,
+ 46, 49, 53, 51, 121, 45, 3, 31, 47, 48,
+ 3, 92, 42, 94, 38, 89, 55, 14, 15, 16,
+ 42, 95, 45, 47, 100, 3, 4, 103, 3, 3,
+ 43, 55, 4, 46, 46, 43, 87, 4, 46, 52,
+ 53, 54, 92, 117, 94, 42, 43, 43, 42, 46,
+ 46, 42, 45, 127, 42, 3, 52, 3, 42, 133,
+ 46, 3, 52, 44, 138, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 3, 3, 3, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 116, 47, 50, 3, 130, 81, 47, -1, 49,
- 50, -1, -1, -1, 54, 14, 15, 16, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 41, 42, -1, -1, 45
+ 40, 41, 51, 4, 51, 3, 2, 4, 48, 52,
+ 50, 51, 117, 51, 48, 55, 82, 131
};
/* STOS_[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 56, 57, 0, 5, 6, 7, 8, 9, 10,
+ 0, 57, 58, 0, 5, 6, 7, 8, 9, 10,
11, 12, 13, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 47, 49, 50,
- 54, 58, 59, 61, 64, 65, 63, 62, 51, 41,
- 41, 41, 45, 82, 3, 45, 80, 3, 4, 4,
- 3, 44, 41, 3, 41, 3, 44, 3, 44, 41,
- 3, 3, 3, 42, 45, 83, 85, 86, 1, 46,
- 59, 74, 75, 76, 84, 45, 60, 51, 66, 51,
- 72, 73, 83, 73, 69, 85, 51, 52, 53, 70,
- 71, 85, 70, 82, 3, 81, 3, 3, 3, 50,
- 50, 47, 75, 87, 77, 82, 67, 68, 85, 72,
- 4, 86, 85, 71, 43, 78, 79, 68, 4, 86,
- 48, 50, 14, 15, 16, 41, 85, 79, 85, 4,
- 51
+ 34, 35, 36, 37, 38, 39, 40, 41, 48, 50,
+ 51, 55, 59, 60, 62, 65, 66, 64, 63, 52,
+ 42, 42, 42, 46, 83, 3, 46, 81, 3, 4,
+ 4, 3, 45, 42, 3, 42, 3, 45, 3, 45,
+ 42, 3, 3, 3, 43, 46, 84, 86, 87, 1,
+ 47, 60, 75, 76, 77, 85, 46, 61, 52, 67,
+ 52, 73, 74, 84, 74, 70, 86, 52, 53, 54,
+ 71, 72, 86, 71, 83, 3, 82, 3, 3, 3,
+ 51, 51, 48, 76, 88, 78, 83, 68, 69, 86,
+ 73, 4, 87, 86, 72, 44, 79, 80, 69, 4,
+ 87, 49, 51, 14, 15, 16, 42, 86, 80, 86,
+ 4, 52
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 55, 56, 57, 57, 58, 58, 58, 58, 58,
- 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- 58, 58, 59, 59, 59, 59, 59, 59, 59, 59,
- 59, 60, 60, 59, 62, 61, 63, 61, 61, 64,
- 65, 65, 65, 65, 66, 66, 67, 67, 68, 68,
- 69, 69, 70, 70, 71, 71, 71, 71, 72, 72,
- 72, 72, 72, 73, 73, 74, 74, 75, 75, 75,
- 77, 76, 78, 78, 78, 79, 79, 79, 79, 79,
- 79, 80, 80, 81, 81, 82, 83, 83, 84, 85,
- 85, 86, 87, 87
+ 0, 56, 57, 58, 58, 59, 59, 59, 59, 59,
+ 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
+ 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
+ 59, 59, 59, 60, 60, 60, 60, 60, 60, 60,
+ 60, 60, 61, 61, 60, 63, 62, 64, 62, 62,
+ 65, 66, 66, 66, 66, 67, 67, 68, 68, 69,
+ 69, 70, 70, 71, 71, 72, 72, 72, 72, 73,
+ 73, 73, 73, 73, 74, 74, 75, 75, 76, 76,
+ 76, 78, 77, 79, 79, 79, 80, 80, 80, 80,
+ 80, 80, 81, 81, 82, 82, 83, 84, 84, 85,
+ 86, 86, 87, 88, 88
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
0, 2, 4, 0, 2, 1, 1, 1, 3, 1,
- 2, 2, 2, 2, 3, 1, 2, 2, 2, 2,
- 3, 1, 1, 2, 3, 2, 2, 2, 1, 1,
- 1, 1, 1, 1, 2, 3, 3, 1, 1, 2,
- 3, 0, 1, 3, 0, 3, 0, 3, 3, 3,
- 1, 1, 1, 1, 0, 1, 1, 2, 1, 2,
- 1, 2, 1, 2, 1, 1, 1, 1, 1, 1,
- 2, 2, 3, 1, 2, 1, 2, 1, 2, 2,
- 0, 3, 1, 3, 2, 0, 2, 2, 3, 3,
- 3, 1, 1, 0, 1, 1, 1, 1, 1, 1,
- 1, 1, 0, 2
+ 2, 1, 2, 2, 2, 3, 1, 2, 2, 2,
+ 2, 3, 1, 1, 2, 3, 2, 2, 2, 1,
+ 1, 1, 1, 1, 1, 2, 3, 3, 1, 1,
+ 2, 3, 0, 1, 3, 0, 3, 0, 3, 3,
+ 3, 1, 1, 1, 1, 0, 1, 1, 2, 1,
+ 2, 1, 2, 1, 2, 1, 1, 1, 1, 1,
+ 1, 2, 2, 3, 1, 2, 1, 2, 1, 2,
+ 2, 0, 3, 1, 3, 2, 0, 2, 2, 3,
+ 3, 3, 1, 1, 0, 1, 1, 1, 1, 1,
+ 1, 1, 1, 0, 2
};
@@ -980,154 +977,154 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
case 3: // "string"
/* Line 647 of yacc.c */
-#line 178 "parse-gram.y"
+#line 179 "parse-gram.y"
{ fputs (quotearg_style (c_quoting_style, ((*yyvaluep).chars)), stderr); }
/* Line 647 of yacc.c */
-#line 987 "src/parse-gram.c"
+#line 984 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
case 4: // "integer"
/* Line 647 of yacc.c */
-#line 190 "parse-gram.y"
+#line 191 "parse-gram.y"
{ fprintf (stderr, "%d", ((*yyvaluep).integer)); }
/* Line 647 of yacc.c */
-#line 996 "src/parse-gram.c"
+#line 993 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 23: // "%"
+ case 24: // "%"
/* Line 647 of yacc.c */
-#line 186 "parse-gram.y"
+#line 187 "parse-gram.y"
{ fprintf (stderr, "%%%s", ((*yyvaluep).uniqstr)); }
/* Line 647 of yacc.c */
-#line 1005 "src/parse-gram.c"
+#line 1002 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 41: // "{...}"
+ case 42: // "{...}"
/* Line 647 of yacc.c */
-#line 180 "parse-gram.y"
+#line 181 "parse-gram.y"
{ fprintf (stderr, "{\n%s\n}", ((*yyvaluep).code)); }
/* Line 647 of yacc.c */
-#line 1014 "src/parse-gram.c"
+#line 1011 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 42: // "char"
+ case 43: // "char"
/* Line 647 of yacc.c */
-#line 172 "parse-gram.y"
+#line 173 "parse-gram.y"
{ fputs (char_name (((*yyvaluep).character)), stderr); }
/* Line 647 of yacc.c */
-#line 1023 "src/parse-gram.c"
+#line 1020 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 43: // "epilogue"
+ case 44: // "epilogue"
/* Line 647 of yacc.c */
-#line 180 "parse-gram.y"
+#line 181 "parse-gram.y"
{ fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }
/* Line 647 of yacc.c */
-#line 1032 "src/parse-gram.c"
+#line 1029 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 45: // "identifier"
+ case 46: // "identifier"
/* Line 647 of yacc.c */
-#line 184 "parse-gram.y"
+#line 185 "parse-gram.y"
{ fputs (((*yyvaluep).uniqstr), stderr); }
/* Line 647 of yacc.c */
-#line 1041 "src/parse-gram.c"
+#line 1038 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 46: // "identifier:"
+ case 47: // "identifier:"
/* Line 647 of yacc.c */
-#line 185 "parse-gram.y"
+#line 186 "parse-gram.y"
{ fprintf (stderr, "%s:", ((*yyvaluep).uniqstr)); }
/* Line 647 of yacc.c */
-#line 1050 "src/parse-gram.c"
+#line 1047 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 49: // "%{...%}"
+ case 50: // "%{...%}"
/* Line 647 of yacc.c */
-#line 180 "parse-gram.y"
+#line 181 "parse-gram.y"
{ fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }
/* Line 647 of yacc.c */
-#line 1059 "src/parse-gram.c"
+#line 1056 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 51: // ""
+ case 52: // ""
/* Line 647 of yacc.c */
-#line 187 "parse-gram.y"
+#line 188 "parse-gram.y"
{ fprintf (stderr, "<%s>", ((*yyvaluep).uniqstr)); }
/* Line 647 of yacc.c */
-#line 1068 "src/parse-gram.c"
+#line 1065 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 80: // variable
+ case 81: // variable
/* Line 647 of yacc.c */
-#line 184 "parse-gram.y"
+#line 185 "parse-gram.y"
{ fputs (((*yyvaluep).uniqstr), stderr); }
/* Line 647 of yacc.c */
-#line 1077 "src/parse-gram.c"
+#line 1074 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 81: // content.opt
+ case 82: // content.opt
/* Line 647 of yacc.c */
-#line 180 "parse-gram.y"
+#line 181 "parse-gram.y"
{ fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }
/* Line 647 of yacc.c */
-#line 1086 "src/parse-gram.c"
+#line 1083 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 82: // braceless
+ case 83: // braceless
/* Line 647 of yacc.c */
-#line 180 "parse-gram.y"
+#line 181 "parse-gram.y"
{ fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }
/* Line 647 of yacc.c */
-#line 1095 "src/parse-gram.c"
+#line 1092 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 83: // id
+ case 84: // id
/* Line 647 of yacc.c */
-#line 193 "parse-gram.y"
+#line 194 "parse-gram.y"
{ fprintf (stderr, "%s", ((*yyvaluep).symbol)->tag); }
/* Line 647 of yacc.c */
-#line 1104 "src/parse-gram.c"
+#line 1101 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 84: // id_colon
+ case 85: // id_colon
/* Line 647 of yacc.c */
-#line 194 "parse-gram.y"
+#line 195 "parse-gram.y"
{ fprintf (stderr, "%s:", ((*yyvaluep).symbol)->tag); }
/* Line 647 of yacc.c */
-#line 1113 "src/parse-gram.c"
+#line 1110 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 85: // symbol
+ case 86: // symbol
/* Line 647 of yacc.c */
-#line 193 "parse-gram.y"
+#line 194 "parse-gram.y"
{ fprintf (stderr, "%s", ((*yyvaluep).symbol)->tag); }
/* Line 647 of yacc.c */
-#line 1122 "src/parse-gram.c"
+#line 1119 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 86: // string_as_id
+ case 87: // string_as_id
/* Line 647 of yacc.c */
-#line 193 "parse-gram.y"
+#line 194 "parse-gram.y"
{ fprintf (stderr, "%s", ((*yyvaluep).symbol)->tag); }
/* Line 647 of yacc.c */
-#line 1131 "src/parse-gram.c"
+#line 1128 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
default:
@@ -1640,7 +1637,7 @@ YYLTYPE yylloc;
#endif
/* User initialization code. */
-/* Line 1173 of yacc.c */
+/* Line 1167 of yacc.c */
#line 84 "parse-gram.y"
{
/* Bison's grammar can initial empty locations, hence a default
@@ -1648,8 +1645,8 @@ YYLTYPE yylloc;
boundary_set (&yylloc.start, current_file, 1, 1);
boundary_set (&yylloc.end, current_file, 1, 1);
}
-/* Line 1173 of yacc.c */
-#line 1653 "src/parse-gram.c"
+/* Line 1167 of yacc.c */
+#line 1650 "/Users/akim/src/kernel/bison/src/parse-gram.c"
yylsp[0] = yylloc;
goto yysetstate;
@@ -1836,7 +1833,7 @@ yyreduce:
{
case 6:
/* Line 1380 of yacc.c */
-#line 217 "parse-gram.y"
+#line 218 "parse-gram.y"
{
code_props plain_code;
code_props_plain_init (&plain_code, (yyvsp[0].chars), (yylsp[0]));
@@ -1847,95 +1844,106 @@ yyreduce:
code_scanner_last_string_free ();
}
/* Line 1380 of yacc.c */
-#line 1851 "src/parse-gram.c"
+#line 1848 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
case 7:
/* Line 1380 of yacc.c */
-#line 227 "parse-gram.y"
+#line 228 "parse-gram.y"
{
muscle_percent_define_ensure ((yyvsp[0].uniqstr), (yylsp[0]), true);
}
/* Line 1380 of yacc.c */
-#line 1861 "src/parse-gram.c"
+#line 1858 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
case 8:
/* Line 1380 of yacc.c */
-#line 231 "parse-gram.y"
+#line 232 "parse-gram.y"
{
muscle_percent_define_insert ((yyvsp[-1].uniqstr), (yylsp[-1]), (yyvsp[0].chars),
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
}
/* Line 1380 of yacc.c */
-#line 1872 "src/parse-gram.c"
+#line 1869 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
case 9:
/* Line 1380 of yacc.c */
-#line 235 "parse-gram.y"
+#line 236 "parse-gram.y"
{ defines_flag = true; }
/* Line 1380 of yacc.c */
-#line 1880 "src/parse-gram.c"
+#line 1877 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
case 10:
/* Line 1380 of yacc.c */
-#line 237 "parse-gram.y"
+#line 238 "parse-gram.y"
{
defines_flag = true;
spec_defines_file = xstrdup ((yyvsp[0].chars));
}
/* Line 1380 of yacc.c */
-#line 1891 "src/parse-gram.c"
+#line 1888 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
case 11:
/* Line 1380 of yacc.c */
-#line 241 "parse-gram.y"
- { expected_sr_conflicts = (yyvsp[0].integer); }
+#line 243 "parse-gram.y"
+ {
+ muscle_percent_define_insert ("parse.error", (yylsp[0]), "verbose",
+ MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
+ }
/* Line 1380 of yacc.c */
-#line 1899 "src/parse-gram.c"
+#line 1899 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
case 12:
/* Line 1380 of yacc.c */
-#line 242 "parse-gram.y"
- { expected_rr_conflicts = (yyvsp[0].integer); }
+#line 247 "parse-gram.y"
+ { expected_sr_conflicts = (yyvsp[0].integer); }
/* Line 1380 of yacc.c */
-#line 1907 "src/parse-gram.c"
+#line 1907 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
case 13:
/* Line 1380 of yacc.c */
-#line 243 "parse-gram.y"
- { spec_file_prefix = (yyvsp[0].chars); }
+#line 248 "parse-gram.y"
+ { expected_rr_conflicts = (yyvsp[0].integer); }
/* Line 1380 of yacc.c */
-#line 1915 "src/parse-gram.c"
+#line 1915 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
case 14:
/* Line 1380 of yacc.c */
-#line 244 "parse-gram.y"
+#line 249 "parse-gram.y"
{ spec_file_prefix = (yyvsp[0].chars); }
/* Line 1380 of yacc.c */
-#line 1923 "src/parse-gram.c"
+#line 1923 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
case 15:
/* Line 1380 of yacc.c */
-#line 246 "parse-gram.y"
+#line 250 "parse-gram.y"
+ { spec_file_prefix = (yyvsp[0].chars); }
+/* Line 1380 of yacc.c */
+#line 1931 "/Users/akim/src/kernel/bison/src/parse-gram.c"
+ break;
+
+ case 16:
+/* Line 1380 of yacc.c */
+#line 252 "parse-gram.y"
{
nondeterministic_parser = true;
glr_parser = true;
}
/* Line 1380 of yacc.c */
-#line 1934 "src/parse-gram.c"
+#line 1942 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 16:
+ case 17:
/* Line 1380 of yacc.c */
-#line 251 "parse-gram.y"
+#line 257 "parse-gram.y"
{
code_props action;
code_props_symbol_action_init (&action, (yyvsp[0].code), (yylsp[0]));
@@ -1945,92 +1953,92 @@ yyreduce:
code_scanner_last_string_free ();
}
/* Line 1380 of yacc.c */
-#line 1949 "src/parse-gram.c"
+#line 1957 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 17:
+ case 18:
/* Line 1380 of yacc.c */
-#line 259 "parse-gram.y"
+#line 265 "parse-gram.y"
{ language_argmatch ((yyvsp[0].chars), grammar_prio, (yylsp[-1])); }
/* Line 1380 of yacc.c */
-#line 1957 "src/parse-gram.c"
+#line 1965 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 18:
+ case 19:
/* Line 1380 of yacc.c */
-#line 260 "parse-gram.y"
+#line 266 "parse-gram.y"
{ add_param ("lex_param", (yyvsp[0].code), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 1965 "src/parse-gram.c"
+#line 1973 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 19:
+ case 20:
/* Line 1380 of yacc.c */
-#line 261 "parse-gram.y"
+#line 267 "parse-gram.y"
{ spec_name_prefix = (yyvsp[0].chars); }
/* Line 1380 of yacc.c */
-#line 1973 "src/parse-gram.c"
+#line 1981 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 20:
+ case 21:
/* Line 1380 of yacc.c */
-#line 262 "parse-gram.y"
+#line 268 "parse-gram.y"
{ spec_name_prefix = (yyvsp[0].chars); }
/* Line 1380 of yacc.c */
-#line 1981 "src/parse-gram.c"
+#line 1989 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 21:
+ case 22:
/* Line 1380 of yacc.c */
-#line 263 "parse-gram.y"
+#line 269 "parse-gram.y"
{ no_lines_flag = true; }
/* Line 1380 of yacc.c */
-#line 1989 "src/parse-gram.c"
+#line 1997 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 22:
+ case 23:
/* Line 1380 of yacc.c */
-#line 264 "parse-gram.y"
+#line 270 "parse-gram.y"
{ nondeterministic_parser = true; }
/* Line 1380 of yacc.c */
-#line 1997 "src/parse-gram.c"
+#line 2005 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 23:
+ case 24:
/* Line 1380 of yacc.c */
-#line 265 "parse-gram.y"
+#line 271 "parse-gram.y"
{ spec_outfile = (yyvsp[0].chars); }
/* Line 1380 of yacc.c */
-#line 2005 "src/parse-gram.c"
+#line 2013 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 24:
+ case 25:
/* Line 1380 of yacc.c */
-#line 266 "parse-gram.y"
+#line 272 "parse-gram.y"
{ spec_outfile = (yyvsp[0].chars); }
/* Line 1380 of yacc.c */
-#line 2013 "src/parse-gram.c"
+#line 2021 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 25:
+ case 26:
/* Line 1380 of yacc.c */
-#line 267 "parse-gram.y"
+#line 273 "parse-gram.y"
{ add_param ("parse_param", (yyvsp[0].code), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2021 "src/parse-gram.c"
+#line 2029 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 26:
+ case 27:
/* Line 1380 of yacc.c */
-#line 268 "parse-gram.y"
+#line 274 "parse-gram.y"
{ version_check (&(yylsp[0]), (yyvsp[0].chars)); }
/* Line 1380 of yacc.c */
-#line 2029 "src/parse-gram.c"
+#line 2037 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 27:
+ case 28:
/* Line 1380 of yacc.c */
-#line 270 "parse-gram.y"
+#line 276 "parse-gram.y"
{
char const *skeleton_user = (yyvsp[0].chars);
if (strchr (skeleton_user, '/'))
@@ -2055,46 +2063,46 @@ yyreduce:
skeleton_arg (skeleton_user, grammar_prio, (yylsp[-1]));
}
/* Line 1380 of yacc.c */
-#line 2059 "src/parse-gram.c"
+#line 2067 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 28:
+ case 29:
/* Line 1380 of yacc.c */
-#line 293 "parse-gram.y"
+#line 299 "parse-gram.y"
{ token_table_flag = true; }
/* Line 1380 of yacc.c */
-#line 2067 "src/parse-gram.c"
+#line 2075 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 29:
+ case 30:
/* Line 1380 of yacc.c */
-#line 294 "parse-gram.y"
+#line 300 "parse-gram.y"
{ report_flag |= report_states; }
/* Line 1380 of yacc.c */
-#line 2075 "src/parse-gram.c"
+#line 2083 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 30:
+ case 31:
/* Line 1380 of yacc.c */
-#line 295 "parse-gram.y"
+#line 301 "parse-gram.y"
{ yacc_flag = true; }
/* Line 1380 of yacc.c */
-#line 2083 "src/parse-gram.c"
+#line 2091 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 34:
+ case 35:
/* Line 1380 of yacc.c */
-#line 303 "parse-gram.y"
+#line 309 "parse-gram.y"
{
grammar_start_symbol_set ((yyvsp[0].symbol), (yylsp[0]));
}
/* Line 1380 of yacc.c */
-#line 2093 "src/parse-gram.c"
+#line 2101 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 35:
+ case 36:
/* Line 1380 of yacc.c */
-#line 307 "parse-gram.y"
+#line 313 "parse-gram.y"
{
symbol_list *list;
for (list = (yyvsp[0].list); list; list = list->next)
@@ -2102,12 +2110,12 @@ yyreduce:
symbol_list_free ((yyvsp[0].list));
}
/* Line 1380 of yacc.c */
-#line 2106 "src/parse-gram.c"
+#line 2114 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 36:
+ case 37:
/* Line 1380 of yacc.c */
-#line 314 "parse-gram.y"
+#line 320 "parse-gram.y"
{
symbol_list *list;
for (list = (yyvsp[0].list); list; list = list->next)
@@ -2115,32 +2123,32 @@ yyreduce:
symbol_list_free ((yyvsp[0].list));
}
/* Line 1380 of yacc.c */
-#line 2119 "src/parse-gram.c"
+#line 2127 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 37:
+ case 38:
/* Line 1380 of yacc.c */
-#line 321 "parse-gram.y"
+#line 327 "parse-gram.y"
{
default_prec = true;
}
/* Line 1380 of yacc.c */
-#line 2129 "src/parse-gram.c"
+#line 2137 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 38:
+ case 39:
/* Line 1380 of yacc.c */
-#line 325 "parse-gram.y"
+#line 331 "parse-gram.y"
{
default_prec = false;
}
/* Line 1380 of yacc.c */
-#line 2139 "src/parse-gram.c"
+#line 2147 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 39:
+ case 40:
/* Line 1380 of yacc.c */
-#line 329 "parse-gram.y"
+#line 335 "parse-gram.y"
{
/* Do not invoke muscle_percent_code_grow here since it invokes
muscle_user_name_list_grow. */
@@ -2148,89 +2156,89 @@ yyreduce:
code_scanner_last_string_free ();
}
/* Line 1380 of yacc.c */
-#line 2152 "src/parse-gram.c"
+#line 2160 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 40:
+ case 41:
/* Line 1380 of yacc.c */
-#line 336 "parse-gram.y"
+#line 342 "parse-gram.y"
{
muscle_percent_code_grow ((yyvsp[-1].uniqstr), (yylsp[-1]), (yyvsp[0].chars), (yylsp[0]));
code_scanner_last_string_free ();
}
/* Line 1380 of yacc.c */
-#line 2163 "src/parse-gram.c"
+#line 2171 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 41:
+ case 42:
/* Line 1380 of yacc.c */
-#line 350 "parse-gram.y"
+#line 356 "parse-gram.y"
{}
/* Line 1380 of yacc.c */
-#line 2171 "src/parse-gram.c"
+#line 2179 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 42:
+ case 43:
/* Line 1380 of yacc.c */
-#line 351 "parse-gram.y"
+#line 357 "parse-gram.y"
{ muscle_code_grow ("union_name", (yyvsp[0].uniqstr), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2179 "src/parse-gram.c"
+#line 2187 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 43:
+ case 44:
/* Line 1380 of yacc.c */
-#line 356 "parse-gram.y"
+#line 362 "parse-gram.y"
{
union_seen = true;
muscle_code_grow ("stype", (yyvsp[0].chars), (yylsp[0]));
code_scanner_last_string_free ();
}
/* Line 1380 of yacc.c */
-#line 2191 "src/parse-gram.c"
+#line 2199 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 44:
+ case 45:
/* Line 1380 of yacc.c */
-#line 367 "parse-gram.y"
+#line 373 "parse-gram.y"
{ current_class = nterm_sym; }
/* Line 1380 of yacc.c */
-#line 2199 "src/parse-gram.c"
+#line 2207 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 45:
+ case 46:
/* Line 1380 of yacc.c */
-#line 368 "parse-gram.y"
+#line 374 "parse-gram.y"
{
current_class = unknown_sym;
current_type = NULL;
}
/* Line 1380 of yacc.c */
-#line 2210 "src/parse-gram.c"
+#line 2218 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 46:
+ case 47:
/* Line 1380 of yacc.c */
-#line 372 "parse-gram.y"
+#line 378 "parse-gram.y"
{ current_class = token_sym; }
/* Line 1380 of yacc.c */
-#line 2218 "src/parse-gram.c"
+#line 2226 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 47:
+ case 48:
/* Line 1380 of yacc.c */
-#line 373 "parse-gram.y"
+#line 379 "parse-gram.y"
{
current_class = unknown_sym;
current_type = NULL;
}
/* Line 1380 of yacc.c */
-#line 2229 "src/parse-gram.c"
+#line 2237 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 48:
+ case 49:
/* Line 1380 of yacc.c */
-#line 378 "parse-gram.y"
+#line 384 "parse-gram.y"
{
symbol_list *list;
tag_seen = true;
@@ -2239,12 +2247,12 @@ yyreduce:
symbol_list_free ((yyvsp[0].list));
}
/* Line 1380 of yacc.c */
-#line 2243 "src/parse-gram.c"
+#line 2251 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 49:
+ case 50:
/* Line 1380 of yacc.c */
-#line 389 "parse-gram.y"
+#line 395 "parse-gram.y"
{
symbol_list *list;
++current_prec;
@@ -2257,202 +2265,202 @@ yyreduce:
current_type = NULL;
}
/* Line 1380 of yacc.c */
-#line 2261 "src/parse-gram.c"
+#line 2269 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 50:
+ case 51:
/* Line 1380 of yacc.c */
-#line 403 "parse-gram.y"
+#line 409 "parse-gram.y"
{ (yyval.assoc) = left_assoc; }
/* Line 1380 of yacc.c */
-#line 2269 "src/parse-gram.c"
+#line 2277 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 51:
+ case 52:
/* Line 1380 of yacc.c */
-#line 404 "parse-gram.y"
+#line 410 "parse-gram.y"
{ (yyval.assoc) = right_assoc; }
/* Line 1380 of yacc.c */
-#line 2277 "src/parse-gram.c"
+#line 2285 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 52:
+ case 53:
/* Line 1380 of yacc.c */
-#line 405 "parse-gram.y"
+#line 411 "parse-gram.y"
{ (yyval.assoc) = non_assoc; }
/* Line 1380 of yacc.c */
-#line 2285 "src/parse-gram.c"
+#line 2293 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 53:
+ case 54:
/* Line 1380 of yacc.c */
-#line 406 "parse-gram.y"
+#line 412 "parse-gram.y"
{ (yyval.assoc) = precedence_assoc; }
/* Line 1380 of yacc.c */
-#line 2293 "src/parse-gram.c"
+#line 2301 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 54:
+ case 55:
/* Line 1380 of yacc.c */
-#line 410 "parse-gram.y"
+#line 416 "parse-gram.y"
{ current_type = NULL; }
/* Line 1380 of yacc.c */
-#line 2301 "src/parse-gram.c"
+#line 2309 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 55:
+ case 56:
/* Line 1380 of yacc.c */
-#line 411 "parse-gram.y"
+#line 417 "parse-gram.y"
{ current_type = (yyvsp[0].uniqstr); tag_seen = true; }
/* Line 1380 of yacc.c */
-#line 2309 "src/parse-gram.c"
+#line 2317 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 56:
+ case 57:
/* Line 1380 of yacc.c */
-#line 417 "parse-gram.y"
+#line 423 "parse-gram.y"
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2317 "src/parse-gram.c"
+#line 2325 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 57:
+ case 58:
/* Line 1380 of yacc.c */
-#line 419 "parse-gram.y"
+#line 425 "parse-gram.y"
{ (yyval.list) = symbol_list_prepend ((yyvsp[-1].list), symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]))); }
/* Line 1380 of yacc.c */
-#line 2325 "src/parse-gram.c"
+#line 2333 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 58:
+ case 59:
/* Line 1380 of yacc.c */
-#line 423 "parse-gram.y"
+#line 429 "parse-gram.y"
{ (yyval.symbol) = (yyvsp[0].symbol); }
/* Line 1380 of yacc.c */
-#line 2333 "src/parse-gram.c"
+#line 2341 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 59:
+ case 60:
/* Line 1380 of yacc.c */
-#line 424 "parse-gram.y"
+#line 430 "parse-gram.y"
{ (yyval.symbol) = (yyvsp[-1].symbol); symbol_user_token_number_set ((yyvsp[-1].symbol), (yyvsp[0].integer), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2341 "src/parse-gram.c"
+#line 2349 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 60:
+ case 61:
/* Line 1380 of yacc.c */
-#line 430 "parse-gram.y"
+#line 436 "parse-gram.y"
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2349 "src/parse-gram.c"
+#line 2357 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 61:
+ case 62:
/* Line 1380 of yacc.c */
-#line 432 "parse-gram.y"
+#line 438 "parse-gram.y"
{ (yyval.list) = symbol_list_prepend ((yyvsp[-1].list), symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]))); }
/* Line 1380 of yacc.c */
-#line 2357 "src/parse-gram.c"
+#line 2365 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 62:
+ case 63:
/* Line 1380 of yacc.c */
-#line 436 "parse-gram.y"
+#line 442 "parse-gram.y"
{ (yyval.list) = (yyvsp[0].list); }
/* Line 1380 of yacc.c */
-#line 2365 "src/parse-gram.c"
+#line 2373 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 63:
+ case 64:
/* Line 1380 of yacc.c */
-#line 437 "parse-gram.y"
+#line 443 "parse-gram.y"
{ (yyval.list) = symbol_list_prepend ((yyvsp[-1].list), (yyvsp[0].list)); }
/* Line 1380 of yacc.c */
-#line 2373 "src/parse-gram.c"
+#line 2381 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 64:
+ case 65:
/* Line 1380 of yacc.c */
-#line 441 "parse-gram.y"
+#line 447 "parse-gram.y"
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2381 "src/parse-gram.c"
+#line 2389 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 65:
+ case 66:
/* Line 1380 of yacc.c */
-#line 442 "parse-gram.y"
+#line 448 "parse-gram.y"
{ (yyval.list) = symbol_list_type_new ((yyvsp[0].uniqstr), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2389 "src/parse-gram.c"
+#line 2397 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 66:
+ case 67:
/* Line 1380 of yacc.c */
-#line 443 "parse-gram.y"
+#line 449 "parse-gram.y"
{ (yyval.list) = symbol_list_default_tagged_new ((yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2397 "src/parse-gram.c"
+#line 2405 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 67:
+ case 68:
/* Line 1380 of yacc.c */
-#line 444 "parse-gram.y"
+#line 450 "parse-gram.y"
{ (yyval.list) = symbol_list_default_tagless_new ((yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2405 "src/parse-gram.c"
+#line 2413 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 68:
+ case 69:
/* Line 1380 of yacc.c */
-#line 450 "parse-gram.y"
+#line 456 "parse-gram.y"
{
current_type = (yyvsp[0].uniqstr);
tag_seen = true;
}
/* Line 1380 of yacc.c */
-#line 2416 "src/parse-gram.c"
+#line 2424 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 69:
+ case 70:
/* Line 1380 of yacc.c */
-#line 455 "parse-gram.y"
+#line 461 "parse-gram.y"
{
symbol_class_set ((yyvsp[0].symbol), current_class, (yylsp[0]), true);
symbol_type_set ((yyvsp[0].symbol), current_type, (yylsp[0]));
}
/* Line 1380 of yacc.c */
-#line 2427 "src/parse-gram.c"
+#line 2435 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 70:
+ case 71:
/* Line 1380 of yacc.c */
-#line 460 "parse-gram.y"
+#line 466 "parse-gram.y"
{
symbol_class_set ((yyvsp[-1].symbol), current_class, (yylsp[-1]), true);
symbol_type_set ((yyvsp[-1].symbol), current_type, (yylsp[-1]));
symbol_user_token_number_set ((yyvsp[-1].symbol), (yyvsp[0].integer), (yylsp[0]));
}
/* Line 1380 of yacc.c */
-#line 2439 "src/parse-gram.c"
+#line 2447 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 71:
+ case 72:
/* Line 1380 of yacc.c */
-#line 466 "parse-gram.y"
+#line 472 "parse-gram.y"
{
symbol_class_set ((yyvsp[-1].symbol), current_class, (yylsp[-1]), true);
symbol_type_set ((yyvsp[-1].symbol), current_type, (yylsp[-1]));
symbol_make_alias ((yyvsp[-1].symbol), (yyvsp[0].symbol), (yyloc));
}
/* Line 1380 of yacc.c */
-#line 2451 "src/parse-gram.c"
+#line 2459 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 72:
+ case 73:
/* Line 1380 of yacc.c */
-#line 472 "parse-gram.y"
+#line 478 "parse-gram.y"
{
symbol_class_set ((yyvsp[-2].symbol), current_class, (yylsp[-2]), true);
symbol_type_set ((yyvsp[-2].symbol), current_type, (yylsp[-2]));
@@ -2460,110 +2468,110 @@ yyreduce:
symbol_make_alias ((yyvsp[-2].symbol), (yyvsp[0].symbol), (yyloc));
}
/* Line 1380 of yacc.c */
-#line 2464 "src/parse-gram.c"
+#line 2472 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 79:
+ case 80:
/* Line 1380 of yacc.c */
-#line 502 "parse-gram.y"
+#line 508 "parse-gram.y"
{
yyerrok;
}
/* Line 1380 of yacc.c */
-#line 2474 "src/parse-gram.c"
+#line 2482 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 80:
+ case 81:
/* Line 1380 of yacc.c */
-#line 508 "parse-gram.y"
+#line 514 "parse-gram.y"
{ current_lhs = (yyvsp[0].symbol); current_lhs_location = (yylsp[0]); }
/* Line 1380 of yacc.c */
-#line 2482 "src/parse-gram.c"
+#line 2490 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 82:
+ case 83:
/* Line 1380 of yacc.c */
-#line 512 "parse-gram.y"
+#line 518 "parse-gram.y"
{ grammar_current_rule_end ((yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2490 "src/parse-gram.c"
+#line 2498 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 83:
+ case 84:
/* Line 1380 of yacc.c */
-#line 513 "parse-gram.y"
+#line 519 "parse-gram.y"
{ grammar_current_rule_end ((yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2498 "src/parse-gram.c"
+#line 2506 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 85:
+ case 86:
/* Line 1380 of yacc.c */
-#line 519 "parse-gram.y"
+#line 525 "parse-gram.y"
{ grammar_current_rule_begin (current_lhs, current_lhs_location); }
/* Line 1380 of yacc.c */
-#line 2506 "src/parse-gram.c"
+#line 2514 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 86:
+ case 87:
/* Line 1380 of yacc.c */
-#line 521 "parse-gram.y"
+#line 527 "parse-gram.y"
{ grammar_current_rule_symbol_append ((yyvsp[0].symbol), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2514 "src/parse-gram.c"
+#line 2522 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 87:
+ case 88:
/* Line 1380 of yacc.c */
-#line 523 "parse-gram.y"
+#line 529 "parse-gram.y"
{ grammar_current_rule_action_append ((yyvsp[0].code), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2522 "src/parse-gram.c"
+#line 2530 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 88:
+ case 89:
/* Line 1380 of yacc.c */
-#line 525 "parse-gram.y"
+#line 531 "parse-gram.y"
{ grammar_current_rule_prec_set ((yyvsp[0].symbol), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2530 "src/parse-gram.c"
+#line 2538 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 89:
+ case 90:
/* Line 1380 of yacc.c */
-#line 527 "parse-gram.y"
+#line 533 "parse-gram.y"
{ grammar_current_rule_dprec_set ((yyvsp[0].integer), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2538 "src/parse-gram.c"
+#line 2546 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 90:
+ case 91:
/* Line 1380 of yacc.c */
-#line 529 "parse-gram.y"
+#line 535 "parse-gram.y"
{ grammar_current_rule_merge_set ((yyvsp[0].uniqstr), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2546 "src/parse-gram.c"
+#line 2554 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 92:
+ case 93:
/* Line 1380 of yacc.c */
-#line 541 "parse-gram.y"
+#line 547 "parse-gram.y"
{ (yyval.uniqstr) = uniqstr_new ((yyvsp[0].chars)); }
/* Line 1380 of yacc.c */
-#line 2554 "src/parse-gram.c"
+#line 2562 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 93:
+ case 94:
/* Line 1380 of yacc.c */
-#line 546 "parse-gram.y"
+#line 552 "parse-gram.y"
{ (yyval.chars) = ""; }
/* Line 1380 of yacc.c */
-#line 2562 "src/parse-gram.c"
+#line 2570 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 95:
+ case 96:
/* Line 1380 of yacc.c */
-#line 557 "parse-gram.y"
+#line 563 "parse-gram.y"
{
code_props plain_code;
(yyvsp[0].code)[strlen ((yyvsp[0].code)) - 1] = '\n';
@@ -2573,51 +2581,51 @@ yyreduce:
(yyval.chars) = plain_code.code;
}
/* Line 1380 of yacc.c */
-#line 2577 "src/parse-gram.c"
+#line 2585 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 96:
+ case 97:
/* Line 1380 of yacc.c */
-#line 577 "parse-gram.y"
+#line 583 "parse-gram.y"
{ (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2585 "src/parse-gram.c"
+#line 2593 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 97:
+ case 98:
/* Line 1380 of yacc.c */
-#line 579 "parse-gram.y"
+#line 585 "parse-gram.y"
{
(yyval.symbol) = symbol_get (char_name ((yyvsp[0].character)), (yylsp[0]));
symbol_class_set ((yyval.symbol), token_sym, (yylsp[0]), false);
symbol_user_token_number_set ((yyval.symbol), (yyvsp[0].character), (yylsp[0]));
}
/* Line 1380 of yacc.c */
-#line 2597 "src/parse-gram.c"
+#line 2605 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 98:
+ case 99:
/* Line 1380 of yacc.c */
-#line 587 "parse-gram.y"
+#line 593 "parse-gram.y"
{ (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
/* Line 1380 of yacc.c */
-#line 2605 "src/parse-gram.c"
+#line 2613 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 101:
+ case 102:
/* Line 1380 of yacc.c */
-#line 599 "parse-gram.y"
+#line 605 "parse-gram.y"
{
(yyval.symbol) = symbol_get (quotearg_style (c_quoting_style, (yyvsp[0].chars)), (yylsp[0]));
symbol_class_set ((yyval.symbol), token_sym, (yylsp[0]), false);
}
/* Line 1380 of yacc.c */
-#line 2616 "src/parse-gram.c"
+#line 2624 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
- case 103:
+ case 104:
/* Line 1380 of yacc.c */
-#line 608 "parse-gram.y"
+#line 614 "parse-gram.y"
{
code_props plain_code;
code_props_plain_init (&plain_code, (yyvsp[0].chars), (yylsp[0]));
@@ -2627,12 +2635,12 @@ yyreduce:
code_scanner_last_string_free ();
}
/* Line 1380 of yacc.c */
-#line 2631 "src/parse-gram.c"
+#line 2639 "/Users/akim/src/kernel/bison/src/parse-gram.c"
break;
/* Line 1380 of yacc.c */
-#line 2636 "src/parse-gram.c"
+#line 2644 "/Users/akim/src/kernel/bison/src/parse-gram.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2849,7 +2857,7 @@ yyreturn:
}
/* Line 1599 of yacc.c */
-#line 618 "parse-gram.y"
+#line 624 "parse-gram.y"
diff --git a/src/parse-gram.h b/src/parse-gram.h
index 9ea311d..54c7963 100644
--- a/src/parse-gram.h
+++ b/src/parse-gram.h
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.4.323-f8e7-dirty. */
+/* A Bison parser, made by GNU Bison 2.4.334-4197-dirty. */
/* Interface for Bison's Yacc-like parsers in C
@@ -56,40 +56,41 @@
PERCENT_DEFAULT_PREC = 273,
PERCENT_DEFINE = 274,
PERCENT_DEFINES = 275,
- PERCENT_EXPECT = 276,
- PERCENT_EXPECT_RR = 277,
- PERCENT_FLAG = 278,
- PERCENT_FILE_PREFIX = 279,
- PERCENT_GLR_PARSER = 280,
- PERCENT_INITIAL_ACTION = 281,
- PERCENT_LANGUAGE = 282,
- PERCENT_LEX_PARAM = 283,
- PERCENT_NAME_PREFIX = 284,
- PERCENT_NO_DEFAULT_PREC = 285,
- PERCENT_NO_LINES = 286,
- PERCENT_NONDETERMINISTIC_PARSER = 287,
- PERCENT_OUTPUT = 288,
- PERCENT_PARSE_PARAM = 289,
- PERCENT_REQUIRE = 290,
- PERCENT_SKELETON = 291,
- PERCENT_START = 292,
- PERCENT_TOKEN_TABLE = 293,
- PERCENT_VERBOSE = 294,
- PERCENT_YACC = 295,
- BRACED_CODE = 296,
- CHAR = 297,
- EPILOGUE = 298,
- EQUAL = 299,
- ID = 300,
- ID_COLON = 301,
- PERCENT_PERCENT = 302,
- PIPE = 303,
- PROLOGUE = 304,
- SEMICOLON = 305,
- TAG = 306,
- TAG_ANY = 307,
- TAG_NONE = 308,
- PERCENT_UNION = 309
+ PERCENT_ERROR_VERBOSE = 276,
+ PERCENT_EXPECT = 277,
+ PERCENT_EXPECT_RR = 278,
+ PERCENT_FLAG = 279,
+ PERCENT_FILE_PREFIX = 280,
+ PERCENT_GLR_PARSER = 281,
+ PERCENT_INITIAL_ACTION = 282,
+ PERCENT_LANGUAGE = 283,
+ PERCENT_LEX_PARAM = 284,
+ PERCENT_NAME_PREFIX = 285,
+ PERCENT_NO_DEFAULT_PREC = 286,
+ PERCENT_NO_LINES = 287,
+ PERCENT_NONDETERMINISTIC_PARSER = 288,
+ PERCENT_OUTPUT = 289,
+ PERCENT_PARSE_PARAM = 290,
+ PERCENT_REQUIRE = 291,
+ PERCENT_SKELETON = 292,
+ PERCENT_START = 293,
+ PERCENT_TOKEN_TABLE = 294,
+ PERCENT_VERBOSE = 295,
+ PERCENT_YACC = 296,
+ BRACED_CODE = 297,
+ CHAR = 298,
+ EPILOGUE = 299,
+ EQUAL = 300,
+ ID = 301,
+ ID_COLON = 302,
+ PERCENT_PERCENT = 303,
+ PIPE = 304,
+ PROLOGUE = 305,
+ SEMICOLON = 306,
+ TAG = 307,
+ TAG_ANY = 308,
+ TAG_NONE = 309,
+ PERCENT_UNION = 310
};
#endif
/* Tokens. */
@@ -112,40 +113,41 @@
#define PERCENT_DEFAULT_PREC 273
#define PERCENT_DEFINE 274
#define PERCENT_DEFINES 275
-#define PERCENT_EXPECT 276
-#define PERCENT_EXPECT_RR 277
-#define PERCENT_FLAG 278
-#define PERCENT_FILE_PREFIX 279
-#define PERCENT_GLR_PARSER 280
-#define PERCENT_INITIAL_ACTION 281
-#define PERCENT_LANGUAGE 282
-#define PERCENT_LEX_PARAM 283
-#define PERCENT_NAME_PREFIX 284
-#define PERCENT_NO_DEFAULT_PREC 285
-#define PERCENT_NO_LINES 286
-#define PERCENT_NONDETERMINISTIC_PARSER 287
-#define PERCENT_OUTPUT 288
-#define PERCENT_PARSE_PARAM 289
-#define PERCENT_REQUIRE 290
-#define PERCENT_SKELETON 291
-#define PERCENT_START 292
-#define PERCENT_TOKEN_TABLE 293
-#define PERCENT_VERBOSE 294
-#define PERCENT_YACC 295
-#define BRACED_CODE 296
-#define CHAR 297
-#define EPILOGUE 298
-#define EQUAL 299
-#define ID 300
-#define ID_COLON 301
-#define PERCENT_PERCENT 302
-#define PIPE 303
-#define PROLOGUE 304
-#define SEMICOLON 305
-#define TAG 306
-#define TAG_ANY 307
-#define TAG_NONE 308
-#define PERCENT_UNION 309
+#define PERCENT_ERROR_VERBOSE 276
+#define PERCENT_EXPECT 277
+#define PERCENT_EXPECT_RR 278
+#define PERCENT_FLAG 279
+#define PERCENT_FILE_PREFIX 280
+#define PERCENT_GLR_PARSER 281
+#define PERCENT_INITIAL_ACTION 282
+#define PERCENT_LANGUAGE 283
+#define PERCENT_LEX_PARAM 284
+#define PERCENT_NAME_PREFIX 285
+#define PERCENT_NO_DEFAULT_PREC 286
+#define PERCENT_NO_LINES 287
+#define PERCENT_NONDETERMINISTIC_PARSER 288
+#define PERCENT_OUTPUT 289
+#define PERCENT_PARSE_PARAM 290
+#define PERCENT_REQUIRE 291
+#define PERCENT_SKELETON 292
+#define PERCENT_START 293
+#define PERCENT_TOKEN_TABLE 294
+#define PERCENT_VERBOSE 295
+#define PERCENT_YACC 296
+#define BRACED_CODE 297
+#define CHAR 298
+#define EPILOGUE 299
+#define EQUAL 300
+#define ID 301
+#define ID_COLON 302
+#define PERCENT_PERCENT 303
+#define PIPE 304
+#define PROLOGUE 305
+#define SEMICOLON 306
+#define TAG 307
+#define TAG_ANY 308
+#define TAG_NONE 309
+#define PERCENT_UNION 310
@@ -153,7 +155,7 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-/* Line 1663 of yacc.c */
+/* Line 1600 of yacc.c */
#line 92 "parse-gram.y"
symbol *symbol;
@@ -166,8 +168,8 @@ typedef union YYSTYPE
unsigned char character;
-/* Line 1663 of yacc.c */
-#line 171 "src/parse-gram.h"
+/* Line 1600 of yacc.c */
+#line 173 "/Users/akim/src/kernel/bison/src/parse-gram.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
diff --git a/src/parse-gram.y b/src/parse-gram.y
index 8718a6d..a7ffbd9 100644
--- a/src/parse-gram.y
+++ b/src/parse-gram.y
@@ -76,7 +76,7 @@ static int current_prec = 0;
%defines
%locations
%pure-parser
-%error-verbose
+%define parse.error "verbose"
%name-prefix="gram_"
%expect 0
@@ -131,6 +131,7 @@ static int current_prec = 0;
PERCENT_DEFAULT_PREC "%default-prec"
PERCENT_DEFINE "%define"
PERCENT_DEFINES "%defines"
+ PERCENT_ERROR_VERBOSE "%error-verbose"
PERCENT_EXPECT "%expect"
PERCENT_EXPECT_RR "%expect-rr"
PERCENT_FLAG "%"
@@ -238,6 +239,11 @@ prologue_declaration:
defines_flag = true;
spec_defines_file = xstrdup ($2);
}
+| "%error-verbose"
+ {
+ muscle_percent_define_insert ("parse.error", @1, "verbose",
+ MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
+ }
| "%expect" INT { expected_sr_conflicts = $2; }
| "%expect-rr" INT { expected_rr_conflicts = $2; }
| "%file-prefix" STRING { spec_file_prefix = $2; }
diff --git a/src/scan-gram.l b/src/scan-gram.l
index 7c5b600..7fdeae7 100644
--- a/src/scan-gram.l
+++ b/src/scan-gram.l
@@ -181,7 +181,7 @@ splice (\\[ \f\t\v]*\n)*
"%defines" return PERCENT_DEFINES;
"%destructor" return PERCENT_DESTRUCTOR;
"%dprec" return PERCENT_DPREC;
- "%error"[-_]"verbose" RETURN_PERCENT_FLAG("error-verbose");
+ "%error"[-_]"verbose" return PERCENT_ERROR_VERBOSE;
"%expect" return PERCENT_EXPECT;
"%expect"[-_]"rr" return PERCENT_EXPECT_RR;
"%file-prefix" return PERCENT_FILE_PREFIX;
diff --git a/tests/actions.at b/tests/actions.at
index 371cf84..be52791 100644
--- a/tests/actions.at
+++ b/tests/actions.at
@@ -29,7 +29,7 @@ AT_SETUP([Mid-rule actions])
# action.
AT_DATA_GRAMMAR([[input.y]],
-[[%define error-verbose
+[[%define parse.error "verbose"
%debug
%{
# include
@@ -93,7 +93,7 @@ AT_CLEANUP
AT_SETUP([Exotic Dollars])
AT_DATA_GRAMMAR([[input.y]],
-[[%define error-verbose
+[[%define parse.error "verbose"
%debug
%{
# include
@@ -557,7 +557,7 @@ m4_define([AT_CHECK_PRINTER_AND_DESTRUCTOR],
$3
_AT_CHECK_PRINTER_AND_DESTRUCTOR($[1], $[2], $[3], $[4],
-[%define error-verbose
+[%define parse.error "verbose"
%debug
%verbose
%locations
@@ -588,7 +588,7 @@ AT_CHECK_PRINTER_AND_DESTRUCTOR([%glr-parser], [with union])
AT_SETUP([Default tagless %printer and %destructor])
AT_DATA_GRAMMAR([[input.y]],
-[[%define error-verbose
+[[%define parse.error "verbose"
%debug
%locations
%initial-action {
@@ -706,7 +706,7 @@ AT_CLEANUP
AT_SETUP([Default tagged and per-type %printer and %destructor])
AT_DATA_GRAMMAR([[input.y]],
-[[%define error-verbose
+[[%define parse.error "verbose"
%debug
%{
@@ -850,7 +850,7 @@ m4_define([_AT_CHECK_DEFAULT_PRINTER_AND_DESTRUCTOR_FOR_END_TOKEN],
[m4_pushdef([kind], [*]) m4_pushdef([not_kind], [])])
AT_DATA_GRAMMAR([[input]]$1[[.y]],
-[[%define error-verbose
+[[%define parse.error "verbose"
%debug
%locations
%initial-action {
diff --git a/tests/calc.at b/tests/calc.at
index 24a5080..9eee68d 100644
--- a/tests/calc.at
+++ b/tests/calc.at
@@ -401,7 +401,7 @@ AT_PARSER_CHECK([./calc input], 0, [], [stderr])
# If BISON-OPTIONS contains `%location', then make sure the ERROR-LOCATION
# is correctly output on stderr.
#
-# If BISON-OPTIONS contains `%error-verbose', then make sure the
+# If BISON-OPTIONS contains `%define parse.error "verbose"', then make sure the
# IF-YYERROR-VERBOSE message is properly output after `syntax error, '
# on STDERR.
#
@@ -443,7 +443,7 @@ AT_YYERROR_SEES_LOC_IF([],
[[sed 's/^[-0-9.]*: //' expout >at-expout
mv at-expout expout]])
# 4. If error-verbose is not used, strip the`, unexpected....' part.
-m4_bmatch([$1], [%error-verbose], [],
+m4_bmatch([$1], [%define parse.error "verbose"], [],
[[sed 's/syntax error, .*$/syntax error/' expout >at-expout
mv at-expout expout]])
# 5. Check
@@ -572,22 +572,22 @@ AT_CHECK_CALC_LALR([%locations])
AT_CHECK_CALC_LALR([%name-prefix="calc"]) dnl test deprecated `='
AT_CHECK_CALC_LALR([%verbose])
AT_CHECK_CALC_LALR([%yacc])
-AT_CHECK_CALC_LALR([%error-verbose])
+AT_CHECK_CALC_LALR([%define parse.error "verbose"])
AT_CHECK_CALC_LALR([%define api.pure %locations])
AT_CHECK_CALC_LALR([%define api.push-pull "both" %define api.pure %locations])
-AT_CHECK_CALC_LALR([%error-verbose %locations])
+AT_CHECK_CALC_LALR([%define parse.error "verbose" %locations])
-AT_CHECK_CALC_LALR([%error-verbose %locations %defines %name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_LALR([%error-verbose %locations %defines %name-prefix "calc" %define api.tokens.prefix "TOK_" %verbose %yacc])
+AT_CHECK_CALC_LALR([%define parse.error "verbose" %locations %defines %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_LALR([%define parse.error "verbose" %locations %defines %name-prefix "calc" %define api.tokens.prefix "TOK_" %verbose %yacc])
AT_CHECK_CALC_LALR([%debug])
-AT_CHECK_CALC_LALR([%error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_LALR([%define parse.error "verbose" %debug %locations %defines %name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_LALR([%define api.pure %error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_LALR([%define api.push-pull "both" %define api.pure %error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_LALR([%define api.pure %define parse.error "verbose" %debug %locations %defines %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_LALR([%define api.push-pull "both" %define api.pure %define parse.error "verbose" %debug %locations %defines %name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_LALR([%define api.pure %error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}])
+AT_CHECK_CALC_LALR([%define api.pure %define parse.error "verbose" %debug %locations %defines %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}])
# ----------------------- #
@@ -611,20 +611,20 @@ AT_CHECK_CALC_GLR([%locations])
AT_CHECK_CALC_GLR([%name-prefix "calc"])
AT_CHECK_CALC_GLR([%verbose])
AT_CHECK_CALC_GLR([%yacc])
-AT_CHECK_CALC_GLR([%error-verbose])
+AT_CHECK_CALC_GLR([%define parse.error "verbose"])
AT_CHECK_CALC_GLR([%define api.pure %locations])
-AT_CHECK_CALC_GLR([%error-verbose %locations])
+AT_CHECK_CALC_GLR([%define parse.error "verbose" %locations])
-AT_CHECK_CALC_GLR([%error-verbose %locations %defines %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_GLR([%define parse.error "verbose" %locations %defines %name-prefix "calc" %verbose %yacc])
AT_CHECK_CALC_GLR([%debug])
-AT_CHECK_CALC_GLR([%error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_GLR([%error-verbose %debug %locations %defines %name-prefix "calc" %define api.tokens.prefix "TOK_" %verbose %yacc])
+AT_CHECK_CALC_GLR([%define parse.error "verbose" %debug %locations %defines %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_GLR([%define parse.error "verbose" %debug %locations %defines %name-prefix "calc" %define api.tokens.prefix "TOK_" %verbose %yacc])
-AT_CHECK_CALC_GLR([%define api.pure %error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_GLR([%define api.pure %define parse.error "verbose" %debug %locations %defines %name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_GLR([%define api.pure %error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}])
+AT_CHECK_CALC_GLR([%define api.pure %define parse.error "verbose" %debug %locations %defines %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}])
# ----------------------------- #
@@ -645,14 +645,14 @@ m4_define([AT_CHECK_CALC_LALR1_CC],
AT_CHECK_CALC_LALR1_CC([])
AT_CHECK_CALC_LALR1_CC([%locations])
-AT_CHECK_CALC_LALR1_CC([%locations %error-verbose %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_LALR1_CC([%locations %define parse.error "verbose" %name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_LALR1_CC([%locations %error-verbose %debug %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_LALR1_CC([%locations %define parse.error "verbose" %debug %name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_LALR1_CC([%locations %pure-parser %error-verbose %debug %name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_LALR1_CC([%locations %pure-parser %error-verbose %debug %name-prefix "calc" %define api.tokens.prefix "TOK_" %verbose %yacc])
+AT_CHECK_CALC_LALR1_CC([%locations %pure-parser %define parse.error "verbose" %debug %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_LALR1_CC([%locations %pure-parser %define parse.error "verbose" %debug %name-prefix "calc" %define api.tokens.prefix "TOK_" %verbose %yacc])
-AT_CHECK_CALC_LALR1_CC([%locations %pure-parser %error-verbose %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}])
+AT_CHECK_CALC_LALR1_CC([%locations %pure-parser %define parse.error "verbose" %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}])
@@ -673,12 +673,12 @@ m4_define([AT_CHECK_CALC_GLR_CC],
[AT_CHECK_CALC([%language "C++" %glr-parser %defines %locations] $@)])
AT_CHECK_CALC_GLR_CC([])
-AT_CHECK_CALC_GLR_CC([%error-verbose %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_GLR_CC([%define parse.error "verbose" %name-prefix "calc" %verbose %yacc])
AT_CHECK_CALC_GLR_CC([%debug])
-AT_CHECK_CALC_GLR_CC([%error-verbose %debug %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_GLR_CC([%define parse.error "verbose" %debug %name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_GLR_CC([%pure-parser %error-verbose %debug %name-prefix "calc" %verbose %yacc])
-AT_CHECK_CALC_GLR_CC([%pure-parser %error-verbose %debug %name-prefix "calc" %define api.tokens.prefix "TOK_" %verbose %yacc])
+AT_CHECK_CALC_GLR_CC([%pure-parser %define parse.error "verbose" %debug %name-prefix "calc" %verbose %yacc])
+AT_CHECK_CALC_GLR_CC([%pure-parser %define parse.error "verbose" %debug %name-prefix "calc" %define api.tokens.prefix "TOK_" %verbose %yacc])
-AT_CHECK_CALC_GLR_CC([%pure-parser %error-verbose %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}])
+AT_CHECK_CALC_GLR_CC([%pure-parser %define parse.error "verbose" %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}])
--
1.6.3.2