Processing math: 100%

PROPAK

Converts routine prologue information into a STARLSE package definition

Description:

This application reads a series of Fortran 77 source code files containing prologue information formatted using STARLSE (SUN/105) and produces an output file containing an LSE package definition suitable for use with STARLSE. Help library references may be included if required, allowing the package definition to access help information extracted using the PROHLP application.

Usage:

PROPAK IN [OUT] PACK [HELP]

Parameters:

HELP = LITERAL (Read)
Name of the help file to which the package definition should refer for on-line help information (suitable help libraries may be produced using the PROHLP application). The full file name, including a directory name, should be given. Logical names may also be used. The help file need not actually exist at the time PROPAK is run.

If a null (!) or blank value is given for this parameter, then no help library references will be included in the package definition. [!]

IN() = LITERAL (Read)
A list of (optionally wild-carded) file specifications which identify the Fortran 77 source code files to be used for input. Up to 10 values may be given, but only a single specification such as .FOR is normally required.

If the SINGLE parameter is set to TRUE (the default), then only a single prologue will be expected in each input file. If it is set to FALSE, then there is no limit to the number of prologues which may be held in each input file.

OUT = FILE (Write)
The output file to which the STARLSE package definition will be written. The VAXset documentation on LSE should be consulted for details of how to use this file to extend the STARLSE editing environment. [PROPAK.LSE]
PACK = LITERAL (Read)
This value is the name of the LSE package to be generated. To avoid possible clashes with existing STARLSE packages, the prefix characters used on the routines themselves are recommended for use as the package name. For example, if routines in the package have names such as XYZ_ROUTN, then "XYZ" should be used as the package name.
SINGLE = _LOGICAL (Read)
If SINGLE is set to TRUE, then only a single prologue will be expected at the start of each input file; if the file contains more than one prologue, then the remaining ones will be ignored. If SINGLE is set to FALSE, then each input file will be searched for all the prologues it contains and each will be processed in turn. When appropriate, the former option (the default) will result in faster execution since only the initial prologue information must then be read, rather than the entire contents of each input file. [TRUE]

Examples:

PROPAK MPK_.FOR MYPACK.LSE MPK
Extracts prologue information from the routines held in the files MPK_.FOR, one per file, and produces a STARLSE package definition for them. The package is called "MPK" and its definition is written to the file MYPACK.LSE.
PROPAK .FOR PACK=TEST HELP=TEST_DIR:TESTHELP
Extracts prologue information for a subroutine library, whose source code resides in the files .FOR, one routine per file. The resulting definition, of a STARLSE package called "TEST", is written to the default output file PROPAK.LSE. The package contains references to the help library TEST_DIR:TESTHELP, from which on-line help may be obtained when using the package within STARLSE.
PROPAK IN=SOURCE.FOR PACK=MYLIB NOSINGLE
Extracts prologue information from a sequence of subroutines or functions, all of which are held in the file SOURCE.FOR, and defines a STARLSE package called "MYLIB" in the default output file PROPAK.TEX.
PROPAK IN=["A.FOR","B.FOR"] HELP=PACK_HELP
In this example, a sequence of input file specifications is given. Each will be processed in turn to generate a combined package definition which refers to a help library with the logical name PACK_HELP. The package name will be prompted for.

Notes:

Care must be taken to ensure that begin-prologue and end-prologue lines (starting + and - respectively) appear before and after each prologue and that + and - symbols are not used in the second column elsewhere in the file, otherwise prologues may not be correctly identified.

Timing

The execution time is approximately proportional to the amount of information to be read from the input files. In addition, the time will be increased somewhat if the input code resides in a large number of separate files, due to the need to open and close each file. If there is only one prologue in each input file, then execution time will be minimised if SINGLE is set to TRUE, since only the initial prologue information need then be read, rather than the entire contents of each file.