]> git.saurik.com Git - bison.git/commitdiff
* NEWS (2.3a+): Mention that -g now takes an argument.
authorJoel E. Denny <jdenny@ces.clemson.edu>
Sat, 8 Mar 2008 20:49:57 +0000 (20:49 +0000)
committerJoel E. Denny <jdenny@ces.clemson.edu>
Sat, 8 Mar 2008 20:49:57 +0000 (20:49 +0000)
* 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.

ChangeLog
NEWS
doc/bison.1
doc/bison.texinfo
src/getargs.c

index 42fd54c01cb46207b3ece12bb226b75b776c3749..79be1a061a315c47c20297d5c361fd751e98791a 100644 (file)
--- a/ChangeLog
+++ b/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.
diff --git a/NEWS b/NEWS
index 177454490ebb0c45e786f9b1fc2eed1ae9504c83..1e1d0ae223a3b2a7a36660ff734251ca267286e3 100644 (file)
--- a/NEWS
+++ b/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
 
index e46d1ea6b03fa551420cd83aca75d2720204d43a..9fb8676c9b7b8f21a15814987ff0a67e3ce8b5c3 100644 (file)
@@ -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
index cf775a936c1c8a7afd22f3d2bb6a7842102ca369..b6a98f9db3c2fb7a0ed58a97950c7a3200a43d6e 100644 (file)
@@ -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}.
-
-@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.
+@code{@var{file}} is optional.
+If omitted and the grammar file is @file{foo.y}, the output file will be
+@file{foo.dot}.
 
-@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.
index 77f147d35875f7e9c8f74b9168695bdfc046c98a..92846b64720a0d9caaaa9b7bc78990381a3f03e5 100644 (file)
@@ -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);
       }