]> granicus.if.org Git - python/commitdiff
Take output filenames as arguments instead of hard-coding them.
authorNeil Schemenauer <nascheme@enme.ucalgary.ca>
Fri, 16 Feb 2001 03:57:53 +0000 (03:57 +0000)
committerNeil Schemenauer <nascheme@enme.ucalgary.ca>
Fri, 16 Feb 2001 03:57:53 +0000 (03:57 +0000)
Parser/pgenmain.c

index 0c155de041ae3784fc8834a824311feaa083570e..32fb9561f4e763b2dd9e2411d780206285d5c992 100644 (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);