]> git.saurik.com Git - bison.git/commitdiff
Accept --report-file=FILE to override the default `.output' filename.
authorJoel E. Denny <jdenny@ces.clemson.edu>
Sun, 18 Nov 2007 06:40:41 +0000 (06:40 +0000)
committerJoel E. Denny <jdenny@ces.clemson.edu>
Sun, 18 Nov 2007 06:40:41 +0000 (06:40 +0000)
* NEWS (2.3a+): Mention.
* doc/bison.texinfo (Bison Options): Add an entry.
* src/files.c (compute_output_file_names): Don't override
spec_verbose_file if already set.
* src/getargs.c (usage): Document --report-file.
(REPORT_FILE_OPTION): New anonymous enum member.
(long_options): Add entry for it.
(getargs): Add case for it setting spec_verbose_file.

* build-aux/cross-options.pl: Don't record a short option just because
there's an arg.
* doc/.cvsignore: Add yacc.1.

ChangeLog
NEWS
build-aux/cross-options.pl
doc/.cvsignore
doc/bison.1
doc/bison.texinfo
src/files.c
src/getargs.c

index 84c0195e12dbbde1ff3dbd35dd5a37e48fc218e5..741f68ed98dccf661ebd5c63f18210eda492c482 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2007-11-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Accept --report-file=FILE to override the default `.output' filename.
+       * NEWS (2.3a+): Mention.
+       * doc/bison.texinfo (Bison Options): Add an entry.
+       * src/files.c (compute_output_file_names): Don't override
+       spec_verbose_file if already set.
+       * src/getargs.c (usage): Document --report-file.
+       (REPORT_FILE_OPTION): New anonymous enum member.
+       (long_options): Add entry for it.
+       (getargs): Add case for it setting spec_verbose_file.
+
+       * build-aux/cross-options.pl: Don't record a short option just because
+       there's an arg.
+       * doc/.cvsignore: Add yacc.1.
+
 2007-11-14  Akim Demaille  <akim@epita.fr>
 
        * doc/yacc.1.in: New.
diff --git a/NEWS b/NEWS
index ad7903cc6e7d2e7ab9e076ea91c5bebe46ec8717..afc354211e027d4a1518a9a8fc11ae3e071fa14a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -78,6 +78,8 @@ Changes in version 2.3a+ (????-??-??):
   bug affected only the `.output' file and not the generated parser source
   code.
 
+* --report-file=FILE is a new flag to override the default `.output' file name.
+
 * The `=' that used to be required in the following directives is now
   deprecated:
 
index 4c941b04c339978a75aa361f5875e4a62807dd00..cbd11888bd21df4f1fbe338ef1612e5281f28702 100755 (executable)
@@ -17,7 +17,7 @@ while (<>)
            $arg = '@var{' . lc ($arg) . '}';
            $arg = '[' . $arg . ']'
                if defined $opt;
-           $option{"$long=$arg"} = "$short $arg";
+           $option{"$long=$arg"} = $short ? "$short $arg" : '';
        }
        else
        {
index f3d7a603aec7908e7cfbaf837f9871d9b19612a4..8365feabbfe3efb6c830d6230dd55d0e9cf626ec 100644 (file)
@@ -13,11 +13,12 @@ bison.ps
 bison.toc
 bison.tp
 bison.vr
+cross-options.texi
+Makefile.in
 refcard.dvi
 refcard.log
 refcard.ps
-Makefile.in
 *.info*
 stamp-vti
 version.texi
-cross-options.texi
+yacc.1
index 1d8ef3c81e807087a0f2b121cafb7b2e7a2993c6..d8305c06f5a04e0d693292ac0569ddf179189db5 100644 (file)
@@ -107,6 +107,9 @@ also produce a header file
 \fB\-r\fR, \fB\-\-report\fR=\fITHINGS\fR
 also produce details on the automaton
 .TP
+\fB\-\-report\-file\fR=\fIFILE\fR
+write report to FILE
+.TP
 \fB\-v\fR, \fB\-\-verbose\fR
 same as `\-\-report=state'
 .TP
index 8268783f5dbcce0b50ca2fa924a0522cc1358cc3..9d0da773eb75ebef0bc91b66f03ade79f5beddf0 100644 (file)
@@ -7827,6 +7827,9 @@ Implies @code{state} and augments the description of the automaton with
 the full set of items for each state, instead of its core only.
 @end table
 
+@item --report-file=@var{file}
+Specify the @var{file} for the verbose description.
+
 @item -v
 @itemx --verbose
 Pretend that @code{%verbose} was specified, i.e., write an extra output
index c6aca4534804f5589468cb4a74b683a7e504add6..0499a35376f7535a91f1d92e78bb9410d75fec23 100644 (file)
@@ -338,7 +338,8 @@ compute_output_file_names (void)
 
   if (report_flag)
     {
-      spec_verbose_file = concat2 (all_but_tab_ext, OUTPUT_EXT);
+      if (!spec_verbose_file)
+        spec_verbose_file = concat2 (all_but_tab_ext, OUTPUT_EXT);
       output_file_name_check (spec_verbose_file);
     }
 
index 3e143aa387aecdd26a31273f50e0e2de0e8182ed..c030db805ed6a75949eb4e8332b760c87cc637be 100644 (file)
@@ -282,6 +282,7 @@ Parser:\n\
 Output:\n\
   -d, --defines[=FILE]       also produce a header file\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\
   -b, --file-prefix=PREFIX   specify a PREFIX for output files\n\
   -o, --output=FILE          leave output to FILE\n\
@@ -408,7 +409,8 @@ enum
 {
   LOCATIONS_OPTION = CHAR_MAX + 1,
   PRINT_LOCALEDIR_OPTION,
-  PRINT_DATADIR_OPTION
+  PRINT_DATADIR_OPTION,
+  REPORT_FILE_OPTION
 };
 
 static struct option const long_options[] =
@@ -431,6 +433,7 @@ static struct option const long_options[] =
   { "graph",      optional_argument,   0,   'g' },
   { "xml",         optional_argument,   0,   'x' },
   { "report",     required_argument,   0,   'r' },
+  { "report-file", required_argument,   0,   REPORT_FILE_OPTION },
   { "verbose",    no_argument,         0,   'v' },
 
   /* Hidden. */
@@ -536,6 +539,10 @@ 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;