Trailing-Edge
-
PDP-10 Archives
-
ap-c800d-sb
-
cobol.ctl
There are 13 other files named cobol.ctl in the archive. Click here to see a list.
!COBOL.CTL COBOL-68 & COBOL-74 V12A
!
!USED TO MAKE ANY FLAVOUR OF COBOL-68 OR COBOL-74 FROM COBOL SOURCE FILES
!THIS FILE RUNS ON EITHER TOPS-20 OR TOPS-10 ON ALL SUPPORTED MONITORS
!SUBMIT WITH COMMAND SUBMIT COBOL/TIME:1:0:0
!
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
! OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
!
!COPYRIGHT (C) 1979 BY DIGITAL EQUIPMENT CORPORATION
!
!IF ANY NON-STANDARD ASSEMBLY SWITCHES ARE DESIRED THEY SHOULD BE
! INSERTED IN COBASM.MAC
!
!INSTALLATION SPECIFIC ASSIGNMENTS SHOULD BE PUT IN THE FOLLOWING FILE:
! ON TOPS-20 IN A TAKE FILE COBOL.CMD
! ON TOPS-10 IN A MIC FILE COBOL.MIC
! OR IN A TECO FILE COBOL.TEC
!IF THIS FILE IS ABSENT THEN ALL REQUIRED FILES ARE ASSUMED TO EXIST ON DSK:
!
!IF LISTINGS ARE DESIRED, THE EMPTY FILE
!LISTEM.MAC SHOULD BE IN DSK:
!
!FOR COBOL-68 SET ANS68==1 AND ANS74==0 IN COBASM.MAC
!FOR COBOL-74 SET ANS68==0 AND ANS74==1 IN COBASM.MAC
!
!IF A DEBUG VERSION IS REQUIRED
!DEBUG==1 MUST BE IN COBASM.MAC
!
!IF A DBMS VERSION IS REQUIRED
!DBMS==1 MUST BE IN COBASM.MAC
!
!TEST FOR WHICH SYSTEM
@GOTO TOPS20 !TOPS20 VERSION
.GOTO TOPS10 !TOPS10 VERSION
TOPS20::
!REQUIRED FILES:
!<FIELD-IMAGE> MACRO.EXE
! LINK.EXE
! CREF.EXE
! HELPER.REL
! PA1050.EXE
! MONSYM.UNV
! UUOSYM.UNV
!
!<UNSUPPORTED> GLOB.EXE
!
!<SELF> COBOL.CTL COBOL.DOC COBOL.HLP
!
! ASCSIX.MAC
! ASCEBC.MAC BTREE.MAC BISGEN.MAC CHREQV.MAC
! COBASM.MAC CLEANC.MAC CLEAND.MAC CLEANT.MAC
! CLRNAM.MAC CMNGEN.MAC COBCOM.MAC COBOLA.MAC
! COBOLB.MAC COBOLC.MAC COBOLD.MAC COBOLE.MAC
! COBOLF.MAC COBOLG.MAC COBOLK.MAC COMUNI.MAC
! CTREE.MAC DIAGS.MAC DTREE.MAC EBCASC.MAC
! EXPGEN.MAC FNDPOP.MAC GETASY.MAC GETCPY.MAC
! GETERA.MAC GETGEN.MAC GETITM.MAC GETTAG.MAC
! IFGEN.MAC IMPURE.MAC INTERM.MAC IOGEN.MAC
! IPCGEN.MAC LBLPRM.MAC MATGEN.MAC MESGEN.MAC
! MOVGEN.MAC MSCGEN.MAC P.MAC PMATCH.MAC
! PSCAN.MAC PURE..MAC PUTAS1.MAC PUTAS2.MAC
! PUTAS3.MAC PUTBIN.MAC PUTCPY.MAC PUTERA.MAC
! PUTGEN.MAC PUTLST.MAC RPWGEN.MAC SQUIRL.MAC
! SRTCRF.MAC SRTGEN.MAC SRTTAB.MAC STINFL.MAC
! STRGEN.MAC SUGENS.MAC SYMBOL.MAC TABLES.MAC
! TRYNAM.MAC XFRGEN.MAC XPAND.MAC! XPNPPL.MAC
! OPCTAB.MAC COBOLO.MAC
!
!IF A DEBUGING VERSION IS TO BE BUILT, THE FOLLOWING ARE ALSO REQUIRED
!
! HANDAN.MAC TRACER.MAC
!
!ALSO, IF MAKING A DBMS COBOL, THE FOLLOWING ARE REQUIRED:
!
! CMLSYM.MAC DBDML.MAC DBGETF.MAC DMLVOK.MAC
! DMLERR.MAC DMLIO.MAC DBSDCL.MAC GENDCL.MAC
! STRUNV.MAC STRDCL.MAC
! SCHIO2.REL STRHI.REL
!
!TO LOAD COBOL ONE OF THE FOLOWING SETS OF CMD FILES ARE REQUIRED:
!
!NOT DEBUG, NOT DBMS
!
! ALL.CMD
!
!DEBUG, NOT DBMS
!
! ALLD.CMD
!
!NOT DEBUG, DBMS
!
! ALLB.CMD
!
!DEBUG, DBMS
!
! ALLDB.CMD
!
!TO TEST THE FEATURES TEST SWITCH SETTINGS THE FOLLOWING IS REQUIRED:
!
! COBTST.MAC
!
!
!
!OUTPUT:
! -68 COBOL.EXE, COBOL.MAP, COBOL.GLB
! -74 CBL74.EXE, CBL74.MAP, CBL74.GLB
!
!
!OUTPUT LISTINGS:
! COBOL.LOG, COBOL.DOC
!
!
!MAKE A RECORD OF WHAT IS BEING USED
@CHKPNT CK2A
CK2A::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
!MAKE A RECORD OF WHAT IS BEING USED.
@GET SYS:PA1050.EXE
@INFO VERSION
@GET SYS:MACRO
@INFO VERSION
@GET SYS:LINK
@INFO VERSION
@GET SYS:CREF
@INFO VERSION
@GET SYS:GLOB
@IF (ERROR) @!GLOB IS NOT SUPPORTED
@INFO VERSION
!
@VD SYS:PA1050.EXE,SYS:MACRO.EXE,SYS:LINK.EXE,SYS:CREF.EXE,SYS:GLOB.EXE,SYS:HELPER.REL,SYS:MONSYM.UNV,SYS:UUOSYM.UNV,
@CHECK SEQ
@
!
@VD COBASM.MAC,INTERM.MAC,LBLPRM.MAC,COMUNI.MAC,P.MAC,CHREQV.MAC,TABLES.MAC,ASCEBC.MAC,ASCSIX.MAC,BISGEN.MAC,BTREE.MAC,CLEANC.MAC,CLEAND.MAC,CLEANT.MAC,CLRNAM.MAC,CMNGEN.MAC,COBCOM.MAC,COBOLA.MAC,COBOLB.MAC,
@CHECK SEQ
@
@VDIR COBOLC.MAC,COBOLD.MAC,COBOLE.MAC,COBOLF.MAC,COBOLG.MAC,COBOLK.MAC,COBOLO.MAC,CTREE.MAC,DIAGS.MAC,DTREE.MAC,EBCASC.MAC,EXPGEN.MAC,FNDPOP.MAC,GETASY.MAC,GETCPY.MAC,GETERA.MAC,GETGEN.MAC,GETITM.MAC,GETTAG.MAC,
@CHECK SEQ
@
@VD IFGEN.MAC,IMPURE.MAC,IOGEN.MAC,IPCGEN.MAC,MATGEN.MAC,MESGEN.MAC,MOVGEN.MAC,MSCGEN.MAC,PMATCH.MAC,OPCTAB.MAC,PSCAN.MAC,PURE.MAC,PUTAS1.MAC,PUTAS2.MAC,PUTAS3.MAC,PUTBIN.MAC,PUTCPY.MAC,PUTERA.MAC,PUTGEN.MAC,PUTLST.MAC,
@CHECK SEQ
@
@VD RPWGEN.MAC,SQUIRL.MAC,SRTCRF.MAC,SRTGEN.MAC,SRTTAB.MAC,STINFL.MAC,STRGEN.MAC,SUGENS.MAC,SYMBOL.MAC,TRYNAM.MAC,XFRGEN.MAC,XPAND.MAC,XPNPPL.MAC,
@CHECK SEQ
@
@VD CMLSYM.MAC,DBSDCL.MAC,GENDCL.MAC,STRUNV.MAC,STRDCL.MAC,DBDML.MAC,DBGETF.MAC,DMLVOK.MAC,DMLERR.MAC,DMLIO.MAC,SCHIO2.REL,STRHI.REL,
@CHECK SEQ
@
@VD COBOL.CTL,ALL.CMD,ALLB.CMD,ALLD.CMD,ALLDB.CMD,
@CHECK SEQ
@
!
!
@ !
!ASSEMBLE SOURCES
!
!ASSEMBLE THE UNIVERSALS FIRST.
@ERROR %
@TYPE LISTEM.MAC
@IF (ERROR) @GOTO NOLIS1
@ERROR
!
!HERE IF CREF LISTING WANTED
!
@MACRO
*COBASM,COBASM/C=COBASM
*FTDEFS,FTDEFS/C=FTDEFS
*INTERM,INTERM/C=INTERM
*LBLPRM,LBLPRM/C=LBLPRM
*COMUNI,COMUNI/C=COMUNI
*P,P/C=P
*CHREQV,CHREQV/C=CHREQV
*TABLES,TABLES/C=TABLES
*OPCTAB,OPCTAB/C=OPCTAB
*COBTST=COBTST
!
! LOAD THE FEATURE TEST SWITCH TESTER
!
@LINK
*COBTST/GO
@SAVE COBTST
@IF (ERROR) @GOTO TRUBLE
!
!
!!NOW WE CAN ASSEMBLE THE REST OF THE SOURCES
@CHKPNT CK2B
CK2B::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*ASCEBC,ASCEBC/C=ASCEBC
*ASCSIX,ASCSIX/C=ASCSIX
*BISGEN,BISGEN/C=BISGEN
*BTREE,BTREE/C=BTREE
*CLEANC,CLEANC/C=CLEANC
*CLEAND,CLEAND/C=CLEAND
*CLEANT,CLEANT/C=CLEANT
*CLRNAM,CLRNAM/C=CLRNAM
*CMNGEN,CMNGEN/C=CMNGEN
*COBCOM,COBCOM/C=COBCOM
*COBOLA,COBOLA/C=COBOLA
*COBOLB,COBOLB/C=COBOLB
*COBOLC,COBOLC/C=COBOLC
*COBOLD,COBOLD/C=COBOLD
*COBOLE,COBOLE/C=COBOLE
*COBOLF,COBOLF/C=COBOLF
*COBOLG,COBOLG/C=COBOLG
*COBOLK,COBOLK/C=COBOLK
*COBOLO,COBOLO/C=COBOLO
@IF (ERROR) @GOTO TRUBLE
!
@CHKPNT CK2C
CK2C::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*CTREE,CTREE/C=CTREE
*DIAGS,DIAGS/C=DIAGS
*DTREE,DTREE/C=DTREE
*EBCASC,EBCASC/C=EBCASC
*EXPGEN,EXPGEN/C=EXPGEN
*FNDPOP,FNDPOP/C=FNDPOP
*GETASY,GETASY/C=GETASY
*GETCPY,GETCPY/C=GETCPY
*GETERA,GETERA/C=GETERA
*GETGEN,GETGEN/C=GETGEN
*GETITM,GETITM/C=GETITM
*GETTAG,GETTAG/C=GETTAG
*IFGEN,IFGEN/C=IFGEN
*IMPURE,IMPURE/C=IMPURE
*IOGEN,IOGEN/C=IOGEN
*IPCGEN,IPCGEN/C=IPCGEN
*MATGEN,MATGEN/C=MATGEN
*MESGEN,MESGEN/C=MESGEN
*MOVGEN,MOVGEN/C=MOVGEN
*MSCGEN,MSCGEN/C=MSCGEN
*PMATCH,PMATCH/C=PMATCH
*PSCAN,PSCAN/C=PSCAN
*PURE,PURE/C=PURE
*PUTAS1,PUTAS1/C=PUTAS1
*PUTAS2,PUTAS2/C=PUTAS2
*PUTAS3,PUTAS3/C=PUTAS3
@IF (ERROR) @GOTO TRUBLE
!
@CHKPNT CK2D
CK2D::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*PUTBIN,PUTBIN/C=PUTBIN
*PUTCPY,PUTCPY/C=PUTCPY
*PUTERA,PUTERA/C=PUTERA
*PUTGEN,PUTGEN/C=PUTGEN
*PUTLST,PUTLST/C=PUTLST
*RPWGEN,RPWGEN/C=RPWGEN
*SQUIRL,SQUIRL/C=SQUIRL
*SRTCRF,SRTCRF/C=SRTCRF
*SRTGEN,SRTGEN/C=SRTGEN
*SRTTAB,SRTTAB/C=SRTTAB
*STINFL,STINFL/C=STINFL
*STRGEN,STRGEN/C=STRGEN
*SUGENS,SUGENS/C=SUGENS
*SYMBOL,SYMBOL/C=SYMBOL
*TRYNAM,TRYNAM/C=TRYNAM
*XFRGEN,XFRGEN/C=XFRGEN
*XPAND,XPAND/C=XPAND
*XPNPPL,XPNPPL/C=XPNPPL
@IF (ERROR) @GOTO TRUBLE
!
!NOW ASSEMBLE THE DEBUG MODULES
!
@RUN COBTST
*DEBUG
@IF (ERROR) @GOTO NODEB
@MACRO
*HANDAN,HANDAN/C=HANDAN
*TRACER,TRACER/C=TRACER
@IF (ERROR) @GOTO TRUBLE
!
NODEB::
!NOW ASSEMBLE THE DBMS MODULES
!
@RUN COBTST
*DBMS
@IF (ERROR) @GOTO LZT !NOT DBMS
!ASSEMBLE THE UNIVERSALS FIRST
@MACRO
*CMLSYM,CMLSYM/C=CMLSYM
*GENDCL,GENDCL/C=GENDCL
*DBSDCL,DBSDCL/C=DBSDCL
*STRUNV,STRUNV/C=STRUNV
*STRDCL,STRDCL/C=STRDCL
!
!NOW ASSEMBLE THE REST OF THE MODULES
@MACRO
*DBDML,DBDML/C=DBDML
*DBGETF,DBGETF/C=DBGETF
*CMLVOK,CMLVOK/C=DMLVOK
*CMLERR,CMLERR/C=DMLERR
*CMLIO,CMLIO/C=DMLIO
@IF (ERROR) @GOTO TRUBLE
!
!NOW MAKE THE .LZT FILES
LZT::
@CHKPNT CK2E
CK2E::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@CREF
*DSK:COBASM.LZT=COBASM
*DSK:FTDEFS.LZT=FTDEFS
*DSK:INTERM.LZT=INTERM
*DSK:LBLPRM.LZT=LBLPRM
*DSK:COMUNI.LZT=COMUNI
*DSK:P.LZT=P
*DSK:CHREQV.LZT=CHREQV
*DSK:TABLES.LZT=TABLES
*DSK:OPCTAB.LZT=OPCTAB
*DSK:ASCEBC.LZT=ASCEBC
*DSK:ASCSIX.LZT=ASCSIX
*DSK:BISGEN.LZT=BISGEN
*DSK:BTREE.LZT=BTREE
*DSK:CLEANC.LZT=CLEANC
*DSK:CLEAND.LZT=CLEAND
*DSK:CLEANT.LZT=CLEANT
*DSK:CLRNAM.LZT=CLRNAM
*DSK:CMNGEN.LZT=CMNGEN
*DSK:COBCOM.LZT=COBCOM
*DSK:COBOLA.LZT=COBOLA
*DSK:COBOLB.LZT=COBOLB
*DSK:COBOLC.LZT=COBOLC
*DSK:COBOLD.LZT=COBOLD
*DSK:COBOLE.LZT=COBOLE
*DSK:COBOLF.LZT=COBOLF
*DSK:COBOLG.LZT=COBOLG
*DSK:COBOLK.LZT=COBOLK
*DSK:COBOLO.LZT=COBOLO
*DSK:CTREE.LZT=CTREE
*DSK:DIAGS.LZT=DIAGS
*DSK:DTREE.LZT=DTREE
*DSK:EBCASC.LZT=EBCASC
*DSK:EXPGEN.LZT=EXPGEN
*DSK:FNDPOP.LZT=FNDPOP
*DSK:GETASY.LZT=GETASY
*DSK:GETCPY.LZT=GETCPY
*DSK:GETERA.LZT=GETERA
*DSK:GETGEN.LZT=GETGEN
*DSK:GETITM.LZT=GETITM
*DSK:GETTAG.LZT=GETTAG
*DSK:IFGEN.LZT=IFGEN
*DSK:IMPURE.LZT=IMPURE
*DSK:IOGEN.LZT=IOGEN
*DSK:IPCGEN.LZT=IPCGEN
*DSK:MATGEN.LZT=MATGEN
*DSK:MESGEN.LZT=MESGEN
*DSK:MOVGEN.LZT=MOVGEN
*DSK:MSCGEN.LZT=MSCGEN
*DSK:PMATCH.LZT=PMATCH
*DSK:PSCAN.LZT=PSCAN
*DSK:PURE.LZT=PURE
*DSK:PUTAS1.LZT=PUTAS1
*DSK:PUTAS2.LZT=PUTAS2
*DSK:PUTAS3.LZT=PUTAS3
*DSK:PUTBIN.LZT=PUTBIN
*DSK:PUTCPY.LZT=PUTCPY
*DSK:PUTERA.LZT=PUTERA
*DSK:PUTGEN.LZT=PUTGEN
*DSK:PUTLST.LZT=PUTLST
*DSK:RPWGEN.LZT=RPWGEN
*DSK:SQUIRL.LZT=SQUIRL
*DSK:SRTCRF.LZT=SRTCRF
*DSK:SRTGEN.LZT=SRTGEN
*DSK:SRTTAB.LZT=SRTTAB
*DSK:STINFL.LZT=STINFL
*DSK:STRGEN.LZT=STRGEN
*DSK:SUGENS.LZT=SUGENS
*DSK:SYMBOL.LZT=SYMBOL
*DSK:TRYNAM.LZT=TRYNAM
*DSK:XFRGEN.LZT=XFRGEN
*DSK:XPAND.LZT=XPAND
*DSK:XPNPPL.LZT=XPNPPL
@IF (ERROR) !TROUBLE MAKING .LZT FILES
!
!NOW ASSEMBLE THE DEBUG MODULES
!
@RUN COBTST
*DEBUG
@IF (ERROR) @GOTO NODEB
@MACRO
*DSK:HANDAN.LZT=HANDAN
*DSK:TRACER.LZT=TRACER
@IF (ERROR) !TROUBLE MAKING .LZT FILES
!
NODEB::
@RUN COBTST
*DBMS
@IF (ERROR) @GOTO DONCRF !NOT DBMS
@CREF
*DSK:CMLSYM.LZT=CMLSYM
*DSK:GENDCL.LZT=GENDCL
*DSK:DBSDCL.LZT=DBSDCL
*DSK:STRDCL.LZT=STRDCL
*DSK:DBDML.LZT=DBDML
*DSK:DBGETF.LZT=DBGETF
*DSK:CMLVOK.LZT=CMLVOK
*DSK:CMLERR.LZT=CMLERR
*DSK:CMLIO.LZT=CMLIO
@IF (ERROR) !TROUBLE MAKING .LZT FILES
@GOTO DONCRF
NOLIS1::
!HERE IF CREF LISTINGS NOT WANTED
@ERROR
@MACRO
*COBASM=COBASM
*FTDEFS=FTDEFS
*INTERM=INTERM
*LBLPRM=LBLPRM
*COMUNI=COMUNI
*P=P
*CHREQV=CHREQV
*TABLES=TABLES
*OPCTAB=OPCTAB
*COBTST=COBTST
!
!HERE TO LOAD THE FEATURE TEST SWITCH TESTER
!
@LINK
*COBTST/GO
@SAVE COBTST
@IF (ERROR) @GOTO TRUBLE
!
!NOW WE CAN ASSEMBLE THE REST OF THE MODULES.
@CHKPNT CK2F
CK2F::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*ASCEBC=ASCEBC
*ASCSIX=ASCSIX
*BISGEN=BISGEN
*BTREE=BTREE
*CLEANC=CLEANC
*CLEAND=CLEAND
*CLEANT=CLEANT
*CLRNAM=CLRNAM
*CMNGEN=CMNGEN
*COBCOM=COBCOM
*COBOLA=COBOLA
*COBOLB=COBOLB
*COBOLC=COBOLC
*COBOLD=COBOLD
*COBOLE=COBOLE
*COBOLF=COBOLF
*COBOLG=COBOLG
*COBOLK=COBOLK
*COBOLO=COBOLO
@IF (ERROR) @GOTO TRUBLE
!
@CHKPNT CK2G
CK2G::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*CTREE=CTREE
*DIAGS=DIAGS
*DTREE=DTREE
*EBCASC=EBCASC
*EXPGEN=EXPGEN
*FNDPOP=FNDPOP
*GETASY=GETASY
*GETCPY=GETCPY
*GETERA=GETERA
*GETGEN=GETGEN
*GETITM=GETITM
*GETTAG=GETTAG
*IFGEN=IFGEN
*IMPURE=IMPURE
*IOGEN=IOGEN
*IPCGEN=IPCGEN
*MATGEN=MATGEN
*MESGEN=MESGEN
*MOVGEN=MOVGEN
*MSCGEN=MSCGEN
*PMATCH=PMATCH
*PSCAN=PSCAN
*PURE=PURE
*PUTAS1=PUTAS1
*PUTAS2=PUTAS2
*PUTAS3=PUTAS3
@IF (ERROR) @GOTO TRUBLE
!
@CHKPNT CK2H
CK2H::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
@MACRO
*PUTBIN=PUTBIN
*PUTCPY=PUTCPY
*PUTERA=PUTERA
*PUTGEN=PUTGEN
*PUTLST=PUTLST
*RPWGEN=RPWGEN
*SQUIRL=SQUIRL
*SRTCRF=SRTCRF
*SRTGEN=SRTGEN
*SRTTAB=SRTTAB
*STINFL=STINFL
*STRGEN=STRGEN
*SUGENS=SUGENS
*SYMBOL=SYMBOL
*TRYNAM=TRYNAM
*XFRGEN=XFRGEN
*XPAND=XPAND
*XPNPPL=XPNPPL
@IF (ERROR) @GOTO TRUBLE
!
!NOW ASSEMBLE THE DEBUG MODULES
!
@RUN COBTST
*DEBUG
@IF (ERROR) @GOTO NODEB
@MACRO
*HANDAN=HANDAN
*TRACER=TRACER
@IF (ERROR) @GOTO TRUBLE
!
NODEB::
!ASSEMBLE THE DBMS MODULES.
!
@RUN COBTST
*DBMS
@IF (ERROR) @GOTO DONCRF
!
!ASSEMBLE THE UNIVERSALS FIRST.
@MACRO
*CMLSYM=CMLSYM
*GENDCL=GENDCL
*DBSDCL=DBSDCL
*STRUNV=STRUNV
*STRDCL=STRDCL
!
!NOW ASSEMBLE THE REST OF THE MODULES.
@MACRO
*DBDML=DBDML
*DBGETF=DBGETF
*CMLVOK=DMLVOK
*CMLERR=DMLERR
*CMLIO=DMLIO
@IF (ERROR) @GOTO TRUBLE
@GOTO DONCRF
DONCRF:: !NOW START TO LOAD
!
@CHKPNT CH2J
CK2J::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
!
!SEE WHICH COMPILER (68 OR 74) TO LOAD
!
@RUN COBTST
*ANS68
@IF (ERROR) @GOTO PT40 !COBOL-74
!
PT20::!HERE FOR COBOL-68 COMPILER
!SEE WHAT FLAVOUR OF COMPILER TO LOAD
!
@RUN COBTST
*DEBUG
@IF (ERROR) @GOTO PT21 !NOT DEBUG
@RUN COBTST
*DBMS
@IF (ERROR) @GOTO PT32 !DEBUG, NOT DBMS
@GOTO PT31 !DEBUG, DBMS
!
PT21::
@RUN COBTST
*DBMS
@IF (ERROR) @GOTO PT34 !NOT DEBUG, NOT DBMS
@GOTO PT33 !NOT DEBUG, DBMS
!
!
PT31:: !DEBUG, DBMS
!
@LINK
*COBOL/MAP=
*@ALLDB
@IF (ERROR) @GOTO TRUBLE
@SAVE COBOL 0 677
@IF (ERROR) @GOTO TRUBLE
@GOTO LODON
!
!
PT32:: !DEBUG, NOT DBMS
!
@LINK
*COBOL/MAP=
*@ALLD
@IF (ERROR) @GOTO TRUBLE
@SAVE COBOL 0 677
@IF (ERROR) @GOTO TRUBLE
@GOTO LODON
!
!
PT33:: !NOT DEBUG, DBMS
!
@LINK
*COBOL/MAP=
*@ALLB
@IF (ERROR) @GOTO TRUBLE
@SAVE COBOL 0 677
@IF (ERROR) @GOTO TRUBLE
@GOTO LODON
!
!
PT34:: !NOT DEBUG, NOT DBMS
!
@LINK
*COBOL/MAP=
*@ALL
@IF (ERROR) @GOTO TRUBLE
@SAVE COBOL 0 677
@IF (ERROR) @GOTO TRUBLE
@GOTO LODON
PT40::
!HERE FOR COBOL-74 COMPILER
!SEE WHAT FLAVOUR OF COMPILER TO LOAD
!
@RUN COBTST
*DEBUG
@IF (ERROR) @GOTO PT41 !NOT DEBUG
@RUN COBTST
*DBMS
@IF (ERROR) @GOTO PT52 !DEBUG, NOT DBMS
@GOTO PT51 !DEBUG, DBMS
!
PT41::
@RUN COBTST
*DBMS
@IF (ERROR) @GOTO PT54 !NOT DEBUG, NOT DBMS
@GOTO PT53 !NOT DEBUG, DBMS
!
!
PT51:: !DEBUG, DBMS
!
@LINK
*CBL74/MAP=
*@ALLDB
@IF (ERROR) @GOTO TRUBLE
@SAVE CBL74 0 677
@IF (ERROR) @GOTO TRUBLE
@GOTO LODON
!
!
PT52:: !DEBUG, NOT DBMS
!
@LINK
*CBL74/MAP=
*@ALLD
@IF (ERROR) @GOTO TRUBLE
@SAVE CBL74 0 677
@IF (ERROR) @GOTO TRUBLE
@GOTO LODON
!
!
PT53:: !NOT DEBUG, DBMS
!
@LINK
*CBL74/MAP=
*@ALLB
@IF (ERROR) @GOTO TRUBLE
@SAVE CBL74 0 677
@IF (ERROR) @GOTO TRUBLE
@GOTO LODON
!
!
PT54:: !NOT DEBUG, NOT DBMS
!
@LINK
*CBL74/MAP=
*@ALL
@IF (ERROR) @GOTO TRUBLE
@SAVE CBL74 0 677
@IF (ERROR) @GOTO TRUBLE
@GOTO LODON
LODON::!LOADING IS DONE
!
!TEST FOR COMPLETION SINCE LINK DOES NOT KNOW ITS UNDER BATCH
!
@START
*/U
@IF (NOERROR) @GOTO TRUBLE !WE SAVED LINK NOT COBOL
!
@CHKPNT CK2K
CK2K::
@ERROR
@TAKE COBOL.CMD
@IF (ERROR) !IGNORE IT
!
!GENERATE GLOB LISTING
!
@COPY PURE.REL FOO.REL
!
!SEE IF GLOB COMMAND GIVES US AN ERROR
!
@GLOB
@IF (ERROR) @GOTO NOGLOB
!
!WE COULD HAVE ONE GLOB COMMAND FOR EACH CONFIGURATION
!BUT IT IS SIMPLER TO PUT THE OPTIONAL FILES IN ONE PLACE
!
@RUN COBTST
*DEBUG
@IF (ERROR) @GOTO NEXT
@APPEND HANDAN.REL,TRACER.REL FOO.REL
NEXT::
@RUN COBTST
*DBMS
@IF (ERROR) @GOTO NEXT
@APPEND SCHIO2.REL,STRHI.REL,CMLERR.REL,CMLIO.REL,CMLSYM.REL,CMLVOK.REL,DBDML.REL,DBGETF.REL FOO.REL
NEXT::
@RUN COBTST
*ANS68
@IF (ERROR) @GOTO V74 !COBOL-74
!
@GLOB
*CHREQV.REL,COBASM.REL,COMUNI.REL,INTERM.REL,LBLPRM.REL,P.REL,TABLES.REL
*ASCEBC.REL,ASCSIX.REL,IMPURE.REL,FOO.REL,SQUIRL.REL,BTREE.REL
*XPNPPL.REL,XPAND.REL,GETITM.REL,STINFL.REL,CLRNAM.REL
*TRYNAM.REL,PUTGEN.REL,PUTCPY.REL,PUTERA.REL,COBCOM.REL
*PUTLST.REL,COBOLB.REL,COBOLA.REL,CLEANC.REL,CTREE.REL
*FNDPOP.REL,GETTAG.REL,PSCAN.REL,PUTAS1.REL,PUTAS2.REL
*COBOLC.REL,CLEAND.REL,CLEANT.REL,DTREE.REL,COBOLD.REL
*BISGEN.REL,CMNGEN.REL,EXPGEN.REL,GETGEN.REL,IFGEN.REL
*IOGEN.REL,IPCGEN.REL,MATGEN.REL,MESGEN.REL,MOVGEN.REL
*MSCGEN.REL,PUTAS3.REL,RPWGEN.REL,SRTGEN.REL,STRGEN.REL
*SUGENS.REL,XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
*GETCPY.REL,GETERA.REL,PUTBIN.REL,SRTCRF.REL,SRTTAB.REL
*SYMBOL.REL,COBOLG.REL,COBOLF.REL,EBCASC.REL,COBOLK.REL
*OPCTAB.REL,COBOLO.REL,PMATCH.REL
*COBOL.GLB=
@GOTO NOGLOB
!
V74::!COBOL-74
@GLOB
*CHREQV.REL,COBASM.REL,COMUNI.REL,INTERM.REL,LBLPRM.REL,P.REL,TABLES.REL
*ASCEBC.REL,ASCSIX.REL,IMPURE.REL,FOO.REL,SQUIRL.REL,BTREE.REL
*XPNPPL.REL,XPAND.REL,GETITM.REL,STINFL.REL,CLRNAM.REL
*TRYNAM.REL,PUTGEN.REL,PUTCPY.REL,PUTERA.REL,COBCOM.REL
*PUTLST.REL,COBOLB.REL,COBOLA.REL,CLEANC.REL,CTREE.REL
*FNDPOP.REL,GETTAG.REL,PSCAN.REL,PUTAS1.REL,PUTAS2.REL
*COBOLC.REL,CLEAND.REL,CLEANT.REL,DTREE.REL,COBOLD.REL
*BISGEN.REL,CMNGEN.REL,EXPGEN.REL,GETGEN.REL,IFGEN.REL
*IOGEN.REL,IPCGEN.REL,MATGEN.REL,MESGEN.REL,MOVGEN.REL
*MSCGEN.REL,PUTAS3.REL,RPWGEN.REL,SRTGEN.REL,STRGEN.REL
*SUGENS.REL,XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
*GETCPY.REL,GETERA.REL,PUTBIN.REL,SRTCRF.REL,SRTTAB.REL
*SYMBOL.REL,COBOLG.REL,COBOLF.REL,EBCASC.REL,COBOLK.REL
*OPCTAB.REL,COBOLO.REL,PMATCH.REL
*CBL74.GLB=
!
NOGLOB::
@RUN COBTST
*ANS68
@IF (ERROR) @GOTO V74 !COBOL-74
@VD COBOL.EXE,COBOL.MAP,COBOL.GLB,
@CHECK SEQ
@
@GOTO CLNUP
!
V74::
@VD CBL74.EXE,CBL74.MAP,CBL74.GLB,
@CHECK SEQ
@
!
CLNUP::
! CLEAN UP AFTER BUILD
!
@DELETE FOO.REL
@VDIR COBASM.UNV,FTDEFS.UNV,INTERM.UNV,LBLPRM.UNV,COMUNI.UNV,P.UNV,CHREQV.UNV,TABLES.UNV,
@CHECK SEQ
@
@VDIR DMLSYM.UNV,GENDCL.UNV,DBSDCL.UNV,STRING.UNV,STRDCL.UNV,
@CHECK SEQ
@
@VDIR ASCEBC.REL,CHREQV.REL,COBASM.REL,COMUNI.REL,INTERM.REL,LBLPRM.REL,P.REL,TABLES.REL,
@CHECK SEQ
@
@VDIR ASCSIX.REL,IMPURE.REL,PURE.REL,SQUIRL.REL,BTREE.REL,XPNPPL.REL,XPAND.REL,GETITM.REL,STINFL.REL,CLRNAM.REL,
@CHECK SEQ
@
@VDIR TRYNAM.REL,PUTGEN.REL,PUTCPY.REL,PUTERA.REL,COBCOM.REL,PUTLST.REL,COBOLB.REL,COBOLA.REL,CLEANC.REL,CTREE.REL,
@CHECK SEQ
@
@VDIR FNDPOP.REL,GETTAG.REL,PSCAN.REL,PUTAS1.REL,PUTAS2.REL,COBOLC.REL,CLEAND.REL,CLEANT.REL,DTREE.REL,COBOLD.REL,
@CHECK SEQ
@
@VDIR BISGEN.REL,CMNGEN.REL,EXPGEN.REL,GETGEN.REL,IFGEN.REL,IOGEN.REL,IPCGEN.REL,MATGEN.REL,MESGEN.REL,MOVGEN.REL,
@CHECK SEQ
@
@VDIR MSCGEN.REL,PUTAS3.REL,RPWGEN.REL,SRTGEN.REL,STRGEN.REL,SUGENS.REL,XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL,
@CHECK SEQ
@
@VDIR GETCPY.REL,GETERA.REL,PUTBIN.REL,SRTCRF.REL,SRTTAB.REL,SYMBOL.REL,COBOLG.REL,COBOLF.REL,EBCASC.REL,COBOLK.REL,
@CHECK SEQ
@
@VDIR OPCTAB.REL,COBOLO.REL,PMATCH.REL,HANDAN.REL,TRACER.REL,
@CHECK SEQ
@
@VDIR CMLERR.REL,CMLIO.REL,CMLSYM.REL,CMLVOK.REL,DBDML.REL,DBGETF.REL,DBSDCL.REL,GENDCL.REL,STRDCL.REL,STRUNV.REL,
@CHECK SEQ
@
!
@DELETE CHREQV.REL,COBASM.REL,COMUNI.REL,FTDEFS.REL,INTERM.REL,LBLPRM.REL,P.REL,TABLES.REL,OPCTAB.REL
!
!IF DEBUG LEAVE REST OF REL FILES AROUND
!
@RUN COBTST
*DEBUG
@IF (NOERROR) @GOTO DONE !DEBUG
@GOTO DONE !TEMP FOR IN-HOUSE USE
!
@DELETE ASCEBC.REL,ASCSIX.REL,IMPURE.REL,PURE.REL,SQUIRL.REL,BTREE.REL
@DELETE XPNPPL.REL,XPAND.REL,GETITM.REL,STINFL.REL,CLRNAM.REL
@DELETE TRYNAM.REL,PUTGEN.REL,PUTCPY.REL,PUTERA.REL,COBCOM.REL
@DELETE PUTLST.REL,COBOLB.REL,COBOLA.REL,CLEANC.REL,CTREE.REL
@DELETE FNDPOP.REL,GETTAG.REL,PSCAN.REL,PUTAS1.REL,PUTAS2.REL
@DELETE COBOLC.REL,CLEAND.REL,CLEANT.REL,DTREE.REL,COBOLD.REL
@DELETE BISGEN.REL,CMNGEN.REL,EXPGEN.REL,GETGEN.REL,IFGEN.REL
@DELETE IOGEN.REL,IPCGEN.REL,MATGEN.REL,MESGEN.REL,MOVGEN.REL
@DELETE MSCGEN.REL,PUTAS3.REL,RPWGEN.REL,SRTGEN.REL,STRGEN.REL
@DELETE SUGENS.REL,XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
@DELETE GETCPY.REL,GETERA.REL,PUTBIN.REL,SRTCRF.REL,SRTTAB.REL
@DELETE SYMBOL.REL,COBOLG.REL,COBOLF.REL,EBCASC.REL,COBOLK.REL
@DELETE COBOLO.REL,PMATCH.REL,COBTST.REL
@DELETE GENDCL.REL,DBSDCL.REL,STRUNV.REL,STRDCL.REL,CMLERR.REL,CMLIO.REL,CMLSYM.REL,CMLVOK.REL,DBDML.REL,DBGETF.REL
@IF (ERROR) @!NOT DBMS MOST LIKELY
!
DONE:: !ALL DONE
!
@PLEASE COBOL BUILD COMPLETE!
@EXP
@MODIFY BATCH */DEPEND:-1
@GOTO OK
%ERR::
TRUBLE::
@PLEASE -- COBOL CREATION NOT SUCCESSFUL!!!
@GOTO OK
TOPS10::
!
!REQUIRED FILES:
!DEC: PIP.EXE (LATEST RELEASED VERSIONS)
! MACRO.EXE
! DIRECT.EXE
! LINK.EXE+LNK???.EXE
! CREF.EXE
! COMPIL.EXE
! GLOB.EXE
! HELPER.REL
! DDT.REL
!
!UNV: UUOSYM.UNV
!
![SELF] COBOL.CTL COBOL.DOC COBOL.HLP COBASM.MAC
!
!SRC: ASCSIX.MAC ASCEBC.MAC BTREE.MAC BISGEN.MAC
! CHREQV.MAC CLEANC.MAC CLEAND.MAC CLEANT.MAC
! CLRNAM.MAC CMNGEN.MAC COBCOM.MAC COBOLA.MAC
! COBOLB.MAC COBOLC.MAC COBOLD.MAC COBOLE.MAC
! COBOLF.MAC COBOLG.MAC COBOLK.MAC COBOLO.MAC
! COMUNI.MAC CTREE.MAC DIAGS.MAC DTREE.MAC
! EBCASC.MAC EXPGEN.MAC FNDPOP.MAC GETASY.MAC
! GETCPY.MAC GETERA.MAC GETGEN.MAC GETITM.MAC
! GETTAG.MAC IFGEN.MAC IMPURE.MAC
! INTERM.MAC IOGEN.MAC IPCGEN.MAC MATGEN.MAC
! MESGEN.MAC MOVGEN.MAC MSCGEN.MAC OPCTAB.MAC
! P.MAC PMATCH.MAC PSCAN.MAC PURE.MAC
! PUTAS1.MAC PUTAS2.MAC PUTAS3.MAC PUTBIN.MAC
! PUTCPY.MAC PUTGEN.MAC PUTLST.MAC RPWGEN.MAC
! SQUIRL.MAC SRTCRF.MAC SRTGEN.MAC SRTTAB.MAC
! STINFL.MAC STRGEN.MAC SUGENS.MAC SYMBOL.MAC
! TABLES.MAC TRYNAM.MAC XFRGEN.MAC
! XPAND.MAC XPNPPL.MAC
!
!IF MAKING A DEBUG VERSION, THE FOLLOWING ARE ALSO REQUIRED
!
! HANDAN.MAC TRACER.MAC
!
!IF MAKING A MULTI-SEGMENT VERSION, THE FOLLOWING ARE ALSO REQUIRED
!
! PURAB.MAC PUREC.MAC PURED.MAC PUREE.MAC
! PUREO.MAC PURFG.MAC
!
!IF MAKING A DBMS COBOL, THE FOLLOWING ARE ALSO REQUIRED:
!
! CMLSYM.MAC DBDML.MAC DBGETF.MAC DBSDCL.MAC
! DMLERR.MAC DMLIO.MAC DMLVOK.MAC GENDCL.MAC
! STRUNV.MAC STRDCL.MAC
! SCHIO1.REL STRHI.REL
!
!TO LOAD COBOL ONE OF THE FOLOWING SETS OF CMD FILES ARE REQUIRED:
!
!MULTI-SEG, NOT DEBUG, NOT DBMS
!
! PAB.CMD PC.CMD PD.CMD PE.CMD
! PO.CMD PFG.CMD PK.CMD
!
!MULTI-SEG, DEBUG, NOT DBMS
!
! PABD.CMD PCD.CMD PDD.CMD PED.CMD
! POD.CMD PFGD.CMD PKD.CMD
!
!MULTI-SEGMENT, NOT DEBUG, DBMS
!
! PABB.CMD PCB.CMD PDB.CMD PE.CMD
! PO.CMD PFG.CMD PK.CMD
!
!MULTI-SEG, DEBUG, DBMS
!
! PABDB.CMD PCDB.CMD PDDBD.CMD PED.CMD
! POD.CMD PFGD.CMD PKD.CMD
!
!ONE SEGMENT, NOT DEBUG, NOT DBMS
!
! ALL.CMD
!
!ONE SEGMENT, DEBUG, NOT DBMS
!
! ALLD.CMD
!
!ONE SEGMENT, NOT DEBUG, DBMS
!
! ALLB.CMD
!
!ONE SEGMENT, DEBUG, DBMS
!
! ALLDB.CMD
!
!TO TEST THE FEATURES TEST SWITCH SETTINGS THE FOLLOWING IS REQUIRED:
!
! COBTST.MAC
!
!
!OUTPUT: MULTI-SEGMENT ONE SEGMENT
! COBOL.EXE COBOL.MAP COBOL.EXE
! COBOLC.EXE COBOLC.MAP COBOL.MAP
! COBOLD.EXE COBOLD.MAP
! COBOLE.EXE COBOLE.MAP
! COBOLO.EXE COBOLO.MAP
! COBOLF.EXE COBOLF.MAP
! COBOLK.EXE COBOLK.MAP
!
! COBOL.LOG
! COBOL.GLB
!
!
!
.CHKPNT CK1A
CK1A::
!
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
!.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
!
!SEE WHAT WE ARE USING
.RUN DEC:DIRECT
*TTY:=/CHECKSUM/WIDTH:90 DEC:PIP.EXE,MACRO.EXE,LINK.EXE,LNK???.EXE,DIRECT.EXE,COMPIL.EXE,CREF.EXE,GLOB.EXE,HELPER.REL,DDT.REL
.IF (ERROR) . !IGNORE ANY ERRORS.
.RUN DEC:DIRECT
*TTY:=/CHECKSUM/WIDTH:90 DSK:COBASM.MAC,SRC:CHREQV.MAC,COMUNI.MAC,FTDEFS.MAC,INTERM.MAC,LBLPRM.MAC,P.MAC,TABLES.MAC,OPCTAB.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:ASCEBC.MAC,ASCSIX.MAC,IMPURE.MAC,SQUIRL.MAC,BTREE.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:XPNPPL.MAC,XPAND.MAC,GETITM.MAC,STINFL.MAC,CLRNAM.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:TRYNAM.MAC,PUTGEN.MAC,PUTCPY.MAC,PUTERA.MAC,COBCOM.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:PUTLST.MAC,COBOLB.MAC,COBOLA.MAC,CLEANC.MAC,CTREE.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:FNDPOP.MAC,GETTAG.MAC,PSCAN.MAC,PUTAS1.MAC,PUTAS2.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:COBOLC.MAC,CLEAND.MAC,CLEANT.MAC,DTREE.MAC,COBOLD.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:BISGEN.MAC,CMNGEN.MAC,EXPGEN.MAC,GETGEN.MAC,IFGEN.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:IOGEN.MAC,IPCGEN.MAC,MATGEN.MAC,MESGEN.MAC,MOVGEN.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:MSCGEN.MAC,PUTAS3.MAC,RPWGEN.MAC,SRTGEN.MAC,STRGEN.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:SUGENS.MAC,XFRGEN.MAC,COBOLE.MAC,DIAGS.MAC,GETASY.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:GETCPY.MAC,GETERA.MAC,PUTBIN.MAC,SRTCRF.MAC,SRTTAB.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:SYMBOL.MAC,COBOLG.MAC,COBOLF.MAC,EBCASC.MAC,COBOLK.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:COBOLO.MAC,PMATCH.MAC,HANDAN.MAC,TRACER.MAC,COBTST.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:GENDCL.MAC,DBSDCL.MAC,STRUNV.MAC,STRDCL.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:DMLERR.MAC,DMLIO.MAC,CMLSYM.MAC,DMLVOK.MAC,DBDML.MAC,DBGETF.MAC,SCHIO1.REL,STRHI.REL
*TTY:=/CHECKSUM/WIDTH:90 SRC:PURE.MAC,PURAB.MAC,PUREC.MAC,PURED.MAC,PUREE.MAC,PUREO.MAC,PURFG.MAC
*TTY:=/CHECKSUM/WIDTH:90 SRC:PAB.CMD,PC.CMD,PD.CMD,PE.CMD,PO.CMD,PFG.CMD,PK.CMD
*TTY:=/CHECKSUM/WIDTH:90 SRC:PABD.CMD,PCD.CMD,PDD.CMD,PED.CMD,POD.CMD,PFGD.CMD,PKD.CMD
*TTY:=/CHECKSUM/WIDTH:90 SRC:PABB.CMD,PCB.CMD,PDB.CMD,PABDB.CMD,PCDB.CMD,PDDBD.CMD
*TTY:=/CHECKSUM/WIDTH:90 SRC:COBOL.CTL,ALL.CMD,ALLB.CMD,ALLD.CMD,ALLDB.CMD
.IF (ERROR) . !IGNORE ANY ERRORS.
!
!ASSEMBLE SOURCES
!
!ASSEMBLE THE UNIVERSALS FIRST.
.TYPE LISTEM.MAC
.IF (ERROR) .GOTO NOLIS1
!
!HERE IF CREF LISTING WANTED
!
.RUN DEC:MACRO
*COBASM,COBASM/C=COBASM
*FTDEFS,FTDEFS/C=FTDEFS
*INTERM,INTERM/C=INTERM
*LBLPRM,LBLPRM/C=LBLPRM
*COMUNI,COMUNI/C=COMUNI
*P,P/C=P
*CHREQV,CHREQV/C=CHREQV
*TABLES,TABLES/C=TABLES
*OPCTAB,OPCTAB/C=OPCTAB
*COBTST=COBTST
.RUN DEC:LINK
*COBTST/GO
.SAVE COBTST
.IF (ERROR) .GOTO TRUBLE
!
!
!!NOW WE CAN ASSEMBLE THE REST OF THE SOURCES
.CHKPNT CK1B
CK1B::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
!.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.RUN DEC:MACRO
*ASCEBC,ASCEBC/C=ASCEBC
*ASCSIX,ASCSIX/C=ASCSIX
*BISGEN,BISGEN/C=BISGEN
*BTREE,BTREE/C=BTREE
*CLEANC,CLEANC/C=CLEANC
*CLEAND,CLEAND/C=CLEAND
*CLEANT,CLEANT/C=CLEANT
*CLRNAM,CLRNAM/C=CLRNAM
*CMNGEN,CMNGEN/C=CMNGEN
*COBCOM,COBCOM/C=COBCOM
*COBOLA,COBOLA/C=COBOLA
*COBOLB,COBOLB/C=COBOLB
*COBOLC,COBOLC/C=COBOLC
*COBOLD,COBOLD/C=COBOLD
*COBOLE,COBOLE/C=COBOLE
*COBOLF,COBOLF/C=COBOLF
*COBOLG,COBOLG/C=COBOLG
*COBOLK,COBOLK/C=COBOLK
*COBOLO,COBOLO/C=COBOLO
.IF (ERROR) .GOTO TRUBLE
!
.CHKPNT CK1C
CK1C::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
!.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.RUN DEC:MACRO
*CTREE,CTREE/C=CTREE
*DIAGS,DIAGS/C=DIAGS
*DTREE,DTREE/C=DTREE
*EBCASC,EBCASC/C=EBCASC
*EXPGEN,EXPGEN/C=EXPGEN
*FNDPOP,FNDPOP/C=FNDPOP
*GETASY,GETASY/C=GETASY
*GETCPY,GETCPY/C=GETCPY
*GETERA,GETERA/C=GETERA
*GETGEN,GETGEN/C=GETGEN
*GETITM,GETITM/C=GETITM
*GETTAG,GETTAG/C=GETTAG
*IFGEN,IFGEN/C=IFGEN
*IMPURE,IMPURE/C=IMPURE
*IOGEN,IOGEN/C=IOGEN
*IPCGEN,IPCGEN/C=IPCGEN
*MATGEN,MATGEN/C=MATGEN
*MESGEN,MESGEN/C=MESGEN
*MOVGEN,MOVGEN/C=MOVGEN
*MSCGEN,MSCGEN/C=MSCGEN
*PMATCH,PMATCH/C=PMATCH
*PSCAN,PSCAN/C=PSCAN
.RUN COBTST
*ONESEG
.IF (ERROR) .GOTO MSEG
.RUN DEC:MACRO
*PURE,PURE/C=PURE
.GOTO NEXT
MSEG::
.RUN DEC:MACRO
*PURAB,PURAB/C=PURAB,PURE
*PUREC,PUREC/C=PUREC,PURE
*PURED,PURED/C=PURED,PURE
*PUREE,PUREE/C=PUREE,PURE
*PUREO,PUREO/C=PUREO,PURE
*PURFG,PURFG/C=PURFG,PURE
NEXT::.IF (ERROR) .GOTO TRUBLE
!
.CHKPNT CK1D
CK1D::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
!.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.RUN DEC:MACRO
*PUTAS1,PUTAS1/C=PUTAS1
*PUTAS2,PUTAS2/C=PUTAS2
*PUTAS3,PUTAS3/C=PUTAS3
*PUTBIN,PUTBIN/C=PUTBIN
*PUTCPY,PUTCPY/C=PUTCPY
*PUTERA,PUTERA/C=PUTERA
*PUTGEN,PUTGEN/C=PUTGEN
*PUTLST,PUTLST/C=PUTLST
*RPWGEN,RPWGEN/C=RPWGEN
*SQUIRL,SQUIRL/C=SQUIRL
*SRTCRF,SRTCRF/C=SRTCRF
*SRTGEN,SRTGEN/C=SRTGEN
*SRTTAB,SRTTAB/C=SRTTAB
*STINFL,STINFL/C=STINFL
*STRGEN,STRGEN/C=STRGEN
*SUGENS,SUGENS/C=SUGENS
*SYMBOL,SYMBOL/C=SYMBOL
*TRYNAM,TRYNAM/C=TRYNAM
*XFRGEN,XFRGEN/C=XFRGEN
*XPAND,XPAND/C=XPAND
*XPNPPL,XPNPPL/C=XPNPPL
.IF (ERROR) .GOTO TRUBLE
!
!NOW ASSEMBLE THE DEBUG MODULES
!
.RUN COBTST
*DEBUG
.IF (ERROR) .GOTO NODEB
.RUN DEC:MACRO
*HANDAN,HANDAN/C=HANDAN
*TRACER,TRACER/C=TRACER
.IF (ERROR) .GOTO TRUBLE
!
NODEB::
!NOW ASSEMBLE THE DBMS MODULES
!
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO LZT !NOT DBMS
!ASSEMBLE THE UNIVERSALS FIRST
.RUN DEC:MACRO
*CMLSYM,CMLSYM/C=CMLSYM
*GENDCL,GENDCL/C=GENDCL
*DBSDCL,DBSDCL/C=DBSDCL
*STRUNV,STRUNV/C=STRUNV
*STRDCL,STRDCL/C=STRDCL
!
!NOW ASSEMBLE THE REST OF THE MODULES
.RUN DEC:MACRO
*DBDML,DBDML/C=DBDML
*DBGETF,DBGETF/C=DBGETF
*CMLVOK,CMLVOK/C=DMLVOK
*CMLERR,CMLERR/C=DMLERR
*CMLIO,CMLIO/C=DMLIO
.IF (ERROR) .GOTO TRUBLE
!
!NOW MAKE THE .LZT FILES
LZT::
.CHKPNT CK1E
CK1E::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
!.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.RUN DEC:CREF
*DSK:COBASM.LZT=COBASM
*DSK:FTDEFS.LZT=FTDEFS
*DSK:INTERM.LZT=INTERM
*DSK:LBLPRM.LZT=LBLPRM
*DSK:COMUNI.LZT=COMUNI
*DSK:P.LZT=P
*DSK:CHREQV.LZT=CHREQV
*DSK:TABLES.LZT=TABLES
*DSK:OPCTAB.LZT=OPCTAB
*DSK:ASCEBC.LZT=ASCEBC
*DSK:ASCSIX.LZT=ASCSIX
*DSK:BISGEN.LZT=BISGEN
*DSK:BTREE.LZT=BTREE
*DSK:CLEANC.LZT=CLEANC
*DSK:CLEAND.LZT=CLEAND
*DSK:CLEANT.LZT=CLEANT
*DSK:CLRNAM.LZT=CLRNAM
*DSK:CMNGEN.LZT=CMNGEN
*DSK:COBCOM.LZT=COBCOM
*DSK:COBOLA.LZT=COBOLA
*DSK:COBOLB.LZT=COBOLB
*DSK:COBOLC.LZT=COBOLC
*DSK:COBOLD.LZT=COBOLD
*DSK:COBOLE.LZT=COBOLE
*DSK:COBOLF.LZT=COBOLF
*DSK:COBOLG.LZT=COBOLG
*DSK:COBOLK.LZT=COBOLK
*DSK:COBOLO.LZT=COBOLO
*DSK:CTREE.LZT=CTREE
*DSK:DIAGS.LZT=DIAGS
*DSK:DTREE.LZT=DTREE
*DSK:EBCASC.LZT=EBCASC
*DSK:EXPGEN.LZT=EXPGEN
*DSK:FNDPOP.LZT=FNDPOP
*DSK:GETASY.LZT=GETASY
*DSK:GETCPY.LZT=GETCPY
*DSK:GETERA.LZT=GETERA
*DSK:GETGEN.LZT=GETGEN
*DSK:GETITM.LZT=GETITM
*DSK:GETTAG.LZT=GETTAG
*DSK:IFGEN.LZT=IFGEN
*DSK:IMPURE.LZT=IMPURE
*DSK:IOGEN.LZT=IOGEN
*DSK:IPCGEN.LZT=IPCGEN
*DSK:MATGEN.LZT=MATGEN
*DSK:MESGEN.LZT=MESGEN
*DSK:MOVGEN.LZT=MOVGEN
*DSK:MSCGEN.LZT=MSCGEN
*DSK:PMATCH.LZT=PMATCH
*DSK:PSCAN.LZT=PSCAN
*DSK:PURE.LZT=PURE
*DSK:PUTAS1.LZT=PUTAS1
*DSK:PUTAS2.LZT=PUTAS2
*DSK:PUTAS3.LZT=PUTAS3
*DSK:PUTBIN.LZT=PUTBIN
*DSK:PUTCPY.LZT=PUTCPY
*DSK:PUTERA.LZT=PUTERA
*DSK:PUTGEN.LZT=PUTGEN
*DSK:PUTLST.LZT=PUTLST
*DSK:RPWGEN.LZT=RPWGEN
*DSK:SQUIRL.LZT=SQUIRL
*DSK:SRTCRF.LZT=SRTCRF
*DSK:SRTGEN.LZT=SRTGEN
*DSK:SRTTAB.LZT=SRTTAB
*DSK:STINFL.LZT=STINFL
*DSK:STRGEN.LZT=STRGEN
*DSK:SUGENS.LZT=SUGENS
*DSK:SYMBOL.LZT=SYMBOL
*DSK:TRYNAM.LZT=TRYNAM
*DSK:XFRGEN.LZT=XFRGEN
*DSK:XPAND.LZT=XPAND
*DSK:XPNPPL.LZT=XPNPPL
.IF (ERROR) .!TROUBLE MAKING .LZT FILES
!
!NOW ASSEMBLE THE DEBUG MODULES
!
.RUN COBTST
*DEBUG
.IF (ERROR) .GOTO NODEB
.RUN DEC:MACRO
*DSK:HANDAN.LZT=HANDAN
*DSK:TRACER.LZT=TRACER
.IF (ERROR) !TROUBLE MAKING .LZT FILES
!
NODEB::
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO DONCRF !NOT DBMS
.RUN DEC:CREF
*DSK:CMLSYM.LZT=CMLSYM
*DSK:GENDCL.LZT=GENDCL
*DSK:DBSDCL.LZT=DBSDCL
*DSK:STRDCL.LZT=STRDCL
*DSK:DBDML.LZT=DBDML
*DSK:DBGETF.LZT=DBGETF
*DSK:CMLVOK.LZT=CMLVOK
*DSK:CMLERR.LZT=CMLERR
*DSK:CMLIO.LZT=CMLIO
.IF (ERROR) .!TROUBLE MAKING .LZT FILES
.GOTO DONCRF
NOLIS1::
!HERE IF CREF LISTINGS NOT WANTED
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
!.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.RUN DEC:MACRO
*COBASM=COBASM
*FTDEFS=FTDEFS
*INTERM=INTERM
*LBLPRM=LBLPRM
*COMUNI=COMUNI
*P=P
*CHREQV=CHREQV
*TABLES=TABLES
*OPCTAB=OPCTAB
*COBTST=COBTST
.RUN DEC:LINK
*COBTST/GO
.SAVE COBTST
.IF (ERROR) .GOTO TRUBLE
!
!
!NOW WE CAN ASSEMBLE THE REST OF THE MODULES.
.CHKPNT CK1F
CK1F::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
!.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.RUN DEC:MACRO
*ASCEBC=ASCEBC
*ASCSIX=ASCSIX
*BISGEN=BISGEN
*BTREE=BTREE
*CLEANC=CLEANC
*CLEAND=CLEAND
*CLEANT=CLEANT
*CLRNAM=CLRNAM
*CMNGEN=CMNGEN
*COBCOM=COBCOM
*COBOLA=COBOLA
*COBOLB=COBOLB
*COBOLC=COBOLC
*COBOLD=COBOLD
*COBOLE=COBOLE
*COBOLF=COBOLF
*COBOLG=COBOLG
*COBOLK=COBOLK
*COBOLO=COBOLO
.IF (ERROR) .GOTO TRUBLE
!
.CHKPNT CK1G
CK1G::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
!.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.RUN DEC:MACRO
*CTREE=CTREE
*DIAGS=DIAGS
*DTREE=DTREE
*EBCASC=EBCASC
*EXPGEN=EXPGEN
*FNDPOP=FNDPOP
*GETASY=GETASY
*GETCPY=GETCPY
*GETERA=GETERA
*GETGEN=GETGEN
*GETITM=GETITM
*GETTAG=GETTAG
*IFGEN=IFGEN
*IMPURE=IMPURE
*IOGEN=IOGEN
*IPCGEN=IPCGEN
*MATGEN=MATGEN
*MESGEN=MESGEN
*MOVGEN=MOVGEN
*MSCGEN=MSCGEN
*PMATCH=PMATCH
*PSCAN=PSCAN
.RUN COBTST
*ONESEG
.IF (ERROR) .GOTO NODEB
.RUN DEC:MACRO
*PURE,PURE/C=PURE
.GOTO NEXT
NODEB::
.RUN DEC:MACRO
*PURAB=PURAB,PURE
*PUREC=PUREC,PURE
*PURED=PURED,PURE
*PUREE=PUREE,PURE
*PUREO=PUREO,PURE
*PURFG=PURFG,PURE
NEXT::.IF (ERROR) .GOTO TRUBLE
!
.CHKPNT CK1H
CK1H::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
!.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.RUN DEC:MACRO
*PUTAS1=PUTAS1
*PUTAS2=PUTAS2
*PUTAS3=PUTAS3
*PUTBIN=PUTBIN
*PUTCPY=PUTCPY
*PUTERA=PUTERA
*PUTGEN=PUTGEN
*PUTLST=PUTLST
*RPWGEN=RPWGEN
*SQUIRL=SQUIRL
*SRTCRF=SRTCRF
*SRTGEN=SRTGEN
*SRTTAB=SRTTAB
*STINFL=STINFL
*STRGEN=STRGEN
*SUGENS=SUGENS
*SYMBOL=SYMBOL
*TRYNAM=TRYNAM
*XFRGEN=XFRGEN
*XPAND=XPAND
*XPNPPL=XPNPPL
!
!NOW ASSEMBLE THE DEBUG MODULES
!
.RUN COBTST
*DEBUG
.IF (ERROR) .GOTO NODEB
.RUN DEC:MACRO
*HANDAN=HANDAN
*TRACER=TRACER
.IF (ERROR) .GOTO TRUBLE
!
NODEB::
!ASSEMBLE THE DBMS MODULES.
!
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO DONCRF
!
!ASSEMBLE THE UNIVERSALS FIRST.
.RUN DEC:MACRO
*CMLSYM=CMLSYM
*GENDCL=GENDCL
*DBSDCL=DBSDCL
*STRUNV=STRUNV
*STRDCL=STRDCL
!
!NOW ASSEMBLE THE REST OF THE MODULES.
.RUN DEC:MACRO
*DBDML=DBDML
*DBGETF=DBGETF
*CMLVOK=DMLVOK
*CMLERR=DMLERR
*CMLIO=DMLIO
.IF (ERROR) .GOTO TRUBLE
.GOTO DONCRF
DONCRF::
!
.CHKPNT CK1J
CK1J::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
!.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
!
!SEE WHICH COMPILER TO LOAD (68 OR 74)
!
.RUN COBTST
*ANS68
.IF (ERROR) .GOTO PV20 !COBOL-74
!
PT20::
!SEE WHAT FLAVOUR OF COMPILER TO LOAD
!
.RUN COBTST
*ONESEG
.IF (ERROR) .GOTO PT24 !MULTI-SEG
.RUN COBTST
*DEBUG
.IF (ERROR) .GOTO PT21 !ONESEG, NOT DEBUG
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO PT32 !ONESEG, DEBUG, NOT DBMS
.GOTO PT31 !ONESEG, DEBUG, DBMS
!
PT21::
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO PT34 !ONESEG, NOT DEBUG, NOT DBMS
.GOTO PT33 !ONESEG, NOT DEBUG, DBMS
!
PT24::
.RUN COBTST
*DEBUG
.IF (ERROR) .GOTO PT25 !MULTI-SEG, NOT DEBUG
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO PT36 !MULTI-SEG, DEBUG, NOT DBMS
.GOTO PT35 !MULTI-SEG, DEBUG, DBMS
!
PT25::
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO PT38 !MULTI-SEG, NOT DEBUG, NOT DBMS
.GOTO PT37 !MULTI-SEG, NOT DEBUG, DBMS
!
!
PT31:: !ONESEG, DEBUG, DBMS
!
.RUN DEC:LINK
*COBOL/MAP=
*@ALLDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE COBOL
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT32:: !ONESEG, DEBUG, NOT DBMS
!
.RUN DEC:LINK
*COBOL/MAP=
*@ALLD
.IF (ERROR) .GOTO TRUBLE
.SSAVE COBOL
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT33:: !ONESEG, NOT DEBUG, DBMS
!
.RUN DEC:LINK
*COBOL/MAP=
*@ALLB
.IF (ERROR) .GOTO TRUBLE
.SSAVE COBOL
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT34:: !ONESEG, NOT DEBUG, NOT DBMS
!
.RUN DEC:LINK
*COBOL/MAP=
*@ALL
.IF (ERROR) .GOTO TRUBLE
.SSAVE COBOL
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT35:: !MULTI-SEG, DEBUG, DBMS
!
.RUN DEC:LINK
*COBOL/MAP=
*@PABDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE COBOL
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLC/MAP=
*@PCDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLC
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLD/MAP=
*@PDDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLD
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLE/MAP=
*@PED
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLE
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLO/MAP=
*@POD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLO
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLF/MAP=
*@PFGD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLF
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLK/MAP=
*@PKD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLK
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT36:: !MULTI-SEG, DEBUG, NOT DBMS
!
.RUN DEC:LINK
*COBOL/MAP=
*@PABD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOL
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLC/MAP=
*@PCD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLC
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLD/MAP=
*@PDD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLD
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLE/MAP=
*@PED
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLE
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLO/MAP=
*@POD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLO
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLF/MAP=
*@PFGD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLF
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLK/MAP=
*@PKD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLK
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT37:: !MULTI-SEGMENT, NOT DEBUG, DBMS
!
.RUN DEC:LINK
*COBOL/MAP=
*@PABB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOL
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLC/MAP=
*@PCB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLC
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLD/MAP=
*@PDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLD
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLE/MAP=
*@PE
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLE
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLO/MAP=
*@PO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLO
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLF/MAP=
*@PFG
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLF
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*COBOLK/MAP=
*@PK
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLK
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT38:: !MULTI-SEG, NOT DEBUG, NOT DBMS
!
.RUN DEC:LINK
*COBOL/MAP=
*@PAB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOL
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLC/MAP=
*@PC
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLC
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLD/MAP=
*@PD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLD
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLE/MAP=
*@PE
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLE
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLO/MAP=
*@PO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLO
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLF/MAP=
*@PFG
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLF
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*COBOLK/MAP=
*@PK
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLK
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
PV20:: !COBOL-74
!SEE WHAT FLAVOUR OF COMPILER TO LOAD
!
.RUN COBTST
*ONESEG
.IF (ERROR) .GOTO PV24 !MULTI-SEG
.RUN COBTST
*DEBUG
.IF (ERROR) .GOTO PV21 !ONESEG, NOT DEBUG
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO PV32 !ONESEG, DEBUG, NOT DBMS
.GOTO PV31 !ONESEG, DEBUG, DBMS
!
PV21::
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO PV34 !ONESEG, NOT DEBUG, NOT DBMS
.GOTO PV33 !ONESEG, NOT DEBUG, DBMS
!
PV24::
.RUN COBTST
*DEBUG
.IF (ERROR) .GOTO PV25 !MULTI-SEG, NOT DEBUG
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO PV36 !MULTI-SEG, DEBUG, NOT DBMS
.GOTO PV35 !MULTI-SEG, DEBUG, DBMS
!
PV25::
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO PV38 !MULTI-SEG, NOT DEBUG, NOT DBMS
.GOTO PV37 !MULTI-SEG, NOT DEBUG, DBMS
!
!
PV31:: !ONESEG, DEBUG, DBMS
!
.RUN DEC:LINK
*CBL74/MAP=
*@ALLDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE CBL74
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV32:: !ONESEG, DEBUG, NOT DBMS
!
.RUN DEC:LINK
*CBL74/MAP=
*@ALLD
.IF (ERROR) .GOTO TRUBLE
.SSAVE CBL74
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV33:: !ONESEG, NOT DEBUG, DBMS
!
.RUN DEC:LINK
*CBL74/MAP=
*@ALLB
.IF (ERROR) .GOTO TRUBLE
.SSAVE CBL74
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV34:: !ONESEG, NOT DEBUG, NOT DBMS
!
.RUN DEC:LINK
*CBL74/MAP=
*@ALL
.IF (ERROR) .GOTO TRUBLE
.SSAVE CBL74
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV35:: !MULTI-SEG, DEBUG, DBMS
!
.RUN DEC:LINK
*CBL74/MAP=
*@PABDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE CBL74
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74C/MAP=
*@PCDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74C
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74D/MAP=
*@PDDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74D
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74E/MAP=
*@PED
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74E
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74O/MAP=
*@POD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74O
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74F/MAP=
*@PFGD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74F
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74K/MAP=
*@PKD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74K
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV36:: !MULTI-SEG, DEBUG, NOT DBMS
!
.RUN DEC:LINK
*CBL74/MAP=
*@PABD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74C/MAP=
*@PCD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74C
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74D/MAP=
*@PDD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74D
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74E/MAP=
*@PED
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74E
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74O/MAP=
*@POD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74O
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74F/MAP=
*@PFGD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74F
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74K/MAP=
*@PKD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74K
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV37:: !MULTI-SEGMENT, NOT DEBUG, DBMS
!
.RUN DEC:LINK
*CBL74/MAP=
*@PABB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74C/MAP=
*@PCB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74C
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74D/MAP=
*@PDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74D
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74E/MAP=
*@PE
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74E
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74O/MAP=
*@PO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74O
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74F/MAP=
*@PFG
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74F
.IF (ERROR) .GOTO TRUBLE
!
.RUN DEC:LINK
*CBL74K/MAP=
*@PK
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74K
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV38:: !MULTI-SEG, NOT DEBUG, NOT DBMS
!
.RUN DEC:LINK
*CBL74/MAP=
*@PAB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74C/MAP=
*@PC
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74C
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74D/MAP=
*@PD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74D
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74E/MAP=
*@PE
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74E
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74O/MAP=
*@PO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74O
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74F/MAP=
*@PFG
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74F
.IF (ERROR) .GOTO TRUBLE
.RUN DEC:LINK
*CBL74K/MAP=
*@PK
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74K
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
LODON::!LOADING DONE
!
.CHKPNT CK1K
CK1K::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
.ASSIGN DEC: UNV:
.ASSIGN DSK: SRC:
.ASSIGN DSK: C68:
.ASSIGN DSK: C74:
!
!CHANGE THEM IF USER SO DESIRES
!.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
!
!GENERATE GLOB LISTING
!WE COULD HAVE ONE GLOB COMMAND FOR EACH CONFIGURATION
!BUT IT IS SIMPLER TO PUT THE OPTIONAL FILES IN ONE PLACE
!
.RUN COBTST
*ONESEG
.IF (NOERROR) .GOTO ONE
.RUN DEC:PIP
*FOO.REL/B=PURAB.REL,PUREC.REL,PURED.REL,PUREE.REL,PURFG.REL,PUREO.REL
.GOTO NEXT
ONE::
.RUN DEC:PIP
*FOO.REL/B=PURE.REL
NEXT::
.RUN COBTST
*DEBUG
.IF (ERROR) .GOTO NEXT
.RUN DEC:PIP
*FOO.REL/B=FOO.REL,HANDAN.REL,TRACER.REL
NEXT::
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO NEXT
.RUN DEC:PIP
!THIS DOES NOT WORK WITH CURRENT PIP, SO DO IT SLOWLY
!*FOO.REL/B=FOO.REL,LIB:SCHIO1.REL,STRHI.REL,DSK:CMLERR.REL,CMLIO.REL,CMLSYM.REL,CMLVOK.REL,DBDML.REL,DBGETF.REL
*FOO1.REL=LIB:SCHIO1.REL
*FOO2.REL=LIB:STRHI.REL
*FOO.REL/B=FOO.REL,FOO1.REL,FOO2.REL,CMLERR.REL,CMLIO.REL,CMLSYM.REL,CMLVOK.REL,DBDML.REL,DBGETF.REL
.DELETE FOO1.REL,FOO2.REL
NEXT::
!
.RUN COBTST
*ANS68
.IF (ERROR) .GOTO V74 !COBOL-74
!
.RUN DEC:GLOB
*CHREQV.REL,COBASM.REL,COMUNI.REL,INTERM.REL,LBLPRM.REL,P.REL,TABLES.REL
*ASCEBC.REL,ASCSIX.REL,IMPURE.REL,FOO.REL,SQUIRL.REL,BTREE.REL
*XPNPPL.REL,XPAND.REL,GETITM.REL,STINFL.REL,CLRNAM.REL
*TRYNAM.REL,PUTGEN.REL,PUTCPY.REL,PUTERA.REL,COBCOM.REL
*PUTLST.REL,COBOLB.REL,COBOLA.REL,CLEANC.REL,CTREE.REL
*FNDPOP.REL,GETTAG.REL,PSCAN.REL,PUTAS1.REL,PUTAS2.REL
*COBOLC.REL,CLEAND.REL,CLEANT.REL,DTREE.REL,COBOLD.REL
*BISGEN.REL,CMNGEN.REL,EXPGEN.REL,GETGEN.REL,IFGEN.REL
*IOGEN.REL,IPCGEN.REL,MATGEN.REL,MESGEN.REL,MOVGEN.REL
*MSCGEN.REL,PUTAS3.REL,RPWGEN.REL,SRTGEN.REL,STRGEN.REL
*SUGENS.REL,XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
*GETCPY.REL,GETERA.REL,PUTBIN.REL,SRTCRF.REL,SRTTAB.REL
*SYMBOL.REL,COBOLG.REL,COBOLF.REL,EBCASC.REL,COBOLK.REL
*OPCTAB.REL,COBOLO.REL,PMATCH.REL
*COBOL.GLB=
!
!SEE WHAT WE GOT:
.RUN DEC:DIRECT
*TTY:=/CHECKSUM/WIDTH:90 COBOL?.EXE,COBOL?.MAP,COBOL.GLB
.IF (ERROR) . !IGNORE ANY ERRORS.
!
.GOTO CLNUP
!
V74::!COBOL-74
.RUN DEC:GLOB
*CHREQV.REL,COBASM.REL,COMUNI.REL,INTERM.REL,LBLPRM.REL,P.REL,TABLES.REL
*ASCEBC.REL,ASCSIX.REL,IMPURE.REL,FOO.REL,SQUIRL.REL,BTREE.REL
*XPNPPL.REL,XPAND.REL,GETITM.REL,STINFL.REL,CLRNAM.REL
*TRYNAM.REL,PUTGEN.REL,PUTCPY.REL,PUTERA.REL,COBCOM.REL
*PUTLST.REL,COBOLB.REL,COBOLA.REL,CLEANC.REL,CTREE.REL
*FNDPOP.REL,GETTAG.REL,PSCAN.REL,PUTAS1.REL,PUTAS2.REL
*COBOLC.REL,CLEAND.REL,CLEANT.REL,DTREE.REL,COBOLD.REL
*BISGEN.REL,CMNGEN.REL,EXPGEN.REL,GETGEN.REL,IFGEN.REL
*IOGEN.REL,IPCGEN.REL,MATGEN.REL,MESGEN.REL,MOVGEN.REL
*MSCGEN.REL,PUTAS3.REL,RPWGEN.REL,SRTGEN.REL,STRGEN.REL
*SUGENS.REL,XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
*GETCPY.REL,GETERA.REL,PUTBIN.REL,SRTCRF.REL,SRTTAB.REL
*SYMBOL.REL,COBOLG.REL,COBOLF.REL,EBCASC.REL,COBOLK.REL
*OPCTAB.REL,COBOLO.REL,PMATCH.REL
*CBL74.GLB=
!
!SEE WHAT WE GOT:
.RUN DEC:DIRECT
*TTY:=/CHECKSUM/WIDTH:90 CBL74?.EXE,CBL74?.MAP,CBL74.GLB
.IF (ERROR) . !IGNORE ANY ERRORS.
.GOTO CLNUP
!
CLNUP::
! CLEAN UP AFTER BUILD
!
.DELETE FOO.REL
.RUN DEC:DIRECT
*TTY:=/CHECKSUM/WIDTH:90 COBASM.UNV,FTDEFS.UNV,INTERM.UNV,LBLPRM.UNV,COMUNI.UNV,P.UNV,CHREQV.UNV,TABLES.UNV
*TTY:=/CHECKSUM/WIDTH:90 DMLSYM.UNV,GENDCL.UNV,DBSDCL.UNV,STRING.UNV,STRDCL.UNV
*TTY:=/CHECKSUM/WIDTH:90 ASCEBC.REL,CHREQV.REL,COBASM.REL,COMUNI.REL,INTERM.REL,LBLPRM.REL,P.REL,TABLES.REL
*TTY:=/CHECKSUM/WIDTH:90 ASCSIX.REL,IMPURE.REL,PURE.REL,SQUIRL.REL,BTREE.REL,XPNPPL.REL,XPAND.REL,GETITM.REL,STINFL.REL,CLRNAM.REL
*TTY:=/CHECKSUM/WIDTH:90 TRYNAM.REL,PUTGEN.REL,PUTCPY.REL,PUTERA.REL,COBCOM.REL,PUTLST.REL,COBOLB.REL,COBOLA.REL,CLEANC.REL,CTREE.REL
*TTY:=/CHECKSUM/WIDTH:90 FNDPOP.REL,GETTAG.REL,PSCAN.REL,PUTAS1.REL,PUTAS2.REL,COBOLC.REL,CLEAND.REL,CLEANT.REL,DTREE.REL,COBOLD.REL
*TTY:=/CHECKSUM/WIDTH:90 BISGEN.REL,CMNGEN.REL,EXPGEN.REL,GETGEN.REL,IFGEN.REL,IOGEN.REL,IPCGEN.REL,MATGEN.REL,MESGEN.REL,MOVGEN.REL
*TTY:=/CHECKSUM/WIDTH:90 MSCGEN.REL,PUTAS3.REL,RPWGEN.REL,SRTGEN.REL,STRGEN.REL,SUGENS.REL,XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
*TTY:=/CHECKSUM/WIDTH:90 GETCPY.REL,GETERA.REL,PUTBIN.REL,SRTCRF.REL,SRTTAB.REL,SYMBOL.REL,COBOLG.REL,COBOLF.REL,EBCASC.REL,COBOLK.REL
*TTY:=/CHECKSUM/WIDTH:90 OPCTAB.REL,COBOLO.REL,PMATCH.REL,HANDAN.REL,TRACER.REL
*TTY:=/CHECKSUM/WIDTH:90 CMLERR.REL,CMLIO.REL,CMLSYM.REL,CMLVOK.REL,DBDML.REL,DBGETF.REL
!
.DELETE CHREQV.REL,COBASM.REL,COMUNI.REL,FTDEFS.REL,INTERM.REL,LBLPRM.REL,P.REL,TABLES.REL,OPCTAB.REL
.DELETE ASCEBC.REL,ASCSIX.REL,IMPURE.REL,PURE.REL,SQUIRL.REL,BTREE.REL
.DELETE XPNPPL.REL,XPAND.REL,GETITM.REL,STINFL.REL,CLRNAM.REL
.DELETE TRYNAM.REL,PUTGEN.REL,PUTCPY.REL,PUTERA.REL,COBCOM.REL
.DELETE PUTLST.REL,COBOLB.REL,COBOLA.REL,CLEANC.REL,CTREE.REL
.DELETE FNDPOP.REL,GETTAG.REL,PSCAN.REL,PUTAS1.REL,PUTAS2.REL
.DELETE COBOLC.REL,CLEAND.REL,CLEANT.REL,DTREE.REL,COBOLD.REL
.DELETE BISGEN.REL,CMNGEN.REL,EXPGEN.REL,GETGEN.REL,IFGEN.REL
.DELETE IOGEN.REL,IPCGEN.REL,MATGEN.REL,MESGEN.REL,MOVGEN.REL
.DELETE MSCGEN.REL,PUTAS3.REL,RPWGEN.REL,SRTGEN.REL,STRGEN.REL
.DELETE SUGENS.REL,XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
.DELETE GETCPY.REL,GETERA.REL,PUTBIN.REL,SRTCRF.REL,SRTTAB.REL
.DELETE SYMBOL.REL,COBOLG.REL,COBOLF.REL,EBCASC.REL,COBOLK.REL
.DELETE COBOLO.REL,PMATCH.REL,HANDAN.REL,TRACER.REL,COBTST.REL
.DELETE GENDCL.REL,DBSDCL.REL,STRUNV.REL,STRDCL.REL
.DELETE CMLERR.REL,CMLIO.REL,CMLSYM.REL,CMLVOK.REL,DBDML.REL,DBGETF.REL
.DELETE PURAB.REL,PUREC.REL,PURED.REL,PUREE.REL,PUREO.REL,PURFG.REL
.IF (ERROR) .!NOT DBMS MOST LIKELY
!
!
!
!TELL OPERATOR HOW WE DID
.PLEASE -- COBOL CREATION SUCCESSFUL
.SUB INP:*=/MODIFY/DEPEND:-1
.GOTO OK
%ERR::
TRUBLE::
.PLEASE -- COBOL CREATION NOT SUCCESSFUL!!!
OK::!END OF COBOL.CTL