ack/lang/basic/src.old/parsepar.c

55 lines
1.3 KiB
C
Raw Normal View History

#include "bem.h"
1984-11-27 23:13:28 +00:00
#ifndef NORSCID
static char rcs_id[] = "$Header$" ;
#endif
1987-02-11 14:29:27 +00:00
int listing; /* -E listing required */
int debug; /* -d compiler debugging */
1987-02-11 14:29:27 +00:00
int wflag=0; /* -w no warnings */
int hflag=0; /* -h<number> to split EM program */
int traceflag=0; /* generate line tracing code */
1987-02-11 14:29:27 +00:00
int nolins=0; /* -l: generate no LIN statements */
parseparams(argc,argv)
int argc;
char **argv;
{
int files=0 ;
1985-01-17 14:10:27 +00:00
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;
1985-01-17 14:10:27 +00:00
threshold= atoi(argv[i][2]);
if( threshold==0)
threshold= THRESHOLD;
break;
case 'd': debug++; break;
1987-02-11 14:29:27 +00:00
case 'L': nolins++; break; /* no EM lin statements */
case 'E': listing++; break; /* generate full listing */
1987-02-11 14:29:27 +00:00
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") ;
}
}
1987-02-11 14:29:27 +00:00
if (files < 3) fatal("Too few file arguments");
}