README.md





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