Trailing-Edge
-
PDP-10 Archives
-
decuslib20-03
-
decus/20-0078/doc/simdir.rnh
There is 1 other file named simdir.rnh in the archive. Click here to see a list.
.paper size 58,75
.NOFILL
.SPACING 1
.SKIP
^^With the SIMDIR program you can easily find out:
_> Which separately compiled modules are used by one or several main
programs.
_> Which program modules use a certain separately compiled procedure
or class.
.SKIP
To start the program type:
_.R SIMDIR
SIMDIR responds with a "*" , signalling that it is ready for a command.
.SKIP
In the simplest case, you can now write:
.SKIP
SEARCH /ALL REQUIRED BY main
.SKIP
This will list all modules on your PPN which are used by the module main.
This module main is usually a SIMULA main program, but can be a separately
compiled module.
.SKIP
SEARCH /ALL USING proc
.SKIP
This will list all modules on your PPN which use the separately compiled
module proc.
.SKIP
You can precede the SEARCH command with a DIRECTORY command to tell the
system to include other PPN:s in the search. For example, you can write:
.SKIP
DIRECTORY [*,*]
SEARCH /ALL USING proc
.SKIP
This will give a listing of all SIMULA programs on all PPN:s which are
using your separately compiled procedure proc.
.SKIP
As input SIMDIR has the ATR-files from separately compiled classes and
procedures and the REL-files from main programs. This means that SIMDIR
only works when such ATR and REL files are present for the programs to be
listed.
.SKIP
The syntax of the SIMDIR commands is:
.SKIP
_<SEARCH-command_>::= SEARCH _<pattern_> [_<relation_>[_<pattern_>]]
_<relation_>::= USING _! REQUIRED BY
_<pattern_>::= [_<device_>][_<filename_>][_<ppn_>][_<switches_>]
_<ppn_>::= _<left bracket_>_<ppn1_>_<right bracket_>
_<ppn1_>::= SELF _! OTHERS _! _<pnr_>,_<pnr_>
_<pnr_>::= _! * _! _<octal number_>
_<switches_>::= _<switch_> _! _<switches_>_<switch_>
_<switch_>::= /_<switchname_>
_<switchname_>::= ALL _! MAIN _! CLASSES _! PROCEDURES _!
FPROCEDURES _! SPROCEDURES _! MPROCEDURES _!
FAST _! TTY
_<device_>::= _<name_>:
_<filename_>::= _<name_>
.SKIP
SEARCH _<pattern_> means that all modules matching the pattern will be
searched for and listed.
.SKIP
SEARCH _<pattern_> _<relation_> means that all modules matching the pattern
will be searched for and listed together with the modules which have the
given relation to the modules.
.SKIP
SEARCH _<pattern_> _<relation_> _<pattern_> means that all modules matching
the first pattern and having the given relation to any module matching
the second pattern are listed.
.SKIP
A module matches a pattern when it matches all components of that
pattern. If any component is missing in a pattern, then all modules
match that component. The pattern may not be empty, however.
.SKIP
There are two special PPN:s that you may use in a pattern: [SELF] is the
PPN that the job is logged in under. [OTHERS] stands for all those
PPN's that have been given in DIRECTORY commands and that are not
[SELF].
.SKIP
The meanings of the switches are:
ALL All modules match
MAIN Main programs match
CLASSES Classes match
PROCEDURES Procedures match
FPROCEDURES FORTRAN procedures match
MPROCEDURES MACRO-10 procedures match
SPROCEDURES SIMULA procedures match
FAST Do not output PPN
TTY Change output device
temporarily to TTY.
.SKIP
.SKIP
_<DIRECTORY-command_>::= DIRECTORY _<directories_>
_<directories_>::= _<directory_> _! _<directory_>,_<directories_>
_<directory_>::= [_<switch_>] _<ppn_> [_<switch_>]
_<switch_> ::= /MAIN _! /-MAIN
.SKIP
Include the given directories when searching. /MAIN means that all
modules are fetched from this directory, /-MAIN that only external
classes and procedures are fetched. Default is /-MAIN.
.SKIP
.SKIP
_<LIST-command_>::= LIST _<file specification_>
.SKIP
Program output is written on the specified file. Default is
DSK:SIMDIR.LST
.SKIP
.SKIP
_<CLOSE-command_>::= CLOSE
.SKIP
The current list file is closed.
.SKIP
.SKIP
_<EXIT-command_>::= EXIT
.SKIP
Close current list file (if any) and return to monitor.
.SKIP
.SKIP
_<HELP-command_>::= HELP [ /TTY ]
.SKIP
Output help-text.
.SKIP
.SKIP
All "reserved words" (upper case letters above) can be shortened
arbitrarily. Any conflicts are resolved as follows :
/M means /MAIN
/F means /FAST
.SKIP
.SKIP
When SIMDIR is started a *D[S]/M command is automatically performed.
.SKIP
.SKIP
EXAMPLES:
.SKIP
List all SIMULA modules on your own PPN
.R SIMDIR
*S/ALL
.
.
.
.SKIP
List those of your own modules which are used by others in the same
project.
.R SIMDIR
*DIR [,*]/M
*SEARCH [SELF] REQ BY [OTHERS]
.
.
.