Implement and document a '-o output_file_name' option to

allow the generated code to be written to a file other
than the default, y.tab.c.

Inspired by: bde and brian@mediacity.com
This commit is contained in:
Steve Price 1997-01-06 02:05:28 +00:00
parent 938ddab485
commit 55f61394b6
2 changed files with 22 additions and 1 deletions

View File

@ -144,7 +144,7 @@ set_signals()
usage()
{
fprintf(stderr, "usage: %s [-dlrtv] [-b file_prefix] [-p symbol_prefix] filename\n", myname);
fprintf(stderr, "usage: %s [-dlrtv] [-b file_prefix] [-o output_file_name] [-p symbol_prefix] filename\n", myname);
exit(1);
}
@ -189,6 +189,15 @@ char *argv[];
lflag = 1;
break;
case 'o':
if (*++s)
output_file_name = s;
else if (++i < argc)
output_file_name = argv[i];
else
usage();
continue;
case 'p':
if (*++s)
symbol_prefix = s;
@ -316,11 +325,13 @@ create_file_names()
len = strlen(file_prefix);
if (!output_file_name) {
output_file_name = MALLOC(len + 7);
if (output_file_name == 0)
no_space();
strcpy(output_file_name, file_prefix);
strcpy(output_file_name + len, OUTPUT_SUFFIX);
}
if (rflag)
{

View File

@ -86,6 +86,16 @@ If the \fB-l\fR option is specified,
will not insert the #line directives.
Any #line directives specified by the user will be retained.
.TP
\fB-o \fIoutput_file_name\fR
The
.B -o
option causes
.I yacc
to write the generated code to
.IR output_file_name
instead of the default file,
.IR y.tab.c .
.TP
\fB-p \fIsymbol_prefix\fR
The
.B -p