Trailing-Edge
-
PDP-10 Archives
-
BB-H580C-SB_1981
-
cobol.ctl
There are 13 other files named cobol.ctl in the archive. Click here to see a list.
! UPD ID= 3403 on 2/19/81 at 9:59 AM by NIXON
!COBOL.CTL COBOL-68 & COBOL-74 V12B
!
!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, 1981 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
!NOTE, IN GENERAL THIS CONTROL FILE WILL NOT RUN WITHOUT ONE OF THE ABOVE
!DEFINITION FILES BEING PRESENT.
!
!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
!
!FOR THE COBOL-68 TO COBOL-74 CONVERSION UTILITY
!SET ANS68==1 AND FT68274==1 IN COBASM.MAC
!
!TO JUST RELOAD THE COMPILER WHEN EVERYTHING HAS BEEN ASSEMBLED
!SUCH AS FOR DBMS V6
!FOR TOPS-20
!SUBMIT COBOL/TIME:1:0:0/RESTART:YES/TAG:LOAD
!FOR TOPS-10
!SUBMIT COBOL.CTM/TIME:1:0:0/RESTART:YES/TAG:LOAD
!
!TEST FOR WHICH SYSTEM
@GOTO TOPS20 !TOPS20 VERSION
.GOTO TOPS10 !TOPS10 VERSION
!
!HERE FOR LOAD ONLY
LOAD::
!TEST FOR WHICH SYSTEM
@GOTO CK2J !TOPS20 VERSION
.GOTO CK1J !TOPS10 VERSION
TOPS20::
!REQUIRED FILES:
!<FIELD-IMAGE> CREF.EXE
! LINK.EXE
! MACRO.EXE
! HELPER.REL
! MACSYM.UNV
! MONSYM.UNV
! UUOSYM.UNV
!
!<NEW> PA1050.EXE
!
!<UNSUPPORTED> GLOB.EXE
!
!<SELF> COBOL.CTL COBOL.DOC COBOL.HLP COBASM.MAC
!
! ASCEBC.MAC ASCSIX.MAC BISGEN.MAC BTREE.MAC
! CHREQV.MAC CLEANC.MAC CLEAND.MAC CLEANT.MAC
! CLRNAM.MAC CMNGEN.MAC COBCOM.MAC COBVER.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
! FTDEFS.MAC GETASY.MAC GETCPY.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
! OPCTAB.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 STINFL.MAC STRGEN.MAC TABLES.MAC
! TRYNAM.MAC XFRGEN.MAC XPAND.MAC XPNPPL.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:
!
!FOR COBOL-68
! COBOL.EXE, COBOL.MAP, COBOL.GLB
!FOR COBOL-74
! CBL74.EXE, CBL74.MAP, CBL74.GLB
!
!
!OUTPUT LISTINGS:
! COBOL.LOG
!
!
!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,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,STINFL.MAC,STRGEN.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
*INTERM,INTERM/C=INTERM
*COBVER,COBVER/C=COBVER
*COMUNI,COMUNI/C=COMUNI
*FTDEFS,FTDEFS/C=FTDEFS
*LBLPRM,LBLPRM/C=LBLPRM
*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
*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
*STINFL,STINFL/C=STINFL
*STRGEN,STRGEN/C=STRGEN
*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:INTERM.LZT=INTERM
*DSK:COBVER.LZT=COBVER
*DSK:COMUNI.LZT=COMUNI
*DSK:FTDEFS.LZT=FTDEFS
*DSK:LBLPRM.LZT=LBLPRM
*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: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:STINFL.LZT=STINFL
*DSK:STRGEN.LZT=STRGEN
*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
@CREF
*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:STRUNV.LZT=STRUNV
*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
*INTERM=INTERM
*COBVER=COBVER
*COMUNI=COMUNI
*FTDEFS=FTDEFS
*LBLPRM=LBLPRM
*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
*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
*STINFL=STINFL
*STRGEN=STRGEN
*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 CK2J
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
*XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
*GETCPY.REL,PUTBIN.REL,SRTCRF.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
*XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
*GETCPY.REL,PUTBIN.REL,SRTCRF.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
@RUN COBTST
*FT68274
@IF (ERROR) @GOTO V68 !COBOL-68
!
!HERE WHEN WE HAVE THE CONVERSION UTILITY
!DELETE FILES WE DON'T NEED
@DELETE COBOL.MAP,COBOL.GLB
@IF (ERROR) !IGNORE
!RENAME THE EXE FILE
@RENAME COBOL.EXE 68274.EXE
@IF (ERROR) @GOTO TRUBLE
@VD 68274.EXE,
@CHECK SEQ
@
@GOTO CLNUP
!
V68::
@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,COBVER.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,XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL,
@CHECK SEQ
@
@VDIR GETCPY.REL,PUTBIN.REL,SRTCRF.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
!NEW, LEAVE REST OF REL FILES AROUND TO MAKE IT EASIER TO REBUILD
@GOTO DONE
!
@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 XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
@DELETE GETCPY.REL,PUTBIN.REL,SRTCRF.REL
@DELETE 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:
!
!SYS:! COMPIL.EXE
! CREF.EXE
! DIRECT.EXE
! GLOB.EXE
! LINK.EXE+LNK???.EXE
! MACRO.EXE
! PIP.EXE
! DDT.REL
!
!REL: HELPER.REL
!
!UNV: MACTEN.UNV
! UUOSYM.UNV
!
![SELF] COBOL.CTL COBOL.DOC COBOL.HLP COBASM.MAC
!
!CS: ASCEBC.MAC ASCSIX.MAC BISGEN.MAC BTREE.MAC
! CHREQV.MAC CLEANC.MAC CLEAND.MAC CLEANT.MAC
! CLRNAM.MAC CMNGEN.MAC COBCOM.MAC COBVER.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
! FTDEFS.MAC GETASY.MAC GETCPY.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
! OPCTAB.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 STINFL.MAC STRGEN.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 PDDB.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
!
!FOR COBOL-68
! COBOL.EXE COBOL.MAP COBOL.EXE
! COBOLC.EXE COBOLC.MAP COBOL.MAP
! COBOLD.EXE COBOLD.MAP COBOL.GLB
! COBOLE.EXE COBOLE.MAP
! COBOLO.EXE COBOLO.MAP
! COBOLF.EXE COBOLF.MAP
! COBOLK.EXE COBOLK.MAP
! COBOL.GLB
!
!FOR COBOL-74
! CBL74.EXE CBL74.MAP CBL74.EXE
! CBL74C.EXE CBL74C.MAP CBL74.MAP
! CBL74D.EXE CBL74D.MAP CBL74.GLB
! CBL74E.EXE CBL74E.MAP
! CBL74O.EXE CBL74O.MAP
! CBL74F.EXE CBL74F.MAP
! CBL74K.EXE CBL74K.MAP
! CBL74.GLB
!
!OUTPUT LISTINGS:
! COBOL.LOG
!
!
!
.CHKPNT CK1A
CK1A::
!
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
!
!SEE WHAT WE ARE USING
.R DIRECT
*TTY:=/CHECKSUM/WIDTH:90 SYS: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.
.R DIRECT
*TTY:=/CHECKSUM/WIDTH:90 DSK:COBASM.MAC,CS:COBVER.MAC,CHREQV.MAC,COMUNI.MAC,FTDEFS.MAC,INTERM.MAC,LBLPRM.MAC,P.MAC,TABLES.MAC,OPCTAB.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:ASCEBC.MAC,ASCSIX.MAC,IMPURE.MAC,SQUIRL.MAC,BTREE.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:XPNPPL.MAC,XPAND.MAC,GETITM.MAC,STINFL.MAC,CLRNAM.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:TRYNAM.MAC,PUTGEN.MAC,PUTCPY.MAC,PUTERA.MAC,COBCOM.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:PUTLST.MAC,COBOLB.MAC,COBOLA.MAC,CLEANC.MAC,CTREE.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:FNDPOP.MAC,GETTAG.MAC,PSCAN.MAC,PUTAS1.MAC,PUTAS2.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:COBOLC.MAC,CLEAND.MAC,CLEANT.MAC,DTREE.MAC,COBOLD.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:BISGEN.MAC,CMNGEN.MAC,EXPGEN.MAC,GETGEN.MAC,IFGEN.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:IOGEN.MAC,IPCGEN.MAC,MATGEN.MAC,MESGEN.MAC,MOVGEN.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:MSCGEN.MAC,PUTAS3.MAC,RPWGEN.MAC,SRTGEN.MAC,STRGEN.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:XFRGEN.MAC,COBOLE.MAC,DIAGS.MAC,GETASY.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:GETCPY.MAC,PUTBIN.MAC,SRTCRF.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:COBOLG.MAC,COBOLF.MAC,EBCASC.MAC,COBOLK.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:COBOLO.MAC,PMATCH.MAC,HANDAN.MAC,TRACER.MAC,COBTST.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:GENDCL.MAC,DBSDCL.MAC,STRUNV.MAC,STRDCL.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:DMLERR.MAC,DMLIO.MAC,CMLSYM.MAC,DMLVOK.MAC,DBDML.MAC,DBGETF.MAC,SCHIO1.REL,STRHI.REL
*TTY:=/CHECKSUM/WIDTH:90 CS:PURE.MAC,PURAB.MAC,PUREC.MAC,PURED.MAC,PUREE.MAC,PUREO.MAC,PURFG.MAC
*TTY:=/CHECKSUM/WIDTH:90 CS:PAB.CMD,PC.CMD,PD.CMD,PE.CMD,PO.CMD,PFG.CMD,PK.CMD
*TTY:=/CHECKSUM/WIDTH:90 CS:PABD.CMD,PCD.CMD,PDD.CMD,PED.CMD,POD.CMD,PFGD.CMD,PKD.CMD
*TTY:=/CHECKSUM/WIDTH:90 CS:PABB.CMD,PCB.CMD,PDB.CMD,PABDB.CMD,PCDB.CMD,PDDB.CMD
*TTY:=/CHECKSUM/WIDTH:90 CS: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
!
.R MACRO
*COBASM,COBASM/C=COBASM
*INTERM,INTERM/C=INTERM
*COBVER,COBVER/C=COBVER
*COMUNI,COMUNI/C=COMUNI
*FTDEFS,FTDEFS/C=FTDEFS
*LBLPRM,LBLPRM/C=LBLPRM
*P,P/C=P
*CHREQV,CHREQV/C=CHREQV
*TABLES,TABLES/C=TABLES
*OPCTAB,OPCTAB/C=OPCTAB
*COBTST=COBTST
.R 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
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R 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
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R 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
*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
.R MACRO
*PURE,PURE/C=PURE
.GOTO NEXT
MSEG::
.R 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
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R 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
*STINFL,STINFL/C=STINFL
*STRGEN,STRGEN/C=STRGEN
*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
.R 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
.R 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
.R 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
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R CREF
*DSK:COBASM.LZT=COBASM
*DSK:INTERM.LZT=INTERM
*DSK:COBVER.LZT=COBVER
*DSK:COMUNI.LZT=COMUNI
*DSK:FTDEFS.LZT=FTDEFS
*DSK:LBLPRM.LZT=LBLPRM
*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: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
.RUN COBTST
*ONESEG
.IF (ERROR) .GOTO MSEG
.R CREF
*DSK:PURE.LZT=PURE
.GOTO NEXT
MSEG::
.R CREF
*DSK:PURAB.LZT=PURAB
*DSK:PUREC.LZT=PUREC
*DSK:PURED.LZT=PURED
*DSK:PUREE.LZT=PUREE
*DSK:PUREO.LZT=PUREO
*DSK:PURFG.LZT=PURFG
NEXT::
.R CREF
*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:STINFL.LZT=STINFL
*DSK:STRGEN.LZT=STRGEN
*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
.R CREF
*DSK:HANDAN.LZT=HANDAN
*DSK:TRACER.LZT=TRACER
.IF (ERROR) !TROUBLE MAKING .LZT FILES
!
NODEB::
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO DONCRF !NOT DBMS
.R CREF
*DSK:CMLSYM.LZT=CMLSYM
*DSK:GENDCL.LZT=GENDCL
*DSK:DBSDCL.LZT=DBSDCL
*DSK:STRUNV.LZT=STRUNV
*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
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R MACRO
*COBASM=COBASM
*INTERM=INTERM
*COBVER=COBVER
*COMUNI=COMUNI
*FTDEFS=FTDEFS
*LBLPRM=LBLPRM
*P=P
*CHREQV=CHREQV
*TABLES=TABLES
*OPCTAB=OPCTAB
*COBTST=COBTST
.R 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
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R 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
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R MACRO
*CTREE=CTREE
*DIAGS=DIAGS
*DTREE=DTREE
*EBCASC=EBCASC
*EXPGEN=EXPGEN
*FNDPOP=FNDPOP
*GETASY=GETASY
*GETCPY=GETCPY
*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 MSEG
.R MACRO
*PURE=PURE
.GOTO NEXT
MSEG::
.R 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
!
.DO COBOL.MIC
.IF (ERROR) !IGNORE IT
.R 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
*STINFL=STINFL
*STRGEN=STRGEN
*TRYNAM=TRYNAM
*XFRGEN=XFRGEN
*XPAND=XPAND
*XPNPPL=XPNPPL
!
!NOW ASSEMBLE THE DEBUG MODULES
!
.RUN COBTST
*DEBUG
.IF (ERROR) .GOTO NODEB
.R 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.
.R MACRO
*CMLSYM=CMLSYM
*GENDCL=GENDCL
*DBSDCL=DBSDCL
*STRUNV=STRUNV
*STRDCL=STRDCL
!
!NOW ASSEMBLE THE REST OF THE MODULES.
.R MACRO
*DBDML=DBDML
*DBGETF=DBGETF
*CMLVOK=DMLVOK
*CMLERR=DMLERR
*CMLIO=DMLIO
.IF (ERROR) .GOTO TRUBLE
.GOTO DONCRF
DONCRF:: !NOW START TO LOAD
!
.CHKPNT CK1J
CK1J::
.ERROR
.SET WATCH VERSION
!SET UP THE DEFAULT LOGICAL NAMES
!
.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
!
.R LINK
*COBOL/MAP=
*@ALLDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE COBOL
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT32:: !ONESEG, DEBUG, NOT DBMS
!
.R LINK
*COBOL/MAP=
*@ALLD
.IF (ERROR) .GOTO TRUBLE
.SSAVE COBOL
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT33:: !ONESEG, NOT DEBUG, DBMS
!
.R LINK
*COBOL/MAP=
*@ALLB
.IF (ERROR) .GOTO TRUBLE
.SSAVE COBOL
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT34:: !ONESEG, NOT DEBUG, NOT DBMS
!
.R LINK
*COBOL/MAP=
*@ALL
.IF (ERROR) .GOTO TRUBLE
.SSAVE COBOL
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT35:: !MULTI-SEG, DEBUG, DBMS
!
.R LINK
*COBOL/MAP=
*@PABDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE COBOL
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLC/MAP=
*@PCDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLC
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLD/MAP=
*@PDDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLD
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLE/MAP=
*@PED
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLE
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLO/MAP=
*@POD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLO
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLF/MAP=
*@PFGD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLF
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLK/MAP=
*@PKD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLK
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT36:: !MULTI-SEG, DEBUG, NOT DBMS
!
.R LINK
*COBOL/MAP=
*@PABD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOL
.IF (ERROR) .GOTO TRUBLE
.R LINK
*COBOLC/MAP=
*@PCD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLC
.IF (ERROR) .GOTO TRUBLE
.R LINK
*COBOLD/MAP=
*@PDD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLD
.IF (ERROR) .GOTO TRUBLE
.R LINK
*COBOLE/MAP=
*@PED
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLE
.IF (ERROR) .GOTO TRUBLE
.R LINK
*COBOLO/MAP=
*@POD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLO
.IF (ERROR) .GOTO TRUBLE
.R LINK
*COBOLF/MAP=
*@PFGD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLF
.IF (ERROR) .GOTO TRUBLE
.R LINK
*COBOLK/MAP=
*@PKD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLK
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT37:: !MULTI-SEGMENT, NOT DEBUG, DBMS
!
.R LINK
*COBOL/MAP=
*@PABB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOL
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLC/MAP=
*@PCB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLC
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLD/MAP=
*@PDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLD
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLE/MAP=
*@PE
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLE
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLO/MAP=
*@PO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLO
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLF/MAP=
*@PFG
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLF
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*COBOLK/MAP=
*@PK
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLK
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PT38:: !MULTI-SEG, NOT DEBUG, NOT DBMS
!
.R LINK
*COBOL/MAP=
*@PAB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOL
.IF (ERROR) .GOTO TRUBLE
.R LINK
*COBOLC/MAP=
*@PC
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLC
.IF (ERROR) .GOTO TRUBLE
.R LINK
*COBOLD/MAP=
*@PD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLD
.IF (ERROR) .GOTO TRUBLE
.R LINK
*COBOLE/MAP=
*@PE
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLE
.IF (ERROR) .GOTO TRUBLE
.R LINK
*COBOLO/MAP=
*@PO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLO
.IF (ERROR) .GOTO TRUBLE
.R LINK
*COBOLF/MAP=
*@PFG
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:COBOLF
.IF (ERROR) .GOTO TRUBLE
.R 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
!
.R LINK
*CBL74/MAP=
*@ALLDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE CBL74
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV32:: !ONESEG, DEBUG, NOT DBMS
!
.R LINK
*CBL74/MAP=
*@ALLD
.IF (ERROR) .GOTO TRUBLE
.SSAVE CBL74
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV33:: !ONESEG, NOT DEBUG, DBMS
!
.R LINK
*CBL74/MAP=
*@ALLB
.IF (ERROR) .GOTO TRUBLE
.SSAVE CBL74
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV34:: !ONESEG, NOT DEBUG, NOT DBMS
!
.R LINK
*CBL74/MAP=
*@ALL
.IF (ERROR) .GOTO TRUBLE
.SSAVE CBL74
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV35:: !MULTI-SEG, DEBUG, DBMS
!
.R LINK
*CBL74/MAP=
*@PABDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE CBL74
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74C/MAP=
*@PCDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74C
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74D/MAP=
*@PDDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74D
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74E/MAP=
*@PED
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74E
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74O/MAP=
*@POD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74O
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74F/MAP=
*@PFGD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74F
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74K/MAP=
*@PKD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74K
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV36:: !MULTI-SEG, DEBUG, NOT DBMS
!
.R LINK
*CBL74/MAP=
*@PABD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74
.IF (ERROR) .GOTO TRUBLE
.R LINK
*CBL74C/MAP=
*@PCD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74C
.IF (ERROR) .GOTO TRUBLE
.R LINK
*CBL74D/MAP=
*@PDD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74D
.IF (ERROR) .GOTO TRUBLE
.R LINK
*CBL74E/MAP=
*@PED
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74E
.IF (ERROR) .GOTO TRUBLE
.R LINK
*CBL74O/MAP=
*@POD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74O
.IF (ERROR) .GOTO TRUBLE
.R LINK
*CBL74F/MAP=
*@PFGD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74F
.IF (ERROR) .GOTO TRUBLE
.R LINK
*CBL74K/MAP=
*@PKD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74K
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV37:: !MULTI-SEGMENT, NOT DEBUG, DBMS
!
.R LINK
*CBL74/MAP=
*@PABB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74C/MAP=
*@PCB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74C
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74D/MAP=
*@PDB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74D
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74E/MAP=
*@PE
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74E
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74O/MAP=
*@PO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74O
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74F/MAP=
*@PFG
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74F
.IF (ERROR) .GOTO TRUBLE
!
.R LINK
*CBL74K/MAP=
*@PK
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74K
.IF (ERROR) .GOTO TRUBLE
.GOTO LODON
!
!
PV38:: !MULTI-SEG, NOT DEBUG, NOT DBMS
!
.R LINK
*CBL74/MAP=
*@PAB
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74
.IF (ERROR) .GOTO TRUBLE
.R LINK
*CBL74C/MAP=
*@PC
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74C
.IF (ERROR) .GOTO TRUBLE
.R LINK
*CBL74D/MAP=
*@PD
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74D
.IF (ERROR) .GOTO TRUBLE
.R LINK
*CBL74E/MAP=
*@PE
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74E
.IF (ERROR) .GOTO TRUBLE
.R LINK
*CBL74O/MAP=
*@PO
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74O
.IF (ERROR) .GOTO TRUBLE
.R LINK
*CBL74F/MAP=
*@PFG
.IF (ERROR) .GOTO TRUBLE
.SSAVE DSK:CBL74F
.IF (ERROR) .GOTO TRUBLE
.R 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
!
.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
.R PIP
*FOO.REL/B=PURAB.REL,PUREC.REL,PURED.REL,PUREE.REL,PURFG.REL,PUREO.REL
.GOTO NEXT
ONE::
.R PIP
*FOO.REL/B=PURE.REL
NEXT::
.RUN COBTST
*DEBUG
.IF (ERROR) .GOTO NEXT
.R PIP
*FOO.REL/B=FOO.REL,HANDAN.REL,TRACER.REL
NEXT::
.RUN COBTST
*DBMS
.IF (ERROR) .GOTO NEXT
.R 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 COBTST
*FT68274
.IF (ERROR) .GOTO V68 !COBOL-68
!
!HERE WHEN WE HAVE THE CONVERSION UTILITY
!DELETE FILES WE DON'T NEED
.DELETE COBOL.MAP,COBOL.GLB,COBOLO.EXE
.IF (ERROR) !IGNORE
!DELETE ANY EXISTING EXE FILES SO THAT THE RENAME WILL WORK
.DELETE 68274?.EXE
.IF (ERROR) !IGNORE
!RENAME THE EXE FILE
.RENAME 68274?.EXE=COBOL?.EXE
.IF (ERROR) .GOTO TRUBLE
!SEE WHAT WE GOT:
.R DIRECT
*TTY:=/CHECKSUM/WIDTH:90 68274?.EXE
.IF (ERROR) . !IGNORE ANY ERRORS.
!
.GOTO CLNUP
!
V68::
!
.R 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
*XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
*GETCPY.REL,PUTBIN.REL,SRTCRF.REL
*COBOLG.REL,COBOLF.REL,EBCASC.REL,COBOLK.REL
*OPCTAB.REL,COBOLO.REL,PMATCH.REL
*COBOL.GLB=
!
!SEE WHAT WE GOT:
.R DIRECT
*TTY:=/CHECKSUM/WIDTH:90 COBOL?.EXE,COBOL?.MAP,COBOL.GLB
.IF (ERROR) . !IGNORE ANY ERRORS.
!
.GOTO CLNUP
!
V74::!COBOL-74
.R 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
*XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
*GETCPY.REL,PUTBIN.REL,SRTCRF.REL
*COBOLG.REL,COBOLF.REL,EBCASC.REL,COBOLK.REL
*OPCTAB.REL,COBOLO.REL,PMATCH.REL
*CBL74.GLB=
!
!SEE WHAT WE GOT:
.R 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
.R DIRECT
*TTY:=/CHECKSUM/WIDTH:90 COBASM.UNV,COBVER.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 PURE.REL,PURAB.REL,PUREC.REL,PURED.REL,PUREE.REL,PUREO.REL,PURFG.REL
*TTY:=/CHECKSUM/WIDTH:90 ASCSIX.REL,IMPURE.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,XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
*TTY:=/CHECKSUM/WIDTH:90 GETCPY.REL,PUTBIN.REL,SRTCRF.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
!
!IF DEBUG LEAVE REST OF REL FILES AROUND
!NEW, LEAVE REST OF REL FILES AROUND TO MAKE IT EASIER TO REBUILD
.GOTO DONE
!
.RUN COBTST
*DEBUG
.IF (NOERROR) .GOTO DONE !DEBUG
.GOTO DONE !TEMP FOR IN-HOUSE USE
!
.DELETE PURE.REL,PURAB.REL,PUREC.REL,PURED.REL,PUREE.REL,PUREO.REL,PURFG.REL
.DELETE ASCEBC.REL,ASCSIX.REL,IMPURE.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 XFRGEN.REL,COBOLE.REL,DIAGS.REL,GETASY.REL
.DELETE GETCPY.REL,PUTBIN.REL,SRTCRF.REL
.DELETE 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
!
DONE::
!
!TELL OPERATOR HOW WE DID
.PLEASE -- COBOL CREATION SUCCESSFUL
!
!WE CANNOT MIX GALAXY 2 AND GALAXY 4.1
!SO
.DEAS SYS
.IF (ERROR) !
!
.SUB INP:*=/MODIFY/DEPEND:-1
.GOTO OK
%ERR::
TRUBLE::
.PLEASE -- COBOL CREATION NOT SUCCESSFUL!!!
OK::!END OF COBOL.CTL