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

@@ -25,15 +25,16 @@
extern char *spec_file_prefix; /* for -b */
extern char *spec_name_prefix; /* for -p */
extern int debugflag; /* for -t */
extern int definesflag; /* for -d */
extern int nolinesflag; /* for -l */
extern int noparserflag; /* for -n */
extern int rawtoknumflag; /* for -r */
extern int statisticsflag;
extern int toknumflag; /* for -k */
extern int verboseflag; /* for -v */
extern int yaccflag; /* for -y */
extern int debug_flag; /* for -t */
extern int defines_flag; /* for -d */
extern int locations_flag;
extern int no_lines_flag; /* for -l */
extern int no_parser_flag; /* for -n */
extern int raw_flag; /* for -r */
extern int statistics_flag;
extern int token_table_flag; /* for -k */
extern int verbose_flag; /* for -v */
extern int yacc_flag; /* for -y */
void getargs PARAMS ((int argc, char *argv[]));