CDCS2 
.PROC,CDCS2*I,\ 
DEBUG   ' ENABLE DEBUG CODE          (NO/YES)  '=(*N=NO,YES,NO,*K=YES), 
*CALL COMPC 
*CALL COMUSER 
*CALL COMLIST 
*CALL COMTOB
*CALL COMIUN
*CALL COMIA 
*CALL COMTOL
*CALL COMD1 
*CALL COMX1 
*CALL COMXOPL 
*CALL COMPROC 
. 
  
* CDCS2 - CDCS 2.2
*CALL     PSRLEV
* 
  
.*****    CDCS2 
.*
.*        THE PARAMETER *DEBUG* ACTIVATES THE FLOW POINT CODE.
.*
  
  
.*
.*  START CDCS2 VIA SUBPROC.
.*
BEGIN(SUBPROC,INSTALL,CDCS2,,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF)
REVERT.        CDCS2. 
EXIT. 
REVERT(ABORT)  CDCS2. 
  
  
.DATA,ZZZPROC 
.PROC,CDCS2.
*CALL     PSRLEV
BEGIN(PRDIN,INSTALL,PRDNAME=CDCS,#PN=PN,#PR=PR,DISK=0)
BEGIN(PRDAUX,INSTALL,PRDNAME=AAM2,#PNO=PN1,#PRO=PR1)
RENAME(AUXPL2=AUXPL)
BEGIN(PRDAUX,INSTALL,PRDNAME=DDL3,#PNO=PN1,#PRO=PR1)
IFE($DEBUG$.EQ.$YES$,DEF) 
SKIPEI(USER)
NOTE(USER,NR);*P CD2A297
PACK(USER)
ENDIF(DEF)
RENAME(AUXPL1=AUXPL)
BEGIN(COMPCOM,INSTALL)
BEGIN(UP,INSTALL,RANDOM,PCPL=CPRD,#PC=PC,#CC=CC,PCDECK=CD2,NUMAUX=3)
NOTE(IN);*COMPILE,SYNGEN
UPDATE(P=AUXPL1,Q,C=SYNG,I=IN)
BEGIN(PRDAUX,INSTALL,PRDNAME=OPL,#PNO=PN99,#PRO=PR99) 
RENAME(OPL=AUXPL) 
SYMPL(ET=T,I=SYNG,B=SYNGE,L=LIST) 
COMPASS(A,I=SYNG,S=PSSTEXT,S=IOTEXT,B=SYNGE,L=LIST) 
BEGIN(GETULIB,INSTALL,DMSLIB,SYMLIB,FORTRAN,BAMLIB,SYSLIB,SRT5LIB)
BEGIN(GETULIB,INSTALL,AAMLIB) 
* 
RETURN(AUXPL2,AUXPL1,AUXPL) 
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=BAMLIB/SYSLIB)
LDSET(PRESET=ZERO)
LOAD(SYNGE)           ABSOLUTE WRITTEN TO SYNGEN
NOGO. 
RETURN(SYNG,SYNGE)
SYMPL(ET=T,I,B=SYMTEXT,L=LIST)
SYMPL(ET=T,I,Y=SYMTEXT,B=BN,L=LIST) 
SYMPL(ET=T,I,Y=SYMTEXT,B=NOSBIN,L=LIST) 
* THE FOLLOWING COMPASS ASSEMBLY DOES EXPLICIT XTEXT FROM LFN OPL 
COMPASS(A,I,S=IPTEXT,S=LDRTEXT,S=NOSTEXT,S=SSYTEXT,S=IOTEXT,B=BN,L=LIST)
RFL(60000)
REDUCE(-) 
SYNGEN(I=COMPILE,O=TABLES,L=0)
REDUCE. 
SYMPL(ET=T,I=TABLES,Y=SYMTEXT,B=BN,L=LIST)
COMPASS(A,I,S=CPUTEXT,B=SKELGEN,L=LIST) 
RETURN(COMPILE) 
REWIND(BN,NOSBIN) 
BEGIN(LOCALLD,INSTALL)
GTR(GLOBLIB,COPYL)ABS/COPYL 
LOADLDR.
LDSET(ERR=ALL,PRESET=ZERO)
LOAD(COPYL) 
EXECUTE(COPYLM,BN,NOSBIN,RELBIN,,AR)
REWIND(COPYL) 
RETURN(BN,NOSBIN) 
REWIND(RELBIN)
LOADLDR.
LDSET(ERR=ALL,PRESET=ZERO)
SKELGEN(IMAGE)
LDSET(ERR=ALL,PRESET=ZERO)
LOAD(COPYL) 
EXECUTE(COPYLM,IMAGE,RELBIN,REL,,RE)
RETURN(COPYL) 
REWIND(REL) 
COPYBF(REL,LIB)           DMSLIB ROUTINES 
COPYBF(REL,LIB2)          CDCSLIB ROUTINES
REWIND(LIB2)
LIBGEN(F=LIB2,P=CDCSLIB,N=CDCSLIB,NX) 
REWIND(LIB,LIB2,CDCSLIB)
BEGIN(ATTGLOB,INSTALL)
FILE(ZZZZZCS,FO=WA,RT=U,USE=GET/PUT)
LIBRARY.
LOADLDR.
LDSET(ERR=ALL,PRESET=ZERO)
LOAD(REL/NR)
SATISFY.
LOAD(REL/NR)
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(STAT=ZZZZZCS) 
SATISFY.
LOAD(REL/NR)
LDSET(ERR=ALL,PRESET=ZERO)
NOGO(LGO,CDCS)
LOADLDR.
LOAD(REL/NR)
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(STAT=ZZZZZCS) 
SATISFY.
LOAD(REL/NR)
LDSET(ERR=ALL,PRESET=ZERO)
NOGO(LGO)              CDCSBTF
LOADLDR.
LOAD(REL/NR)
LDSET(ERR=ALL,PRESET=ZERO)
NOGO(LGO)              DBMSTRD
LOADLDR.
LOAD(REL/NR)
LDSET(ERR=ALL,PRESET=ZERO)
NOGO(LGO,DBRCN,DBRST)  RECOVER/RECONSTRUCT
LOADLDR.
LOAD(REL/NR)
LDSET(ERR=ALL,PRESET=ZERO)
NOGO(LGO)              DBQRFA 
LOADLDR.
LOAD(REL/NR)
LDSET(ERR=ALL,PRESET=ZERO)
NOGO(LGO)              DBQRFI 
LOADLDR.
LOAD(REL/NR)
LDSET(ERR=ALL,PRESET=ZERO)
NOGO(LGO)              DBREC
REWIND(LGO,LIB) 
GTR(LGO,TEMP,,NR)ABS/*
REWIND(LGO) 
GTR(LGO,TEMP,,NR)OVL/*
REWIND(LGO) 
GTR(LGO,TEMPLIB,,NR)CAP/* 
GTR(LIB,TEMPLIB,,NR)REL/* 
RETURN(LGO,LIB) 
RENAME(LIB=TEMPLIB) 
RENAME(LGO=TEMP)
RETURN(INZ) 
.IF,(R1G.EQ.0),CDCS21.
  NOTE(INZ)+RS:/ZZIUN/,/IUN/+END
.ELSE(CDCS21) 
  NOTE(INZ)+RS:/ZZIUN/,/#INSTALL/+END 
.ENDIF(CDCS21)
EDIT(CDCPROC,I=INZ,L=0) 
RETURN(INZ) 
BEGIN(PFGOUT,INSTALL,PRDNAME=CDCS,LFN=CDCPROC)
REPLACE(CDCPROC=CDC)
BEGIN(SAVELIB,INSTALL,LIB=LIB,LIBNAME=DMSLIB) 
BEGIN(PRDOUT,INSTALL,PRDNAME=CDCS,#PNO=PNO,#PRO=PRO)
BEGIN(GENDIR,INSTALL,LIB=14)
BEGIN(SAVELGO,INSTALL,PRDNAME=CDCS) 
BEGIN(END,INSTALL,MFT=R1G+) 
REVERT.  CDCS2. 
EXIT. 
REVERT(ABORT)  CDCS2. 
#.DATA,CDCPROC
.PROC,CDC.
RETURN(CDC) 
ATTACH(MSTRDIR/UN=ZZIUN,NA) 
IF, FILE(MSTRDIR, .NOT. AS) ,CDC1.
REVERT(ABORT)* CDC - NO MSTRDIR FILE AVAILABLE
ENDIF(CDC1) 
RFL(45000)
CDCS(CP,IO) 
REVERT. CDC 
EXIT. CDC 
DMP.
DMD(45000)
REVERT(ABORT) CDC 
*WEOR 
