mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
Factor %FLAG at scan level.
* src/parse-gram.y (PERCENT_DEBUG, PERCENT_ERROR_VERBOSE): Token definitions and associated rules, replaced by.... (PERCENT_FLAG): this new token type, and rule. * src/scan-gram.l (RETURN_PERCENT_FLAG): New. Use it for %debug and %error-verbose.
This commit is contained in:
@@ -1,3 +1,12 @@
|
||||
2009-04-03 Akim Demaille <demaille@gostai.com>
|
||||
|
||||
Factor %FLAG at scan level.
|
||||
* src/parse-gram.y (PERCENT_DEBUG, PERCENT_ERROR_VERBOSE): Token
|
||||
definitions and associated rules, replaced by....
|
||||
(PERCENT_FLAG): this new token type, and rule.
|
||||
* src/scan-gram.l (RETURN_PERCENT_FLAG): New.
|
||||
Use it for %debug and %error-verbose.
|
||||
|
||||
2009-04-03 Akim Demaille <demaille@gostai.com>
|
||||
|
||||
Regen.
|
||||
|
||||
@@ -128,13 +128,13 @@ static int current_prec = 0;
|
||||
|
||||
%token
|
||||
PERCENT_CODE "%code"
|
||||
PERCENT_DEBUG "%debug"
|
||||
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 "%<flag>"
|
||||
PERCENT_FILE_PREFIX "%file-prefix"
|
||||
PERCENT_GLR_PARSER "%glr-parser"
|
||||
PERCENT_INITIAL_ACTION "%initial-action"
|
||||
@@ -183,10 +183,11 @@ static int current_prec = 0;
|
||||
%printer { fprintf (stderr, "{\n%s\n}", $$); }
|
||||
braceless content.opt "{...}" "%{...%}" EPILOGUE
|
||||
|
||||
%type <uniqstr> TAG ID ID_COLON variable
|
||||
%printer { fprintf (stderr, "<%s>", $$); } TAG
|
||||
%type <uniqstr> TAG ID ID_COLON PERCENT_FLAG variable
|
||||
%printer { fputs ($$, stderr); } ID variable
|
||||
%printer { fprintf (stderr, "%s:", $$); } ID_COLON
|
||||
%printer { fprintf (stderr, "%%%s", $$); } PERCENT_FLAG
|
||||
%printer { fprintf (stderr, "<%s>", $$); } TAG
|
||||
|
||||
%type <integer> INT
|
||||
%printer { fprintf (stderr, "%d", $$); } INT
|
||||
@@ -225,9 +226,9 @@ prologue_declaration:
|
||||
plain_code.code, @1);
|
||||
code_scanner_last_string_free ();
|
||||
}
|
||||
| "%debug"
|
||||
| "%<flag>"
|
||||
{
|
||||
muscle_percent_define_insert ("debug", @$, "");
|
||||
muscle_percent_define_insert ($1, @1, "");
|
||||
}
|
||||
| "%define" variable content.opt
|
||||
{
|
||||
@@ -239,10 +240,6 @@ prologue_declaration:
|
||||
defines_flag = true;
|
||||
spec_defines_file = xstrdup ($2);
|
||||
}
|
||||
| "%error-verbose"
|
||||
{
|
||||
muscle_percent_define_insert ("error_verbose", @$, "");
|
||||
}
|
||||
| "%expect" INT { expected_sr_conflicts = $2; }
|
||||
| "%expect-rr" INT { expected_rr_conflicts = $2; }
|
||||
| "%file-prefix" STRING { spec_file_prefix = $2; }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* Bison Grammar Scanner -*- C -*-
|
||||
|
||||
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation,
|
||||
Inc.
|
||||
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
|
||||
@@ -55,6 +55,13 @@ static boundary scanner_cursor;
|
||||
static size_t no_cr_read (FILE *, char *, size_t);
|
||||
#define YY_INPUT(buf, result, size) ((result) = no_cr_read (yyin, buf, size))
|
||||
|
||||
#define RETURN_PERCENT_FLAG(Value) \
|
||||
do { \
|
||||
val->uniqstr = uniqstr_new (Value); \
|
||||
return PERCENT_FLAG; \
|
||||
} while (0)
|
||||
|
||||
|
||||
/* A string representing the most recently saved token. */
|
||||
static char *last_string;
|
||||
|
||||
@@ -168,13 +175,13 @@ splice (\\[ \f\t\v]*\n)*
|
||||
{
|
||||
"%binary" return PERCENT_NONASSOC;
|
||||
"%code" return PERCENT_CODE;
|
||||
"%debug" return PERCENT_DEBUG;
|
||||
"%debug" RETURN_PERCENT_FLAG("debug");
|
||||
"%default"[-_]"prec" return PERCENT_DEFAULT_PREC;
|
||||
"%define" return PERCENT_DEFINE;
|
||||
"%defines" return PERCENT_DEFINES;
|
||||
"%destructor" return PERCENT_DESTRUCTOR;
|
||||
"%dprec" return PERCENT_DPREC;
|
||||
"%error"[-_]"verbose" return PERCENT_ERROR_VERBOSE;
|
||||
"%error"[-_]"verbose" RETURN_PERCENT_FLAG("error_verbose");
|
||||
"%expect" return PERCENT_EXPECT;
|
||||
"%expect"[-_]"rr" return PERCENT_EXPECT_RR;
|
||||
"%file-prefix" return PERCENT_FILE_PREFIX;
|
||||
|
||||
Reference in New Issue
Block a user