.GOTO 1 COMPILE SUBROUTINE FOR CLG This module compiles the module $PROGN using RATFOR, F4P, or MACRO, depending on $TYPE. Listing files are created on disk $T (the task image disk). For RATFOR, the intermediate FTN file is deleted, and the F4P listing is created as $PROGN.LXT on disk $T. COMPIL will produce a LST listing of the compilation if requested. COMPIL may be called from a module other than CLG if the program name and type are defined. The disks all default to DK1. VARIABLES NAME TYPE EXAMPLE DESCRIPTION $S STRING .SETS $S "1" Source disk -- defaults to 1 $B STRING .SETS $B "1" Object disk -- " " 1 $T STRING .SETS $T "1" Listing disk -- " " 1 $PROGN STRING .SETS $PROGN "FRED" Program to be compiled $TYPE STRING .SETS $TYPE "FTN" Program type $LST LOGICAL .SETT $LST Listing switch -- overrides prompt The variables $RATN and $MACN are pre-defined by module GTYPE. ;%^ .1: .ENABLE SUBSTITUTION .IFNDF $S .SETS $S "1" .IFNDF $B .SETS $B "1" .IFNDF $T .SETS $T "1" PIP DK'$T':'$PROGN'.LST;*,DK'$B':'$PROGN'.OBJ;*/DE .IF $TYPE <> $RATN .GOTO MACROS PIP DK'$T':'$PROGN'.LXT;*/DE RAT DK'$T':'$PROGN',DK'$T':'$PROGN'=DK'$S':'$PROGN' F4P DK'$B':'$PROGN',DK'$T':'$PROGN'.LXT/-SP=DK'$T':'$PROGN' PIP DK'$T':'$PROGN'.FTN;*/DE .GOTO LIST .MACROS: .IF $TYPE <> $MACN .GOTO FORT MAC DK'$B':'$PROGN',DK'$T':'$PROGN'/-SP=DK'$S':'$PROGN' .GOTO LIST .FORT: F4P DK'$B':'$PROGN',DK'$T':'$PROGN'/-SP=DK'$S':'$PROGN' .LIST: .IFNDF $LST .GOTO 100 .SETF X .IFT $LST .SETT X .GOTO 300 .100: .IFT $KNOWS .GOTO 200 ; Answer Y for a LST listing of '$PROGN'. .200: .ASK X DO YOU WANT TO LIST '$PROGN' .300: .IFT X LST DK'$T':'$PROGN'