/* DO INITIALIZATION. */
PUT SKIP LIST('BEGINNING PHASE 00 PROCESSING.');
/* INITIALIZE COMMON AREAS. */
PUT SKIP LIST('INITIALIZING COMMON AREAS...');
NUMVOC=0; /* NUMBER OF VOCABULARY ELEMENTS */
TRM=''; /* TERMINAL TOKEN INDEX */
NTRM=''; /* NON-TERMINAL TOKEN INDEX */
ALIVE=''; /* ALIVE NON-TERMINAL INDEX */
DEAD=''; /* DEAD NON-TERMINAL INDEX */
NLNTRM=''; /* NULL NON-TERMINAL INDEX */
STRSYM=ASCII(0);
NUMPRD=0; /* NUMBER OF PRODUCTIONS IN GRAMMAR */
DO I=1 TO 254; /* VOCABULARY */
VOC(I)='';
END;
DO I=1 TO MAX_PROD; /* PRODUCATIONS */
LHS(I)='';
RHS(I)='';
NULPRD(I)=0;
END;
/* OPEN LIST FILE. */
PUT SKIP LIST('OPENING LIST FILE...');
OPEN FILE(LSTFIL) STREAM OUTPUT PRINT LINESIZE(132)
PAGESIZE(60) TITLE('$1.PRN');
LSTOPN=TRUE; /* SET FOR OPEN.*/
PUT FILE(LSTFIL) PAGE;
/* ESTABLISH DEFAULTS FOR FLAGS. */
PUT SKIP LIST('INITIALIZING FLAGS...');
FLAGS1(1)=TRUE; /* SET FOR LIST INPUT IN PHASE 1.*/
FLAGS1(2)=FALSE; /* SET FOR LIST TABLES AT END OF
PHASE 1. */
TRACE1(1)=FALSE; /* SET FOR TRACE PHASE 1 - GETTOK. */
TRACE1(2)=FALSE; /* SET FOR TRACE PHASE 1 - PROD. */
/* RETURN TO CALLER. */
PUT SKIP LIST('PHASE 00 PROCESSING COMPLETE.');
END LL1P00;