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.
This commit is contained in:
Joel E. Denny
2007-11-18 06:40:41 +00:00
parent a005a9c4dc
commit 1bb2bd75f0
8 changed files with 38 additions and 5 deletions

View File

@@ -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> 2007-11-14 Akim Demaille <akim@epita.fr>
* doc/yacc.1.in: New. * doc/yacc.1.in: New.

2
NEWS
View File

@@ -78,6 +78,8 @@ Changes in version 2.3a+ (????-??-??):
bug affected only the `.output' file and not the generated parser source bug affected only the `.output' file and not the generated parser source
code. 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 * The `=' that used to be required in the following directives is now
deprecated: deprecated:

View File

@@ -17,7 +17,7 @@ while (<>)
$arg = '@var{' . lc ($arg) . '}'; $arg = '@var{' . lc ($arg) . '}';
$arg = '[' . $arg . ']' $arg = '[' . $arg . ']'
if defined $opt; if defined $opt;
$option{"$long=$arg"} = "$short $arg"; $option{"$long=$arg"} = $short ? "$short $arg" : '';
} }
else else
{ {

View File

@@ -13,11 +13,12 @@ bison.ps
bison.toc bison.toc
bison.tp bison.tp
bison.vr bison.vr
cross-options.texi
Makefile.in
refcard.dvi refcard.dvi
refcard.log refcard.log
refcard.ps refcard.ps
Makefile.in
*.info* *.info*
stamp-vti stamp-vti
version.texi version.texi
cross-options.texi yacc.1

View File

@@ -107,6 +107,9 @@ also produce a header file
\fB\-r\fR, \fB\-\-report\fR=\fITHINGS\fR \fB\-r\fR, \fB\-\-report\fR=\fITHINGS\fR
also produce details on the automaton also produce details on the automaton
.TP .TP
\fB\-\-report\-file\fR=\fIFILE\fR
write report to FILE
.TP
\fB\-v\fR, \fB\-\-verbose\fR \fB\-v\fR, \fB\-\-verbose\fR
same as `\-\-report=state' same as `\-\-report=state'
.TP .TP

View 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. the full set of items for each state, instead of its core only.
@end table @end table
@item --report-file=@var{file}
Specify the @var{file} for the verbose description.
@item -v @item -v
@itemx --verbose @itemx --verbose
Pretend that @code{%verbose} was specified, i.e., write an extra output Pretend that @code{%verbose} was specified, i.e., write an extra output

View File

@@ -338,6 +338,7 @@ compute_output_file_names (void)
if (report_flag) if (report_flag)
{ {
if (!spec_verbose_file)
spec_verbose_file = concat2 (all_but_tab_ext, OUTPUT_EXT); spec_verbose_file = concat2 (all_but_tab_ext, OUTPUT_EXT);
output_file_name_check (spec_verbose_file); output_file_name_check (spec_verbose_file);
} }

View File

@@ -282,6 +282,7 @@ Parser:\n\
Output:\n\ Output:\n\
-d, --defines[=FILE] also produce a header file\n\ -d, --defines[=FILE] also produce a header file\n\
-r, --report=THINGS also produce details on the automaton\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\ -v, --verbose same as `--report=state'\n\
-b, --file-prefix=PREFIX specify a PREFIX for output files\n\ -b, --file-prefix=PREFIX specify a PREFIX for output files\n\
-o, --output=FILE leave output to FILE\n\ -o, --output=FILE leave output to FILE\n\
@@ -408,7 +409,8 @@ enum
{ {
LOCATIONS_OPTION = CHAR_MAX + 1, LOCATIONS_OPTION = CHAR_MAX + 1,
PRINT_LOCALEDIR_OPTION, PRINT_LOCALEDIR_OPTION,
PRINT_DATADIR_OPTION PRINT_DATADIR_OPTION,
REPORT_FILE_OPTION
}; };
static struct option const long_options[] = static struct option const long_options[] =
@@ -431,6 +433,7 @@ static struct option const long_options[] =
{ "graph", optional_argument, 0, 'g' }, { "graph", optional_argument, 0, 'g' },
{ "xml", optional_argument, 0, 'x' }, { "xml", optional_argument, 0, 'x' },
{ "report", required_argument, 0, 'r' }, { "report", required_argument, 0, 'r' },
{ "report-file", required_argument, 0, REPORT_FILE_OPTION },
{ "verbose", no_argument, 0, 'v' }, { "verbose", no_argument, 0, 'v' },
/* Hidden. */ /* Hidden. */
@@ -536,6 +539,10 @@ getargs (int argc, char *argv[])
FLAGS_ARGMATCH (report, optarg); FLAGS_ARGMATCH (report, optarg);
break; break;
case REPORT_FILE_OPTION:
spec_verbose_file = xstrdup (AS_FILE_NAME (optarg));
break;
case 'T': case 'T':
FLAGS_ARGMATCH (trace, optarg); FLAGS_ARGMATCH (trace, optarg);
break; break;