mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 04:13:03 +00:00
* NEWS (2.3a+): Mention that -g now takes an argument.
* doc/bison.texinfo (Bison Options): Reword -W entry a little for consistency. Update the -g and -x entries now that they take arguments. Use brackets to indicate optional arguments. * src/getargs.c (usage): Explain the relationship between arguments of long and short options more completely. Document --defines and -d separately since the former takes an argument but, for POSIX Yacc, the latter does not. (short_options): Let -W take an optional argument like --warnings. (getargs): Sort cases.
This commit is contained in:
13
ChangeLog
13
ChangeLog
@@ -1,3 +1,16 @@
|
||||
2008-03-08 Joel E. Denny <jdenny@ces.clemson.edu>
|
||||
|
||||
* NEWS (2.3a+): Mention that -g now takes an argument.
|
||||
* doc/bison.texinfo (Bison Options): Reword -W entry a little for
|
||||
consistency. Update the -g and -x entries now that they take
|
||||
arguments. Use brackets to indicate optional arguments.
|
||||
* src/getargs.c (usage): Explain the relationship between arguments of
|
||||
long and short options more completely. Document --defines and -d
|
||||
separately since the former takes an argument but, for POSIX Yacc, the
|
||||
latter does not.
|
||||
(short_options): Let -W take an optional argument like --warnings.
|
||||
(getargs): Sort cases.
|
||||
|
||||
2008-02-28 Akim Demaille <demaille@gostai.com>
|
||||
|
||||
* doc/bison.texinfo: Fix a few typos.
|
||||
|
||||
3
NEWS
3
NEWS
@@ -32,7 +32,8 @@ Changes in version 2.3a+ (????-??-??):
|
||||
feedback will help to stabilize it.
|
||||
|
||||
* The -g and --graph options now output graphs in Graphviz DOT format,
|
||||
not VCG format.
|
||||
not VCG format. Like --graph, -g now also takes an optional FILE argument
|
||||
and thus cannot be bundled with other short options.
|
||||
|
||||
* Java
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
|
||||
.TH BISON "1" "February 2008" "bison 2.3a+" "User Commands"
|
||||
.TH BISON "1" "March 2008" "bison 2.3a+" "User Commands"
|
||||
.SH NAME
|
||||
bison \- GNU Project parser generator (yacc replacement)
|
||||
.SH SYNOPSIS
|
||||
@@ -61,6 +61,7 @@ connect the option name and the argument with
|
||||
Generate LALR(1) and GLR parsers.
|
||||
.PP
|
||||
Mandatory arguments to long options are mandatory for short options too.
|
||||
The same is true for optional arguments.
|
||||
.SS "Operation modes:"
|
||||
.TP
|
||||
\fB\-h\fR, \fB\-\-help\fR
|
||||
@@ -104,9 +105,12 @@ don't generate `#line' directives
|
||||
include a table of token names
|
||||
.SS "Output:"
|
||||
.TP
|
||||
\fB\-d\fR, \fB\-\-defines\fR[=\fIFILE\fR]
|
||||
\fB\-\-defines\fR[=\fIFILE\fR]
|
||||
also produce a header file
|
||||
.TP
|
||||
\fB\-d\fR
|
||||
likewise but cannot specify FILE (for POSIX Yacc)
|
||||
.TP
|
||||
\fB\-r\fR, \fB\-\-report\fR=\fITHINGS\fR
|
||||
also produce details on the automaton
|
||||
.TP
|
||||
|
||||
@@ -7782,16 +7782,16 @@ Output warnings falling in @var{category}. @var{category} can be one
|
||||
of:
|
||||
@table @code
|
||||
@item midrule-values
|
||||
Warn about about mid-rule values that are set but not used within any of
|
||||
the actions of the parent rule. For example, Bison warns about unused
|
||||
@code{$2} in:
|
||||
Warn about mid-rule values that are set but not used within any of the actions
|
||||
of the parent rule.
|
||||
For example, warn about unused @code{$2} in:
|
||||
|
||||
@example
|
||||
exp: '1' @{ $$ = 1; @} '+' exp @{ $$ = $1 + $4; @};
|
||||
@end example
|
||||
|
||||
It also warns about mid-rule values that are used but not set. For
|
||||
example, Bison warns about unset @code{$$} in the mid-rule action in:
|
||||
Also warn about mid-rule values that are used but not set.
|
||||
For example, warn about unset @code{$$} in the mid-rule action in:
|
||||
|
||||
@example
|
||||
exp: '1' @{ $1 = 1; @} '+' exp @{ $$ = $2 + $4; @};
|
||||
@@ -7799,18 +7799,18 @@ example, Bison warns about unset @code{$$} in the mid-rule action in:
|
||||
|
||||
These warnings are not enabled by default since they sometimes prove to
|
||||
be false alarms in existing grammars employing the Yacc constructs
|
||||
@code{$0} or @code{$-@var{b}} (where @var{n} is some positive integer).
|
||||
@code{$0} or @code{$-@var{n}} (where @var{n} is some positive integer).
|
||||
|
||||
|
||||
@item yacc
|
||||
Incompatibilities with @acronym{POSIX} Yacc.
|
||||
|
||||
@item all
|
||||
all the warnings
|
||||
All the warnings.
|
||||
@item none
|
||||
turn off all the warnings
|
||||
Turn off all the warnings.
|
||||
@item error
|
||||
treat warnings as errors
|
||||
Treat warnings as errors.
|
||||
@end table
|
||||
|
||||
A category can be turned off by prefixing its name with @samp{no-}. For
|
||||
@@ -7876,14 +7876,15 @@ Pretend that @code{%token-table} was specified. @xref{Decl Summary}.
|
||||
Adjust the output:
|
||||
|
||||
@table @option
|
||||
@item -d
|
||||
@itemx --defines
|
||||
@item --defines[=@var{file}]
|
||||
Pretend that @code{%defines} was specified, i.e., write an extra output
|
||||
file containing macro definitions for the token type names defined in
|
||||
the grammar, as well as a few other declarations. @xref{Decl Summary}.
|
||||
|
||||
@item --defines=@var{defines-file}
|
||||
Same as above, but save in the file @var{defines-file}.
|
||||
@item -d
|
||||
This is the same as @code{--defines} except @code{-d} does not accept a
|
||||
@var{file} argument since POSIX Yacc requires that @code{-d} can be bundled
|
||||
with other short options.
|
||||
|
||||
@item -b @var{file-prefix}
|
||||
@itemx --file-prefix=@var{prefix}
|
||||
@@ -7925,22 +7926,19 @@ Specify the @var{file} for the parser file.
|
||||
The other output files' names are constructed from @var{file} as
|
||||
described under the @samp{-v} and @samp{-d} options.
|
||||
|
||||
@item -g
|
||||
@item -g[@var{file}]
|
||||
@itemx --graph[=@var{file}]
|
||||
Output a graphical representation of the @acronym{LALR}(1) grammar
|
||||
automaton computed by Bison, in @uref{http://www.graphviz.org/, Graphviz}
|
||||
@uref{http://www.graphviz.org/doc/info/lang.html, @acronym{DOT}} format.
|
||||
If the grammar file is @file{foo.y}, the output file will
|
||||
be @file{foo.dot}.
|
||||
@code{@var{file}} is optional.
|
||||
If omitted and the grammar file is @file{foo.y}, the output file will be
|
||||
@file{foo.dot}.
|
||||
|
||||
@item --graph=@var{graph-file}
|
||||
The behavior of @var{--graph} is the same as @samp{-g}. The only
|
||||
difference is that it has an optional argument which is the name of
|
||||
the output graph file.
|
||||
|
||||
@item -x
|
||||
@itemx --xml=@var{file}
|
||||
@item -x[@var{file}]
|
||||
@itemx --xml[=@var{file}]
|
||||
Output an XML report of the @acronym{LALR}(1) automaton computed by Bison.
|
||||
@code{=@var{file}} is optional.
|
||||
@code{@var{file}} is optional.
|
||||
If omitted and the grammar file is @file{foo.y}, the output file will be
|
||||
@file{foo.xml}.
|
||||
(The current XML schema is experimental and may evolve.
|
||||
|
||||
@@ -253,6 +253,9 @@ Generate LALR(1) and GLR parsers.\n\
|
||||
|
||||
fputs (_("\
|
||||
Mandatory arguments to long options are mandatory for short options too.\n\
|
||||
"), stdout);
|
||||
fputs (_("\
|
||||
The same is true for optional arguments.\n\
|
||||
"), stdout);
|
||||
|
||||
fputs (_("\
|
||||
@@ -279,9 +282,12 @@ Parser:\n\
|
||||
\n\
|
||||
"), stdout);
|
||||
|
||||
/* Keep -d and --defines separate so that ../build-aux/cross-options.pl
|
||||
* won't assume that -d also takes an argument. */
|
||||
fputs (_("\
|
||||
Output:\n\
|
||||
-d, --defines[=FILE] also produce a header file\n\
|
||||
--defines[=FILE] also produce a header file\n\
|
||||
-d likewise but cannot specify FILE (for POSIX Yacc)\n\
|
||||
-r, --report=THINGS also produce details on the automaton\n\
|
||||
--report-file=FILE write report to FILE\n\
|
||||
-v, --verbose same as `--report=state'\n\
|
||||
@@ -410,7 +416,7 @@ static char const short_options[] =
|
||||
"S:"
|
||||
"T::"
|
||||
"V"
|
||||
"W"
|
||||
"W::"
|
||||
"b:"
|
||||
"d"
|
||||
"e"
|
||||
@@ -503,27 +509,17 @@ getargs (int argc, char *argv[])
|
||||
/* Certain long options cause getopt_long to return 0. */
|
||||
break;
|
||||
|
||||
case 'b':
|
||||
spec_file_prefix = AS_FILE_NAME (optarg);
|
||||
break;
|
||||
|
||||
case 'g':
|
||||
/* Here, the -g and --graph=FILE options are differentiated. */
|
||||
graph_flag = true;
|
||||
case 'd':
|
||||
/* Here, the -d and --defines options are differentiated. */
|
||||
defines_flag = true;
|
||||
if (optarg)
|
||||
spec_graph_file = xstrdup (AS_FILE_NAME (optarg));
|
||||
spec_defines_file = xstrdup (AS_FILE_NAME (optarg));
|
||||
break;
|
||||
|
||||
case 'x':
|
||||
/* Here, the -x and --xml=FILE options are differentiated. */
|
||||
xml_flag = true;
|
||||
if (optarg)
|
||||
spec_xml_file = xstrdup (AS_FILE_NAME (optarg));
|
||||
case 'I':
|
||||
include = AS_FILE_NAME (optarg);
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
usage (EXIT_SUCCESS);
|
||||
|
||||
case 'L':
|
||||
language_argmatch (optarg, 0, NULL);
|
||||
break;
|
||||
@@ -532,17 +528,34 @@ getargs (int argc, char *argv[])
|
||||
skeleton_arg (AS_FILE_NAME (optarg), 0, NULL);
|
||||
break;
|
||||
|
||||
case 'I':
|
||||
include = AS_FILE_NAME (optarg);
|
||||
case 'T':
|
||||
FLAGS_ARGMATCH (trace, optarg);
|
||||
break;
|
||||
|
||||
case 'd':
|
||||
/* Here, the -d and --defines options are differentiated. */
|
||||
defines_flag = true;
|
||||
case 'V':
|
||||
version ();
|
||||
exit (EXIT_SUCCESS);
|
||||
|
||||
case 'W':
|
||||
if (optarg)
|
||||
spec_defines_file = xstrdup (AS_FILE_NAME (optarg));
|
||||
FLAGS_ARGMATCH (warnings, optarg);
|
||||
else
|
||||
warnings_flag |= warnings_all;
|
||||
break;
|
||||
|
||||
case 'b':
|
||||
spec_file_prefix = AS_FILE_NAME (optarg);
|
||||
break;
|
||||
|
||||
case 'g':
|
||||
graph_flag = true;
|
||||
if (optarg)
|
||||
spec_graph_file = xstrdup (AS_FILE_NAME (optarg));
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
usage (EXIT_SUCCESS);
|
||||
|
||||
case 'k':
|
||||
token_table_flag = true;
|
||||
break;
|
||||
@@ -563,35 +576,22 @@ getargs (int argc, char *argv[])
|
||||
FLAGS_ARGMATCH (report, optarg);
|
||||
break;
|
||||
|
||||
case REPORT_FILE_OPTION:
|
||||
spec_verbose_file = xstrdup (AS_FILE_NAME (optarg));
|
||||
break;
|
||||
|
||||
case 'T':
|
||||
FLAGS_ARGMATCH (trace, optarg);
|
||||
break;
|
||||
|
||||
case 't':
|
||||
debug_flag = true;
|
||||
break;
|
||||
|
||||
case 'V':
|
||||
version ();
|
||||
exit (EXIT_SUCCESS);
|
||||
|
||||
case 'v':
|
||||
report_flag |= report_states;
|
||||
break;
|
||||
|
||||
case 'y':
|
||||
yacc_flag = true;
|
||||
case 'x':
|
||||
xml_flag = true;
|
||||
if (optarg)
|
||||
spec_xml_file = xstrdup (AS_FILE_NAME (optarg));
|
||||
break;
|
||||
|
||||
case 'W':
|
||||
if (optarg)
|
||||
FLAGS_ARGMATCH (warnings, optarg);
|
||||
else
|
||||
warnings_flag |= warnings_all;
|
||||
case 'y':
|
||||
yacc_flag = true;
|
||||
break;
|
||||
|
||||
case LOCATIONS_OPTION:
|
||||
@@ -606,6 +606,10 @@ getargs (int argc, char *argv[])
|
||||
printf ("%s\n", compute_pkgdatadir ());
|
||||
exit (EXIT_SUCCESS);
|
||||
|
||||
case REPORT_FILE_OPTION:
|
||||
spec_verbose_file = xstrdup (AS_FILE_NAME (optarg));
|
||||
break;
|
||||
|
||||
default:
|
||||
usage (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user