The location tracking mechanism is precious for parse error

messages.  Nevertheless, it is enabled only when `@n' is used in
the grammar, which is a different issue (you can use it in error
message, but not in the grammar per se).  Therefore, there should
be another means to enable it.
* src/getargs.c (getargs): Support `--locations'.
(usage): Report it.
* src/getargs.h (locationsflag): Export it.
* src/lex.c (percent_table): Support `%locations'.
* src/reader.c (yylsp_needed): Remove this variable, now replaced
with `locationsflag'.
* doc/bison.texinfo: Document `--locations' and `%locations'.
Sort the options.
* tests/calc.m4: Test it.
For regularity of the names, replace each
(nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
(no_lineflag, token_tableflag, rawflag, no_parserflag): this.
In addition replace each `flag' with `_flag'.
This commit is contained in:
Akim Demaille
2000-10-02 10:20:59 +00:00
parent d6c2cba06d
commit 89cab50df1
13 changed files with 377 additions and 251 deletions

View File

@@ -45,7 +45,7 @@ static int rrc_count;
static inline void
log_resolution (int state, int LAno, int token, char *resolution)
{
if (verboseflag)
if (verbose_flag)
fprintf (foutput,
_("\
Conflict in state %d between rule %d and token %s resolved as %s.\n"),
@@ -456,7 +456,7 @@ print_conflicts (void)
src_total += src_count;
rrc_total += rrc_count;
if (verboseflag)
if (verbose_flag)
{
fprintf (foutput, _("State %d contains"), i);
conflict_report (foutput, src_count, rrc_count);
@@ -465,7 +465,7 @@ print_conflicts (void)
}
/* Report the total number of conflicts on STDERR. */
if (yaccflag)
if (yacc_flag)
{
/* If invoked with `--yacc', use the output format specified by
POSIX. */