ack/util/opt/main.c

73 lines
1.4 KiB
C
Raw Normal View History

1984-05-17 13:57:07 +00:00
#ifndef NORCSID
static char rcsid[] = "$Header$";
#endif
1984-05-17 13:42:36 +00:00
#include <stdio.h>
#include "param.h"
#include "types.h"
#include "tes.h"
1984-05-17 13:42:36 +00:00
#include "alloc.h"
#include <em_spec.h>
1984-05-17 13:42:36 +00:00
#include "ext.h"
/*
1987-03-10 01:42:07 +00:00
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
1984-05-17 13:42:36 +00:00
*
* Author: Hans van Staveren
*/
/*
* Main program for EM optimizer
*/
main(argc,argv) int argc; char *argv[]; {
1988-04-19 19:46:28 +00:00
int somespace[STACKROOM];
1984-05-17 13:42:36 +00:00
progname = argv[0];
while (argc-->1 && **++argv == '-')
flags(*argv);
if (argc>1) {
fprintf(stderr,"Usage: %s [-Ln] [-m<num>] [name]\n",progname);
1984-05-17 13:42:36 +00:00
exit(-1);
}
if (argc)
if (freopen(*argv,"r",stdin) == NULL)
error("Cannot open %s",*argv);
fileinit();
1988-04-19 19:46:28 +00:00
coreinit((short *)somespace,(short *)(somespace+STACKROOM));
1984-05-17 13:42:36 +00:00
getlines();
cleanup();
return(0);
}
flags(s) register char *s; {
for (s++;*s;s++)
switch(*s) {
case 'L': Lflag = TRUE; break;
case 'n': nflag = TRUE; break;
case 'm': if (*(s+1) == 'l') {
s++;
repl_longmuls = TRUE;
}
repl_muls = atoi(s+1); break;
1984-05-17 13:42:36 +00:00
}
}
fileinit() {
char *mktemp();
short readshort();
if (readshort() != (short) sp_magic)
error("wrong input file");
if (Lflag) {
outfile = fopen(mktemp(template),"w");
if (outfile == NULL)
error("can't create %s",template);
} else {
outfile = stdout;
outshort(sp_magic);
}
}