FLECS COMMAND This package implements the FLECS FORTRAN pre-processor as a PDS-type command of the following format: FLEcs/qualifiers filespec /FORTRAN[:fortranfile] /NOFORTRAN /KEEP /NOKEEP /LIST[:listfile] /NOLIST /OBJECT[:objectfile] /NOOBJECT /RUN /NORUN /SWITCHES:(/switchlist) /TASK[:taskfile] /NOTASK The package implements two system tasks, the FLECS processor itself (installed as system task ...FLE) and the command processor (installed as system task $$$FLE). As written, the command processor expects to be used with IAS V3.0 time-shared systems, i.e. it makes use of TCS facilities. It could, however, be adapted to run with PDX by replacing the calls to the subtasking interface with appropriate task spawning. Like PDS, the FLECS command processor also expects to find a FORTAN compiler installed as task ...FOR and a task builder installed as task ...TKB. 1.0 COMMAND SYNTAX The format for the FLECS command is as follows. FLEcs/qualifiers filespec where filespec is any valid filespecification string (34 character maximum) of the form DVn:[uic]filename.typ;m where DV is a device mnemonic, n is a unit number, uic is a valid user identification code, filename is a valid filename, typ is a valid filetype, and m is a valid version number. As with other PDS commands, DVn defaults to the users current default device and UIC, and m defaults to the highest existing version number. The default filetype is ".FLE" and, as with other PDS commands null file types (e.g., FILE. ) are illegal. 1 PAGE 2 NOTE The default file type ".FLE" differs from the practice at most sites of using ".FLX". This change was made to avoid confusion with the practice at our site of using the latter for FILEX command files. To restore the original default, two obvious changes must be made in modules FLECS.FLE and RSX.MAC. As with other PDS commands the FLEcs command will accept continuation lines and indirect command files. 1.1 QUALIFIERS The FLEcs command qualifiers are individually described in the following sections. 1.1.1 FORTRAN[:fortranfile] - The /FORTRAN qualifier tells the command processor to pass the output of the FLECS processor to the installed FORTRAN compiler. If specified, the output file will be named as specified in the "fortanfile" string (the default filetype will be ".FTN") 1.1.2 NOFORTRAN - The /NOFORTRAN qualifier tells the command processor not create an output file. It should be used when the user only wishes a listing output. 1.1.3 KEEP - The /KEEP qualifier tells the command processor not to delete intermediate files on completion of the steps that require them, i.e. filename.FTN and filename.OBJ are retained if produced. 1.1.4 NOKEEP - The /NOKEEP qualifier tells the command processor to delete intermediate files on completion of steps that require them, i.e., filename.FTN is deleted upon successful compilation, and filename.obj is deleted upon successful linking. 1 PAGE 3 1.1.5 LIST[:listfile] - The /LIST qualifier tells the command processor to produce listing outputs from both the FLECS preprocessor and FORTRAN compiler passes. If a listing filename is omitted, both listings will be printed on the lineprinter. If a listing filename is supplied two listing files will be produced; that from the FLECS preprocessor will have the user-supplied filetype or, if not-specified, the filetype ".FLL"; the listfile produced by the FORTRAN compiler will always have the filetype ".LST". 1.1.6 NOLIST - The /NOLIST qualifier tells the command processor not to produce listings. 1.1.7 OBJECT[:objectfile] - The /OBJECT qualifier tells the command processor to pass the output of the FLECS preprocessor to the FORTRAN compiler and optionally to name the object module with the user-supplied filename. 1.1.8 NOOBJECT - The /NOOBJECT qualifier tells the command processor not to pass the output of the FLECS preprocessor to the FORTRAN compiler. 1.1.9 RUN - The /RUN qualifier tells the command processor to chain to the produced task on successful completion of the link operation. 1.1.10 NORUN - The /NORUN qualifier tells the command processor not to chain to the produced task. 1.1.11 SWITCHES:(/switchlist) - The /SWITCH qualifier permits the user to specify switches (enclosed in parentheses) to be applied during the FORTRAN compilation. 1.1.12 TASK[:taskfile] - The /TASK qualifier tells the command processor to pass the output of the FORTRAN compiler to the task builder and optionally to name the task file with the user-supplied filename. The module is automatically linked to the system resident library (SYSRES:RO). No options may be specified and no other object modules may be included in the build. If these are necessary, the /NOTASK qualifier must be used and a subsequent LINK command isssued. 1 PAGE 4 1.1.13 NOTASK - The /NOTASK qualifier tells the command processor not to pass the output of the FORTRAN compiler to the task builder. 1.2 DEFAULTS Defaults for the FLECS command are FLECS/FORTRAN/OBJECT/TASK/RUN/NOLIST/NOKEEP 2.0 CONTENTS OF THE DISTRIBUTION 2.1 FLECS.CMD Command file to create tasks ...FLE and $$$FLE. Note that both task images are placed in LB:[11,2]. If you desire to place the tasks elsewhere, edit this file. 2.2 FLEX.CMD Command file to build the FLEC preprocessor only (task ...FLE). 2.3 FLECS.FLE Source for the FLEcs command processor. 2.4 TEST.FLE A test program for used by FLECS.CMD. 2.5 FSUB.FTN One of the source modules for the FLECS preprocessor. 2.6 11AR.FTN One of the source modules for the FLECS preprocessor. 1 PAGE 5 2.7 11LR.FTN One of the source modules for the FLECS preprocessor. 2.8 11MR.FTN One of the source modules for the FLECS preprocessor. 2.9 FLECS.HLP A help file to be edited into SCI.HLP and PDS.HLP. 2.10 GETLIN.MAC A subroutine used in the FLEcs command processor. It only exists because the system-supplied equivalent (GETMCR) is worthless. 2.11 QEXIT.MAC A subroutine used in the FLEcs command processor to permit exit-without status, normally not possible with tasks that use the Fortran OTS. 2.12 RSX.MAC One of the source modules for the FLECS preprocessor. This module has been modified to change the default filetype for FLECS sources from ".FLX" to ".FLE" and to effect exit-with-status. 2.13 FLECS.RNO The RUNOFF source for this document. 1 PAGE 6 2.14 README.1ST A printable version of this document. 2.15 FLEX.RNO A Flecs users manual in RUNOFF FORM. 1