BSD 2 development
[unix-history] / src / pi0 / yymain.c
/* Copyright (c) 1979 Regents of the University of California */
#
/*
* pi - Pascal interpreter code translator
*
* Charles Haley, Bill Joy UCB
* Version 1.2 January 1979
*/
#include "0.h"
#include "yy.h"
int line 1;
/*
* Yymain initializes each of the utility
* clusters and then starts the processing
* by calling yyparse.
*/
yymain()
{
#ifdef PI0
char strings[STRINC];
int trspace[ITREE];
int hshtab[HASHINC];
/*
clear(strings, sizeof strings);
clear(trspace, sizeof trspace);
*/
clear(hshtab, sizeof hshtab);
#endif
/*
* Initialize the scanner
*/
if (getline() == -1) {
Perror(filename, "No lines in file");
pexit(NOSTART);
}
/*
* Initialize the clusters
*/
#ifdef PI0
initstring(strings);
inithash(hshtab);
inittree(trspace);
send(RINIT);
#else
initstring();
inithash();
inittree();
#endif
initnl();
/*
* Process the input
*/
yyparse();
#ifdef DEBUG
dumpnl(0);
#endif
send(RFINISH);
pexit(eflg ? ERRS : AOK);
}
#ifdef PI0
clear(cp, i)
register char *cp;
register int i;
{
do
*cp++ = 0;
while (--i);
}
#endif