/*
 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
 * See the copyright notice in the ACK home directory, in the file "Copyright".
 */
#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");
}