FDBF
.PROC,FDBF*I,\
FTN4    ' SELECT FTN4 AS DEFAULT LANGUAGE      '=(*N=NO,YES,NO,*K=YES), 
*CALL COMPC 
*CALL COMUSER 
*CALL COMLIST 
*CALL COMTOB
*CALL COMIA 
*CALL COMTOL
*CALL COMD1 
*CALL COMX1 
*CALL COMPROC 
. 
  
* FDBF - FORTRAN DATA BASE FACILITY 1.2 
*CALL     PSRLEV
* 
  
.*
.*  START FDBF VIA SUBPROC. 
.*
BEGIN(SUBPROC,INSTALL,FDBF,,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF) 
REVERT.        FDBF.
EXIT. 
REVERT(ABORT)  FDBF.
  
  
.DATA,ZZZPROC 
.PROC,FDBF. 
*CALL     PSRLEV
BEGIN(PRDIN,INSTALL,PRDNAME=FDBF,#PN=PN,#PR=PR,DISK=0)
BEGIN(COMPCOM,INSTALL)
RENAME(AUXPL1=AUXPL)
BEGIN(PRDAUX,INSTALL,PRDNAME=DDL3,#PNO=PN1,#PRO=PR1)
IF, ( $FTN4$ .EQ. $YES$ ) ,FDBF1. 
RETURN(UMOD)
NOTE(UMOD,NR)+*IDENT,FTN4MOD
NOTE(UMOD,NR)+*D FDBA102.11 
NOTE(UMOD,NR)+ DDLCOMP  EPT    F4 
NOTE(UMOD,NR)+*D FDBA102.9
NOTE(UMOD,NR)+    DDLCOMP=F4; ####FIRST DEFAULT FORTRAN VERSION (LV)####
NOTE(UMOD,NR)+*D FDBA102.10 
NOTE(UMOD,NR)+    DDLCOMP=F5; ####SET COMPILATION MODE TO FTN5####
PACK(UMOD)
SKIPEI(USER)
COPYBR(UMOD,USER) 
RETURN(UMOD)
ENDIF(FDBF1)
BEGIN(UP,INSTALL,RANDOM,PCPL=CPRD,#PC=PC,#CC=CC,PCDECK=FDB,NUMAUX=2)
NOTE(IN);*C TCKSCOM.WEOR0,SYNGEN
UPDATE(P=AUXPL,Q,C=SYNG,I=IN) 
SYMPL(ET=T,I=SYNG,B=SYMTEXT,L=LIST) 
SYMPL(ET=T,I=SYNG,B=SYNGE,L=LIST) 
COMPASS(A,I=SYNG,S=PSSTEXT,S=IOTEXT,B=SYNGE,L=LIST) 
BEGIN(GETULIB,INSTALL,DMSLIB,BAMLIB,SYMLIB,SYSLIB,AAMLIB,FORTRAN) 
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=BAMLIB) 
LOAD(SYNGE) 
NOGO.     ABSOLUTE WRITTEN TO SYNGEN
RETURN(SYNG,SYNGE)
RETURN(AUXPL1,AUXPL)
*    DDLF 
SYMPL(ET=T,I,Y=SYMTEXT,B=DLFBIN,L=LIST) 
SYMPL(ET=T,I,Y=SYMTEXT,B=RELBIN,L=LIST) 
SYMPL(ET=T,I,Y=SYMTEXT,B=DLFBIN,L=LIST) 
*    DML
SYMPL(ET=T,I,Y=SYMTEXT,B=DMLBIN,L=LIST) 
SYMPL(ET=T,I,Y=SYMTEXT,B=LIB,L=LIST)
COMPASS(A,I,S=IPTEXT,S=PFMTEXT,S=IOTEXT,S=CPUTEXT,B=DMLBIN,L=LIST)
COMPASS(A,I,S=IPTEXT,S=PFMTEXT,S=IOTEXT,S=CPUTEXT,B=RELBIN,L=LIST)
COMPASS(A,I,S=PSSTEXT,S=IPTEXT,S=PFMTEXT,S=IOTEXT,
S=CPUTEXT,B=DLFBIN,L=LIST)
RFL(60000)
REDUCE(-) 
SYNGEN(I=COMPILE,O=SYNG1,L=LIST)
COMPASS(A,I,S=0,B=CREATEB,L=LIST) 
SYNGEN(I=COMPILE,O=SYNG3,L=LIST)
REDUCE. 
COMPASS(A,I,S=0,B=PCREATE,L=LIST) 
COMPASS(A,I,S=PFMTEXT,S=IOTEXT,S=CPUTEXT,S=IPTEXT,B=LIB,L=LIST) 
SYMPL(ET=T,I=SYNG1,Y=SYMTEXT,B=DLFBIN,L=LIST) 
SYMPL(ET=T,I=SYNG3,Y=SYMTEXT,B=DMLBIN,L=LIST) 
RETURN(COMPILE,SYNG1,SYNG3,SYNGEN,SYMTEXT)
REWIND(RELBIN,DMLBIN,DLFBIN,CREATEB,PCREATE,LIB)
COPYLM(CREATEB,DLFBIN,TEMPBIN)
REWIND(TEMPBIN) 
RETURN(DLFBIN,CREATEB)
COPYLM(TEMPBIN,RELBIN,REL)    DDLF REL BIN
REWIND(RELBIN,REL)
RETURN(TEMPBIN) 
COPYLM(PCREATE,DMLBIN,TEMPBIN)
REWIND(TEMPBIN) 
RETURN(DMLBIN,PCREATE)
COPYLM(TEMPBIN,RELBIN,REL2) 
RETURN(TEMPBIN,RELBIN)
REWIND(REL2,LIB)
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=DMSLIB/BAMLIB)
LOAD(REL) 
NOGO(LGO)      DDLF ABS 
LDSET(ERR=ALL,PRESET=ZERO)
LDSET(LIB=DMSLIB/BAMLIB)
LOAD(REL2)
NOGO(LGO,DML)  DML ABS
BEGIN(SAVELIB,INSTALL,LIB=LIB,LIBNAME=DMSLIB) 
BEGIN(PRDOUT,INSTALL,PRDNAME=FDBF,#PNO=PNO,#PRO=PRO)
BEGIN(GENDIR,INSTALL,LIB=23)
BEGIN(SAVELGO,INSTALL,PRDNAME=FDBF) 
BEGIN(END,INSTALL,MFT=R1G+) 
REVERT.  FDBF.
EXIT. 
REVERT(ABORT)  FDBF.
*WEOR 
