54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "bem.h"
 | |
| 
 | |
| #ifndef NORSCID
 | |
| static char rcs_id[] = "$Header$" ;
 | |
| #endif
 | |
| 
 | |
| int	listing;		/* -E listing required */
 | |
| int	debug;			/* -d compiler debugging */
 | |
| int	wflag=0;		/* -w no warnings */
 | |
| int	hflag=0;		/* -h<number> to split EM program */
 | |
| int	traceflag=0;		/* generate line tracing code */
 | |
| int	nolins=0;		/* -l: generate no LIN statements */
 | |
| 
 | |
| parseparams(argc,argv)
 | |
| int argc;
 | |
| char **argv;
 | |
| {
 | |
| 	int files=0 ;
 | |
| 	int i;
 | |
| 	char *ext;
 | |
| 
 | |
| 	if(argc< 4)
 | |
| 	{
 | |
| 	fprintf(stderr,"usage %s <flags> <file> <file> <source>\n", argv[0]);
 | |
| 	exit(-1);
 | |
| 	}
 | |
| 	for(i=1;i<argc;i++)
 | |
| 	if( argv[i][0]=='-')
 | |
| 		switch(argv[i][1])
 | |
| 		{
 | |
| 		case 'D': yydebug++; break;	/* parser debugging */
 | |
| 		case 't': traceflag++; break;	/* line tracing */
 | |
| 		case 'h':/* split EM file */
 | |
| 			hflag=0;
 | |
| 			threshold= atoi(argv[i][2]);
 | |
| 			if( threshold==0)
 | |
| 				threshold= THRESHOLD;	
 | |
| 			break;
 | |
| 		case 'd': debug++; break;
 | |
| 		case 'L': nolins++; break;	/* no EM lin statements */
 | |
| 		case 'E': listing++; break;	/* generate full listing */
 | |
| 		case 'w': wflag++; break;
 | |
| 		} else {
 | |
| 			/* new input file */
 | |
| 			switch ( files++ ) {
 | |
| 			case 0: inpfile= argv[i]; break;
 | |
| 			case 1: outfile= argv[i]; break;
 | |
| 			case 2: /* should be the source file name */
 | |
| 				program= argv[i]; break;
 | |
| 			default:fatal("Too many file arguments") ;
 | |
| 			}
 | |
| 		}
 | |
| 	if (files < 3) fatal("Too few file arguments");
 | |
| }
 |