From 55f61394b60ff4eecfa245302a42dd9d148b08e9 Mon Sep 17 00:00:00 2001 From: Steve Price Date: Mon, 6 Jan 1997 02:05:28 +0000 Subject: 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 --- usr.bin/yacc/main.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'usr.bin/yacc/main.c') diff --git a/usr.bin/yacc/main.c b/usr.bin/yacc/main.c index 79b332a237e7..8b7f36ff027f 100644 --- a/usr.bin/yacc/main.c +++ b/usr.bin/yacc/main.c @@ -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) { -- cgit v1.3