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:
parent
938ddab485
commit
55f61394b6
@ -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)
|
||||
{
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user