


     SIMULA command strings and switches


     Command string format:

     relfil,lstfil=source1,source2,...

     Syntax:

     1. Each file descriptor has the format:

     dev:filename.ext[path]/switch/switch...

     Default for device (dev) is DSK.  If no path (directory) is given,
     your own default path, which may be different from your logged-in
     ppn (UFD), is used.  The default path can be changed by the SETSRC
     program.  See the SETSRC program in the Monitor Commands manual and
     the PATH. UUO in the Monitor Calls manual for further information
     about default paths.  Subfile directories may be used.

     2. relfil receives the object code generated by the compiler.  If a
     file specification for relfil is given explicitly or by default, it
     is normally created unless severe errors were detected during
     compilation.  Exception:  No rel file is produced when compiling
     the procedure heading for a procedure with OPTIONS /E:CODE, QUICK,
     FORTRAN or F40.  See chapter 7 and app. E.  Default filename is the
     name of the first source.  Default extension (ext) is REL.

     3. lstfil receives the program listing generated by the compiler
     and is produced if one of the switches L or C is set (see below).
     Default filename is the name of the last source file.  Default
     extension (ext) is LST.

     4. source1, source2, ...  are the source files which, combined,
     make up one SIMULA source program.  Default extension is SIM.
     Device must be disk or a logical name assigned to a disk device
     with the monitor command ASSIGN.

     5. Left arrow (_) may be used instead of equal sign (=).

     6. If only one source file is used as input and default names of
     rel and lst files are desired the equal sign or left arrow may be
     omitted.
     Example:
       .R SIMULA
       *DSKD:X.SIM[123,456]
     is equivalent to
       .R SIMULA
       *DSK:X.REL,DSK:X.LST=DSKD:X.SIM[123,456]




     Switches:

     Switches may be placed after any file descriptor.  Each switch
     starts with a unique letter.  Each switch is thus defined by one or
     more characters and must be preceded by a slash or enclosed in
     parentheses ().  The meaning of a switch is reversed if it is
     preceded by a minus sign.

     Name       Format  Default/Meaning

     ARRAY      /A      /A
                        Generate code to check array boundaries.

     CREF       /C      /-C
                        Generate a cross reference listing on the list
                        file.  This switch also sets the L-switch.

     DEBUGS     /D      /D
                        Generate a symbol table for SIMDDT.  

     EXTERNAL   /nE     /-E
                        Treat the source program as an external class or
                        procedure.  n is a decimal unsigned number
                        specifying the block level at which the external
                        program will be compiled.  Default for n is 1.
                        /-E indicates main program.  See below for
                        format in OPTIONS statement.

     HELP       /H      /-H
                        Type this information at the user terminal.
                        HELP can be placed anywhere before the second
                        source file descriptor.  HELP is only valid in
                        connection with the R command.

     IDENTIFICATION /I  /I
                        Generate a line number table to be used for
                        debugging with SIMDDT and for run-time
                        diagnostic messages.

     LIST       /L      /-L
                        Generate a listing of the source program.  If
                        this switch is present before the first source
                        file specification then all source files are
                        listed.  If it is present after say, the second
                        source specification, then the first will not be
                        listed.

     NOERR      /N      /-N
                        Suppress output of error messages on the user's
                        terminal.

     PAGE       /nP     /55P
                        Specify the number (n) of lines per page in the
                        source file listing.  If n > 55 then the default
                        vale 55 is used.  See below for extended format.

     QUALIFICATION /Q   /Q
                        Generate code to check that a class instance has
                        a certain qualification.

     RUNSWITCHES /R     /-R
                        File specifications will be read from TTY at the
                        start of the object program execution.  See
                        below for extended format.

     SEARCH     /S      /S
                        Enables automatic search of ATR libraries.
                        Libraries on the default search list (see below)
                        are searched if an ATR file corresponding to an
                        external procedure or class cannot be found.
                        See below for extended format.

     WARNING    /W      /W
                        Warning messages are listed on the source
                        listing (if any) and on the user's TTY.

     Y          /Y      /-Y
                        Write the line number table after the source
                        listing.  The IDENTIFICATION and the LIST
                        switches must be set.


     Note that extended formats for switches E, P, R and S are
     available.  The extended format for the E switch can only be used
     in the OPTIONS statement, whereas the longer forms of the P, R and
     S switches can also be used with the R SIMULA command (explicit
     execution of the compiler).

E switch

     /nE:<codeword>,[<checkoption>,]entryname
     /nE:FORTRAN,entryname
     /nE:F40,entryname

     <codeword> is CODE or QUICK and specifies an external assembly
     procedure.  FORTRAN specifies an external FORTRAN-10 (new FORTRAN)
     procedure and F40 an external FORTRAN-IV (old FORTRAN) procedure.

     <checkoption> is CHECK or NOCHECK (-CHECK).  CHECK implies
     parameter checking and NOCHECK suppression of parameter checking.
     If <checkoption> is omitted parameter checking is assumed.  NOCHECK
     and -CHECK are equivalent.

     Entryname is the entry name of the external procedure.

     See SIMULA Language Handbook Appendix E for further details.

P switch

     /P:"text"
     The text enclosed in quotes will be placed in the list file page
     heading.  The first line after the OPTIONS statement is printed on
     a new page.  This is also done for /P without argument.

R switch

     /R:"file spec"
     The file specification has the same syntax as file specifications
     in a command.  File specifications will be read from that file at
     run time.  (See Chapter 8 in the handbook).

     Examples:

     /R:"SYSIN"
     /R:"TTY:"        (equivalent to /R)
     /R:"DSKC:FILES.SPC[130,131]"


S switch

     /S:"file spec"     !add to search list;
     /S                 !enable standard search list;
     /-S:"file spec"    !disable search for this file;
     /-S                !disable library search for all files;

     The file specification is of the same form as file specifications
     in a command.  The file extension should be ATR if given, otherwise
     ATR is assumed.  The file specification will be placed on a search
     list to be used when an ATR file is not found corresponding to an
     external declaration.  If S is preceded by a minus sign, the file
     will  n o t  be part of the search list.  An S switch without a
     file name enables search of the default libraries.  -S without a
     file name turns off library search for all files.  Selected files
     can then be put on the search list by further SEARCH switches.  For
     a declaration EXTERNAL CLASS A the standard search list is
     DSK:A.ATR, DSK:LIBSIM.ATR, SYS:LIBSIM.ATR.  This means that
     LIBSIM.ATR will be searched if A.ATR is not found in your default
     path, and SYS:LIBSIM.ATR will be used if DSK:LIBSIM.ATR does not
     exist or does not contain the ATR module wanted.
     Important!  Always make sure that each ATR file has a corresponding
     REL file, where ATR has been replaced by REL, while the rest of the
     file specification is identical.  The compiler tells LINK-10 to
     expect this.  A library such as LIBSIM.ATR  m u s t  have an index
     (X switch to FUDGE2).


                          [END OF SIMCOM.HLP]

