
Compiler Switches

It is occasionally necessary for you to pass switches to the assembler
or  compiler  in a COMPILE, LOAD, EXECUTE, or DEBUG command.  For each
translation (assembly or compilation),  the  COMPIL  program  sends  a
command string to the translator, containing three parts:

     1.  Binary output file specification.

     2.  Listing file specification.

     3.  Source file specification.

To include switches with these files, you must do the following:

      o  Group the switches according to each related source file,  if
         you use the + construction.

      o  Group the switches according to the three types of files  for
         each source file.  The order of the groups of switches is

         a.  Binary

         b.  Listing

         c.  Source

      o  Separate the groups of switches by  commas  for  each  source
         file.

      o  Enclose all switches for each source file within one  set  of
         parentheses.

      o  Place each parenthetical string immediately after the  source
         file to which it refers.

The COMPIL program interprets the  groups  of  switches  according  to
these rules:

      o  The switches immediately before a closing  right  parenthesis
         are source (SSSS).

      o  The switches before the first comma are binary (BBBB,,).

      o  The switches before the second comma are listing (,LLLL,).

      o  The order of the switches is BBBB, LLLL, SSSS.

      o  The individual switches are separated by spaces.

      o  The switches contain no more than 150 characters in all.

      o  The switches  contain  only  the  following  non-alphanumeric
         characters  within  the  parentheses:  colon (:), hyphen (-),
         slash (/), comma (,), and parentheses.

Examples

     (SSSS)              Source switch
     (BBBB,,)            Binary switch
     (BBBB,LLLL,SSSS)    Binary, list, and source switches
     (,,SSSS)            Source switch(es)
     (,LLLL,)            Listing switch(es)
     (BBBB,,SSSS)        Binary and source switches
     (BBBB,LLLL,)        Binary and list switches
     (,LLLL,SSSS)        List and source switches


The processor switches are listed below, with their meanings  and  the
types of files to which they apply.

Processor Switches

  Processor   Binary  Listing  Source             Meaning

  ALGOL         D                      Set  dynamic  storage  region
                                       for  your own array (known as
                                       the heap).

                                E      The  source  file  has   line
                                       numbers in columns 73 to 80.

                                L      List the source program.

                        N              Suppress  output   of   error
                                       messages on the terminal.

                                Q      Delimit the words in quotes.

                                S      Suppress the listing  of  the
                                       source program.

  COBOL         A       A       A      Allow  the  listing  of  code
                                       generated.

                        C              Produce  a   cross-referenced
                                       listing  of  all user-defined
                                       items in the source program.

                E       E       E      Check the program for errors,
                                       but do not generate code.

                I                      Suppress  generation  of  the
                                       starting  address  of  a main
                                       program.

                J                      Force a starting  address  to
                                       be     generated     for    a
                                       subprogram.

                                L      Use   the   preceding    file
                                       descriptor  as a library file
                                       whenever  the  COPY  verb  is
                                       encountered.

                M       M       M      Print  a  map   showing   the
                                       parameters       of       the
                                       user-defined items.

                        N              Suppress  output  of   source
                                       errors on the terminal.

                P                      Do not generate  trace  calls
                                       and symbols.

                R                      Produce a two-segment  object
                                       program.   The  high  segment
                                       contains     the     resident
                                       sections   of  the  Procedure
                                       division;  the  low   segment
                                       contains   everything   else.
                                       When the  object  program  is
                                       loaded, LIBOL is added to the
                                       high segment.

                S       S       S      The source file has  sequence
                                       numbers  in columns 1 through
                                       6 and  comments  starting  at
                                       column 73.

                W       W       W      Rewind the magnetic tape.

                Z       Z       Z      Zero the DECtape directory.

  FORTRAN-10                    C      Generate a file that is to be
                                       input to the CREF program.

                        E              Include  the  octal-formatted
                                       version of the object file in
                                       the listing.

                                I      Translate  the  letter  D  in
                                       column  1  as  a  space,  and
                                       treat the line  as  a  normal
                                       FORTRAN statement.

                        M              Add the mnemonic  translation
                                       of  the  object  code  to the
                                       listing file.

                        NOE     NOE    Suppress  output   of   error
                                       messages on the terminal.

                        NOW     NOW    Suppress  output  of  warning
                                       messages on the terminal.

                O                      Perform    optimization    of
                                       global symbols when producing
                                       processor code.

                                S      Perform compilation, checking
                                       for syntax errors only.

         MACRO  A       A       A      Advance  the  magnetic   tape
                                       reel by one file.

                B       B       B      Backspace the  magnetic  tape
                                       reel by one file.

                        C              Produce a listing file  in  a
                                       format acceptable as input to
                                       CREF.

                        E              List the macro expansions.

                        F              Byte sizes match  the  format
                                       of the instruction.

                        G              Byte  sizes  are  two  18-bit
                                       fields.

                        L              Reinstate listing (used after
                                       list    suppression    by   S
                                       switch).

                        M              Suppress ASCII test in  macro
                                       and   repeat   the  expansion
                                       (SALL).

                        N              Suppress  output   of   error
                                       messages on the terminal.

                O       O       O      Allow literals to occupy only
                                       one file.

                P                      Increase  the  size  of   the
                                       pushdown list.

                Q       Q       Q      Suppress   questionable   (Q)
                                       error   indications   on  the
                                       listing.

                        S              Suppress the listing.

                T       T       T      Skip to the  logical  end  of
                                       the magnetic tape.

                        X              Suppress      all       macro
                                       expansions.

                        Z       Z      Zero the DECtape directory.

The following are examples of the use of switches:

Examples

     .DEBUG TEST(,N,)                   Suppress error message  during
                                        assembly.

     .COMPILE OUTPUT=MTA0:(M,W)/L       Rewind   the   magtape    (W),
                                        compile  the  first  file, and
                                        include the  MACRO  coding  in
                                        the  output  listing file (M).
                                        Output  files  are  given  the
                                        names      OUTPUT.REL      and
                                        OUTPUT.LST.

     .COMPILE/MACRO A=MTA0:(,Q,W)/L     Rewind   the   magtape    (W),
                                        compile  the  first  file, and
                                        suppress   Q    (questionable)
                                        error   indications   in   the
                                        listing.  When a binary switch
                                        is not present, the delimiting
                                        comma must appear.

     .COMPILE/MACRO A=MTA0:(,Q,)/L      Compile  the   file   at   the
                                        current  position  of the tape
                                        and    suppress    Q     error
                                        indications  on  the  listing.
                                        When  the  source  and  binary
                                        switches  are not present, the
                                        delimiting commas must appear.

     .COMPILE FOO (NOWARN DEBUG)        Compile  the  file  named  FOO
                                        using  the F10 source switches
                                        NOWARN and DEBUG.
