Take output filenames as arguments instead of hard-coding them.

This commit is contained in:
Neil Schemenauer 2001-02-16 03:57:53 +00:00
parent 4a7bbcb48c
commit 84521c078e
1 changed files with 14 additions and 9 deletions

View File

@ -40,32 +40,37 @@ main(int argc, char **argv)
{
grammar *g;
FILE *fp;
char *filename;
char *filename, *graminit_h, *graminit_c;
#ifdef THINK_C
filename = askfile();
graminit_h = askfile();
graminit_c = askfile();
#else
if (argc != 2) {
fprintf(stderr, "usage: %s grammar\n", argv[0]);
if (argc != 4) {
fprintf(stderr,
"usage: %s grammar graminit.h graminit.c\n", argv[0]);
Py_Exit(2);
}
filename = argv[1];
graminit_h = argv[2];
graminit_c = argv[3];
#endif
g = getgrammar(filename);
fp = fopen("graminit.c", "w");
fp = fopen(graminit_c, "w");
if (fp == NULL) {
perror("graminit.c");
perror(graminit_c);
Py_Exit(1);
}
printf("Writing graminit.c ...\n");
printf("Writing %s ...\n", graminit_c);
printgrammar(g, fp);
fclose(fp);
fp = fopen("graminit.h", "w");
fp = fopen(graminit_h, "w");
if (fp == NULL) {
perror("graminit.h");
perror(graminit_h);
Py_Exit(1);
}
printf("Writing graminit.h ...\n");
printf("Writing %s ...\n", graminit_h);
printnonterminals(g, fp);
fclose(fp);
Py_Exit(0);