NTBASE
if (c < NTBASE) {
if (ch < NTBASE) {
pfirst[ch-NTBASE]->lset);
if (!pempty[ch-NTBASE])
c -= NTBASE; /* c is now nonterminal number */
q = chcopy(sarr, nontrst[*p-NTBASE].name);
cp = (i >= NTBASE) ? nontrst[i-NTBASE].name : tokset[i].name;
c = i+NTBASE;
if (ch < NTBASE) { /* should be token */
} else if (!pempty[ch-NTBASE])
for (p = *s; (ch = (*p-NTBASE)) >= 0; ++p) {
for (i = (c >= NTBASE) ? ntstates[c-NTBASE] : tstates[c];
if (c >= NTBASE) {
mstates[nstate] = ntstates[c - NTBASE];
ntstates[c - NTBASE] = nstate;
if (pempty[*prdptr[i] - NTBASE])
if (*p >= NTBASE && pempty[*p-NTBASE] == WHOKNOWS)
pempty[*prdptr[i]-NTBASE] = OK;
if (pempty[*prdptr[i]-NTBASE] == WHOKNOWS) {
*p >= NTBASE && pempty[*p-NTBASE] == EMPTY; ++p)
pempty[*prdptr[i]-NTBASE] = EMPTY;
if (c < NTBASE)
else temp1[c-NTBASE] = state(c);
if (t >= NTBASE)
v = nontrst[t-NTBASE].tvalue;
(t >= NTBASE) ? nontrst[t-NTBASE].name:
return (i + NTBASE);
if ((t = chfind(1, tokname)) < NTBASE) {
j = nontrst[t-NTBASE].tvalue;
nontrst[t-NTBASE].name);
nontrst[t-NTBASE].tvalue = ty;
if (j > NTBASE) {
*mem++ = NTBASE;
if (*mem < NTBASE)
if (*mem < NTBASE)
if (j >= NTBASE)
nontrst[j-NTBASE].name);
nontrst[*prdptr[nprod]-NTBASE].tvalue) {
else if (tempty >= NTBASE)
tempty = nontrst[tempty-NTBASE].tvalue;
if (tempty != nontrst[*prdptr[nprod]-NTBASE].tvalue) {
return (NTBASE + nnonter);
if ((cc = prdptr[i][1] - NTBASE) >= 0) {
cc = *prdptr[i] - NTBASE;
if ((cc = *p->pitem) >= NTBASE) {
if (temp1[cc -= NTBASE]) {
symnam(j0 + NTBASE), temp1[j1]);
levprd[i] = *prdptr[i] - NTBASE;
if (c > 1 && c < NTBASE && temp1[c] == 0) {
} else if (c > NTBASE &&
temp1[(c -= NTBASE) + ntokens] == 0) {