




                                 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
