mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 01:33:03 +00:00
* src/getargs.c (longopts): Declare --defines and --graph as options
with optional arguments. * src/files.h: Add extern declarations. * src/files.c (spec_graph_file, spec_defines_file): New. (output_files): Update. Remove CPP-outed code.
This commit is contained in:
@@ -1,3 +1,12 @@
|
|||||||
|
2001-09-18 Marc Autret <autret_m@epita.fr>
|
||||||
|
|
||||||
|
* src/getargs.c (longopts): Declare --defines and --graph as options
|
||||||
|
with optional arguments.
|
||||||
|
* src/files.h: Add extern declarations.
|
||||||
|
* src/files.c (spec_graph_file, spec_defines_file): New.
|
||||||
|
(output_files): Update.
|
||||||
|
Remove CPP-outed code.
|
||||||
|
|
||||||
2001-09-18 Marc Autret <autret_m@epita.fr>
|
2001-09-18 Marc Autret <autret_m@epita.fr>
|
||||||
|
|
||||||
Turn off %{source,header}_extension feature.
|
Turn off %{source,header}_extension feature.
|
||||||
|
|||||||
20
src/files.c
20
src/files.c
@@ -39,6 +39,8 @@ struct obstack graph_obstack;
|
|||||||
char *spec_outfile = NULL; /* for -o. */
|
char *spec_outfile = NULL; /* for -o. */
|
||||||
char *spec_file_prefix = NULL; /* for -b. */
|
char *spec_file_prefix = NULL; /* for -b. */
|
||||||
char *spec_name_prefix = NULL; /* for -p. */
|
char *spec_name_prefix = NULL; /* for -p. */
|
||||||
|
char *spec_graph_file = NULL; /* for -g. */
|
||||||
|
char *spec_defines_file = NULL; /* for --defines. */
|
||||||
|
|
||||||
char *infile = NULL;
|
char *infile = NULL;
|
||||||
char *attrsfile = NULL;
|
char *attrsfile = NULL;
|
||||||
@@ -418,13 +420,13 @@ output_files (void)
|
|||||||
|
|
||||||
compute_base_names ();
|
compute_base_names ();
|
||||||
|
|
||||||
#if 0
|
/* It the defines filename if not given, we create it. */
|
||||||
/* Set default extensions */
|
if (!spec_defines_file)
|
||||||
if (!src_extension)
|
spec_defines_file = stringappend (base_name, header_extension);
|
||||||
src_extension = ".c";
|
|
||||||
if (!header_extension)
|
/* It the graph filename if not given, we create it. */
|
||||||
header_extension = ".h";
|
if (!spec_graph_file)
|
||||||
#endif
|
spec_graph_file = stringappend (short_base_name, ".vcg");
|
||||||
|
|
||||||
attrsfile = stringappend (short_base_name, EXT_STYPE_H);
|
attrsfile = stringappend (short_base_name, EXT_STYPE_H);
|
||||||
#ifndef MSDOS
|
#ifndef MSDOS
|
||||||
@@ -439,7 +441,7 @@ output_files (void)
|
|||||||
|
|
||||||
/* Output the header file if wanted. */
|
/* Output the header file if wanted. */
|
||||||
if (defines_flag)
|
if (defines_flag)
|
||||||
defines_obstack_save (stringappend (base_name, header_extension));
|
defines_obstack_save (spec_defines_file);
|
||||||
|
|
||||||
/* If we output only the table, dump the actions in ACTFILE. */
|
/* If we output only the table, dump the actions in ACTFILE. */
|
||||||
if (no_parser_flag)
|
if (no_parser_flag)
|
||||||
@@ -466,5 +468,5 @@ output_files (void)
|
|||||||
stringappend (short_base_name, EXT_OUTPUT));
|
stringappend (short_base_name, EXT_OUTPUT));
|
||||||
|
|
||||||
if (graph_flag)
|
if (graph_flag)
|
||||||
obstack_save (&graph_obstack, stringappend (short_base_name, ".vcg"));
|
obstack_save (&graph_obstack, spec_graph_file);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,10 +33,16 @@ extern char *spec_name_prefix;
|
|||||||
/* File name pfx specified with -b, or 0 if no -b. */
|
/* File name pfx specified with -b, or 0 if no -b. */
|
||||||
extern char *spec_file_prefix;
|
extern char *spec_file_prefix;
|
||||||
|
|
||||||
|
/* File name specified for the output VCG graph. */
|
||||||
|
extern char *spec_graph_file;
|
||||||
|
|
||||||
|
/* File name specified with --defines. */
|
||||||
|
extern char *spec_defines_file;
|
||||||
|
|
||||||
/* Read grammar specifications. */
|
/* Read grammar specifications. */
|
||||||
extern FILE *finput;
|
extern FILE *finput;
|
||||||
|
|
||||||
|
|
||||||
/* Output all the action code; precise form depends on which parser. */
|
/* Output all the action code; precise form depends on which parser. */
|
||||||
extern struct obstack action_obstack;
|
extern struct obstack action_obstack;
|
||||||
|
|
||||||
|
|||||||
@@ -60,11 +60,11 @@ static struct option longopts[] =
|
|||||||
{"token-table", no_argument, 0, 'k'},
|
{"token-table", no_argument, 0, 'k'},
|
||||||
|
|
||||||
/* Output. */
|
/* Output. */
|
||||||
{"defines", no_argument, 0, 'd'},
|
{"defines", optional_argument, 0, 'd'},
|
||||||
{"verbose", no_argument, 0, 'v'},
|
{"verbose", no_argument, 0, 'v'},
|
||||||
{"file-prefix", required_argument, 0, 'b'},
|
{"file-prefix", required_argument, 0, 'b'},
|
||||||
{"output-file", required_argument, 0, 'o'},
|
{"output-file", required_argument, 0, 'o'},
|
||||||
{"graph", no_argument, 0, 'g'},
|
{"graph", optional_argument, 0, 'g'},
|
||||||
|
|
||||||
/* Hidden. */
|
/* Hidden. */
|
||||||
{"statistics", no_argument, &statistics_flag, 1},
|
{"statistics", no_argument, &statistics_flag, 1},
|
||||||
@@ -183,7 +183,9 @@ getargs (int argc, char *argv[])
|
|||||||
exit (0);
|
exit (0);
|
||||||
|
|
||||||
case 'g':
|
case 'g':
|
||||||
|
/* Here, the -g and --graph=FILE options are differentiated. */
|
||||||
graph_flag = 1;
|
graph_flag = 1;
|
||||||
|
spec_graph_file = optarg;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'v':
|
case 'v':
|
||||||
@@ -195,7 +197,9 @@ getargs (int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'd':
|
case 'd':
|
||||||
|
/* Here, the -d and --defines options are differentiated. */
|
||||||
defines_flag = 1;
|
defines_flag = 1;
|
||||||
|
spec_defines_file = optarg;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'l':
|
case 'l':
|
||||||
|
|||||||
Reference in New Issue
Block a user