[Python-checkins] CVS: python/dist/src/Parser pgenmain.c,2.22,2.23

Neil Schemenauer nascheme@users.sourceforge.net
Thu, 15 Feb 2001 19:57:55 -0800


Update of /cvsroot/python/python/dist/src/Parser
In directory usw-pr-cvs1:/tmp/cvs-serv2714/Parser

Modified Files:
	pgenmain.c 
Log Message:
Take output filenames as arguments instead of hard-coding them.


Index: pgenmain.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Parser/pgenmain.c,v
retrieving revision 2.22
retrieving revision 2.23
diff -C2 -r2.22 -r2.23
*** pgenmain.c	2000/09/01 23:29:28	2.22
--- pgenmain.c	2001/02/16 03:57:53	2.23
***************
*** 41,70 ****
  	grammar *g;
  	FILE *fp;
! 	char *filename;
  	
  #ifdef THINK_C
  	filename = askfile();
  #else
! 	if (argc != 2) {
! 		fprintf(stderr, "usage: %s grammar\n", argv[0]);
  		Py_Exit(2);
  	}
  	filename = argv[1];
  #endif
  	g = getgrammar(filename);
! 	fp = fopen("graminit.c", "w");
  	if (fp == NULL) {
! 		perror("graminit.c");
  		Py_Exit(1);
  	}
! 	printf("Writing graminit.c ...\n");
  	printgrammar(g, fp);
  	fclose(fp);
! 	fp = fopen("graminit.h", "w");
  	if (fp == NULL) {
! 		perror("graminit.h");
  		Py_Exit(1);
  	}
! 	printf("Writing graminit.h ...\n");
  	printnonterminals(g, fp);
  	fclose(fp);
--- 41,75 ----
  	grammar *g;
  	FILE *fp;
! 	char *filename, *graminit_h, *graminit_c;
  	
  #ifdef THINK_C
  	filename = askfile();
+ 	graminit_h = askfile();
+ 	graminit_c = askfile();
  #else
! 	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");
  	if (fp == NULL) {
! 		perror(graminit_c);
  		Py_Exit(1);
  	}
! 	printf("Writing %s ...\n", graminit_c);
  	printgrammar(g, fp);
  	fclose(fp);
! 	fp = fopen(graminit_h, "w");
  	if (fp == NULL) {
! 		perror(graminit_h);
  		Py_Exit(1);
  	}
! 	printf("Writing %s ...\n", graminit_h);
  	printnonterminals(g, fp);
  	fclose(fp);