PASCAL
.PROC,PASCAL*I,\
*CALL COMPC 
*CALL COMUSER 
*CALL COMLIST 
*CALL COMTOB
*CALL COMIA 
*CALL COMTOL
*CALL COMD1 
*CALL COMXOPL 
*CALL COMPROC 
. 
  
*PASCAL  170 V1 
*CALL     PSRLEV
  
  
.*
.*  START PASCAL VIA SUBPROC. 
.*
BEGIN(SUBPROC,INSTALL,PASCAL,,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF) 
REVERT.        PASCAL.
EXIT. 
REVERT(ABORT)  PASCAL.
  
  
.DATA,ZZZPROC 
.PROC,PASCAL. 
*CALL     PSRLEV
BEGIN(PRDIN,INSTALL,PRDNAME=PASC,#PN=PN,#PR=PR,DISK=0)
BEGIN(UP,INSTALL,RANDOM,PCPL=CPRD,#PC=PC,#CC=CC,PCDECK=PA1) 
BEGIN(PRDAUX,INSTALL,PRDNAME=OPL,#PNO=PN99,#PRO=PR99) 
RENAME(OPL=AUXPL) 
BEGIN(GETULIB,INSTALL,PASCLIB,SYSLIB) 
RFL(74000)
.*
.*  PREPARE INCLUDE PRE-PROCESSOR.
.*
NOTE(INP)+*C INCLGEN
UPDATE,Q,I=INP,P=NEWER,C=INCLUD.
PASCAL(I=INCLUD,PL=0/S-,L-) 
LDSET(ERR=ALL,PRESET=ZERO)
LOAD(LGO) 
NOGO(INCLUDE) 
REWIND(LGO) 
.*
.*
.*  CREATE PASCAL[1]. 
.*
COMPASS(A,I,L=0,S=NOSTEXT,X=OPL)
REWIND(TEMP)
COPYBR(COMPILE,TEMP)
PASCAL(I=TEMP,PL=0/S-,E+,L-)
COMPASS(A,I,L=0,S=NOSTEXT,S=PSSTEXT,X=OPL)
REWIND(LGO) 
REWIND(PASCAL)
LDSET(ERR=ALL,PRESET=ZERO)
LOAD(LGO) 
NOGO(PASCAL)
REWIND(LGO) 
CATALOG(PASCAL,R) 
.*
.*
.*  CREATE PASCLIB[1].
.*
REWIND(TEMP)
COPYBR(COMPILE,TEMP)
REWIND(TEMP)
INCLUDE(TEMP) 
COMPASS(A,I,L=0,S=NOSTEXT,S=PSSTEXT,X=OPL)
REWIND(TEMP)
COPYBR(COMPILE,TEMP)
REWIND(TEMP)
PASCAL(I=TEMP,PL=0/S-,L-) 
BKSP(LGO,2) 
COMPASS(A,I,L=0,S=NOSTEXT,X=OPL)
REWIND(LGO) 
REWIND(PASCLIB) 
LIBGEN(P=PASCLIB) 
REWIND(LGO) 
.*
.*
.*
.*  NOW DO IT AGAIN TO COMPLETE 
.*  A FULL BOOTSTRAP. 
.*
.*
.*
UPDATE(P=NEWER,F,N=PNEWPL,L=1,I=0)
.*
.*
.*  CREATE PASCAL[2]. 
.*
COMPASS(A,I,L=0,S=NOSTEXT,X=OPL)
REWIND(TEMP)
COPYBR(COMPILE,TEMP)
REWIND(TEMP)
PASCAL(I=TEMP,PL=0/S-,E+,L-)
COMPASS(A,I,L=0,S=NOSTEXT,S=PSSTEXT,X=OPL)
REWIND(LGO) 
REWIND(PASCAL)
COPYBF(LGO,PASCLGO) 
REWIND(LGO) 
LDSET(ERR=ALL,PRESET=ZERO)
LOAD(LGO) 
NOGO(PASCAL)
RETURN(INP) 
NOTE(INP)+*COMMENT ABS/PASCAL,PASCAL/170 VERSION 2 COMPILER.
RETURN(NEW) 
LIBEDIT(I=INP,B=0,P=PASCAL,N=NEW,C) 
REWIND(LGO) 
CATALOG(PASCAL,R) 
.*
.*
.*  CREATE PASCLIB[2].
.*
REWIND(TEMP)
COPYBR(COMPILE,TEMP)
REWIND(TEMP)
INCLUDE(TEMP) 
COMPASS(A,I,L=0,S=NOSTEXT,S=PSSTEXT,X=OPL)
REWIND(TEMP)
COPYBR(COMPILE,TEMP)
REWIND(TEMP)
PASCAL(I=TEMP,PL=0/S-,L-) 
BKSP(LGO,2) 
COMPASS(A,I,L=0,S=NOSTEXT,X=OPL)
LIBGEN(P=PASCLIB) 
RETURN(INP) 
NOTE(INP)+*COMMENT ULIB/PASCLIB,PASCAL/170 VERSION 2 SYSTEM LIBRARY.
RETURN(NEW) 
LIBEDIT(I=INP,B=0,P=PASCLIB,N=NEW,C)
RENAME(LIB=LGO,LGO=PASCAL,REL=PASCLGO)
CATALOG(PASCLIB,R,U)
.*
.*
BEGIN(SAVELIB,INSTALL,LIB=LIB,LIBNAME=PASCLIB)
BEGIN(PRDOUT,INSTALL,PRDNAME=PASC,#PNO=PNO,#PRO=PRO)
REWIND(LGO) 
COPYEI(LGO,GLOBLGO) 
BEGIN(GENDIR,INSTALL,LIB=43)
BEGIN(SAVELGO,INSTALL,PRDNAME=PASC) 
BEGIN(END,INSTALL,MFT=R1G+) 
REVERT.       PASCAL ***************************
EXIT. 
REVERT(ABORT) PASCAL ***************************
*WEOR 
