/*
 * (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$" ;
static char rcs_bem[]	= RCS_BEM ;
static char rcs_symb[]	= RCS_SYMB ;
static char rcs_graph[]	= RCS_GRAPH ;
#endif

/* Author: M.L. Kersten
**
** This is the main routine for the BASIC-EM frontend.
** Program parameters are decoded, the BASIC program is parsed
** and compiled to an executable program
**
** Bem expects at least three parameters. One ending with '.i' is considered
** the input to the compiler, '.e' denotes the file to be generated,
** and the last name denotes the name of the user supplied file name.
** The latter is used to store the data entries.
** Additional flags may be supplied, see parseparms.
*/

char	*program;

char	datfname[MAXFILENAME] ;
char	tmpfname[MAXFILENAME] ;

char	*inpfile, *outfile;
main(argc,argv)
int argc;
char **argv;
{
	extern int errorcnt;

	/* parseparams */
	parseparams(argc,argv);
	/* initialize the system */
	initialize();
	/* compile source programs */
	compileprogram(program);
	linewarnings();
	if( errorcnt) {
		unlink(tmpfname);
		exit(-1);
	}
	/* process em object files */
	simpleprogram();
	exit(0);
}