|
/sys$common/syshlp/helplib.hlb ACS *Conan The Librarian |
ACS is the Ada program library manager for Compaq Ada. The program
library manager performs library management functions and
provides an interface to the Compaq Ada compiler and OpenVMS Linker.
| 1 - Closure |
The term closure is used in the description of a number of ACS
commands; for example, ACS CHECK, COMPILE, COPY UNIT/CLOSURE,
LINK, and RECOMPILE. In simple terms, closure is the complete
set of units that a given unit depends on, plus any other units
needed for its execution. In other words, closure refers to the
execution closure of the given unit.
| 2 - Getting Started |
You compile and link Compaq Ada programs in the context of an Ada
program library, which is managed by the Compaq Ada program library
manager (ACS). To start using Compaq Ada, enter the following
ACS commands to create, initialize, and define your current
program library. This series of commands assumes that your
program library is a subdirectory of your current OpenVMS working
directory.
$ ACS CREATE LIBRARY [.ADALIB]
$ ACS SET LIBRARY [.ADALIB]
Then, compile, link, and execute your program using the following
commands (assuming that the name of your program is MYPROG, and
that it depends on the package MYPACK):
$ ADA/LIST MYPACK_.ADA, MYPACK.ADA, MYPROG.ADA
$ ACS LINK MYPROG
$ RUN MYPROG
You can also use the following equivalent set of commands:
$ ACS LOAD MY*
$ ACS COMPILE/LIST MYPROG
$ ACS LINK MYPROG
$ RUN MYPROG
Note that when you successfully compile an Ada program, the
program library manager stores the object files associated with
the program in your current program library, not in your current
default directory.
Once you compile an Ada compilation unit into a program library,
the program library manager recognizes the unit by its unit name,
not by its source file name. To prevent confusion and promote
efficient compilation, use one source file for each compilation
unit, and follow these conventions for naming Compaq Ada source
files:
o The name of the source file for a library specification should
be the name of the unit, followed by a trailing underscore
(_). For example, MYPACK_.ADA is the name of the source file
containing the specification of the package MYPACK.
o The name of the source file for a library body or main
subprogram should be the name of the unit. For example,
MYPACK.ADA is the name of the source file containing the body
of package MYPACK. MYPROG.ADA is the name of the source file
containing the main subprogram MYPROG.
o The name of the source file for a library generic
instantiation should be the name of the instantiation. For
example, MYGEN_.ADA and MYGEN.ADA are names of source files
containing a library generic package specification and its
body. MYINST.ADA is the name of a source file containing a
library generic instantiation of the generic package MYGEN.
o The name of the source file for a subunit should be the
name of the ancestor unit, followed by two underscore
characters, followed by the name of the subunit. For example,
MYPACK__MYSUBUNIT.ADA is the name of the source file
containing a subunit of package MYPACK.
| 3 - Interrupting |
After you have entered an ACS command, you may want to interrupt
that command before it completes. You should press Ctrl/C
to interrupt an ACS command in an orderly fashion. It is
particularly important to use Ctrl/C (rather than Ctrl/Y) if the
command is one that alters the contents of the program library,
for example ACS DELETE UNIT.
If you use Ctrl/Y to interrupt an ACS command, and then invoke
another image in DCL, your program library may be left in
an inconsistent state. You can use the ACS VERIFY command to
determine inconsistencies in a program library; you can use ACS
VERIFY/REPAIR to correct those inconsistencies.
| 4 - Invoking |
You invoke the Compaq Ada program library manager interactively
or with a one-line DCL command. To invoke the program library
manager interactively, enter the following DCL command:
$ ACS
The program library manager responds with the following prompt:
ACS>
You can now enter any ACS command. To return to the DCL command
line, type EXIT or press Ctrl/Z.
To enter an ACS command as a DCL command, append the command to
the ACS prefix. For example:
$ ACS SET LIBRARY [ADA.AUGUSTA.ADALIB]
If your ACS command is too long to fit on a single line, you can
continue the command by typing a hyphen (-) as the last character
of a line. For example:
ACS> LINK/DEBUG/MAP/FULL/CROSS_REFERENCE -
_ACS> MY_MAIN_PROGRAM -
_ACS> [MATRIX.LIB]MATHPACK.OLB/LIB
An ACS command can have a maximum of 1024 characters; individual
command lines can have a maximum of 256 characters.
| 5 - Libraries |
All Ada compilations (and ACS LINK operations) are performed in
the context of the current program library, which can be either
a program library or a sublibrary (see HELP Ada Sublibraries).
The files that result from a successful compilation are stored in
the library. The ACS LINK command retrieves object files from the
library. Use the ACS SET LIBRARY command to specify the current
program library.
A Compaq Ada program library is a dedicated OpenVMS directory
that is recognized by the Compaq Ada compiler and program library
manager.
Before any compilation has occurred, a program library contains
only two files, which were created when the program library was
created:
o The library index file (ADALIB.ALB)
o A file used for program library version control (ADA$LIB.DAT)
Each time a unit is successfully compiled into the current
program library, the following files are created or accounted
for:
o An object file (.OBJ)
o A compilation unit file (.ACU)
o Unless suppressed by the /NOCOPY_SOURCE compilation qualifier,
a copied source file (.ADC); this file is used by the ACS
RECOMPILE command and by the debugger
You should not store any other files in a library directory. You
also should not apply any of the DCL file manipulation commands
(for example, DELETE and RENAME) to files in a library directory.
| 6 - Sublibraries |
A sublibrary is a Compaq Ada program library that has a parent
library. Units in a sublibrary are compiled in the context of
both the sublibrary and the parent library.
When your current program library is a sublibrary, the units
in the sublibrary and parent libraries are visible in a fashion
analogous to multiple panes of glass. The units in the sublibrary
appear on the top pane, units in the immediate parent library
appear on the next pane, units in the parent of the immediate
parent appear on the following pane, and so on. Then, units
by the same name hide each other such that a unit in a parent
library is hidden by a unit of the same name in a closer
sublibrary. The search for a unit begins with the closest pane
of glass (the sublibrary) and follows through the parent panes
until the unit is found.
You can use a sublibrary to modify and test a new version of a
unit. Any necessary units not in the sublibrary will be obtained
from a parent library. When you have completed and tested the
modified unit, you can use the ACS MERGE command to copy the new
version to the parent library.
There is no specific limit on the depth of sublibrary nesting,
but the cost of the lookup operation indicates a practical limit
of three or four levels.
Most ACS commands operate on both program libraries and
sublibraries. There are three specific ACS commands for
sublibraries: CREATE SUBLIBRARY, DELETE SUBLIBRARY, and MERGE.
Many of the ACS library management commands (for example, DELETE
UNIT and DIRECTORY) operate only on the current library or
sublibrary; a DELETE UNIT command will never delete a unit in
some ancestor of the current library.
NOTE
Sublibraries contain references to their immediate parents,
but the parent library contains no references to its
sublibraries. You should be careful not to delete a library
if it still has sublibraries.
| 7 - Library Search Paths |
In many ways, you can view sublibrary relationships as defining
a list of libraries to be searched. Compaq Ada library search paths
provide another way to define a list of libraries to be searched.
Like a sublibrary, a library search path simply defines a list
of Compaq Ada libraries which are searched by the compiler and
program library manager to locate units. You can use library
search paths to achieve the same effects as sublibraries but with
more flexibility.
A library search path, also called the current library search
path, or current path, defines the particular library search path
that is used during compilation or an ACS operation. The compiler
and program library manager search for a unit starting with the
first library of the current path. If the unit is not found in
that library, the search for the unit continues in subsequent
libraries in the current path until the unit is either found or
until the end of the current path is reached.
Typically, the current path is a path that is associated with the
current program library. This path, called the default library
search path, or default path, is defined when you create a
Compaq Ada program library or sublibrary. When you enter the ACS
SET LIBRARY command, the specified library becomes the current
program library, and the default path associated with that
library becomes the current path.
You can define the current path using one of two methods:
1. Enter the ACS SET LIBRARY command. For example:
$ ACS SET LIBRARY [SMITH.SUBLIB]
When you enter this command, the specified library becomes
the current program library, and the default path associated
with that library becomes the current path. In this example,
the ACS SET LIBRARY command establishes the current program
library to be [SMITH.SUBLIB], and the current path to be
the default path for [SMITH.SUBLIB]. When the program
library manager and compiler search for a unit, the library
[SMITH.SUBLIB] is searched first. If the unit is not found,
then any libraries in the default path of [SMITH.SUBLIB] are
also searched.
2. Enter the/PATH qualifier with the ACS SET LIBRARY command. For
example:
$ ACS SET LIBRARY/PATH [SMITH.ADALIB],[JONES.ADALIB], -
_ACS>[HOTEL.ADALIB]
The /PATH qualifier allows you to establish a current path
that is different than the default path associated with a
program library. In this example, the /PATH qualifier defines
the current path to be the list of libraries specified in the
command line. It also establishes the current program library
to be the first library in the path ([SMITH.ADALIB]).
In some situations, you may want to identify the default path
associated with a library or sublibrary in your current path
along with other libraries. To specify a default path, you
precede the library with an at sign (@). For example:
$ ACS SET LIBRARY/PATH [JONES.ADALIB],@[HOTEL.ADALIB]
In this example, any libraries in the default path of
[HOTEL.ADALIB] are included in the current path.
You can store library search paths in text files, and then
include them in other library search paths. For example:
$ ACS SET LIBRARY [JONES.ADALIB],@MYPATH.TXT
To modify the default path of a program library, see the HELP ACS
MODIFY LIBRARY.
For more information on library search paths, see Developing Ada
Programs on OpenVMS Systems.
| 8 - ATTACH |
Enables you to switch control of your terminal from your current
process running the program library manager to another process
in your job. See also the ACS SPAWN command and the OpenVMS DCL
Dictionary.
Format
ATTACH process-name
8.1 - Parameters
process-name
Specifies the name of the process to which the connection is
to be made. Process names can contain from 1 to 15 alphanumeric
characters. If a connection to the specified process cannot be
made, an error message is displayed. You cannot connect to the
process if any of the following conditions apply:
o The process is your current process.
o The process is not part of your current job.
o The process does not exist.
8.2 - Description
The ACS ATTACH command allows you to connect your input stream
to another process. You can use the ATTACH command to change
control from one subprocess to another subprocess or to the
parent process.
When you enter the ATTACH command, the parent or "source"
process is put into a hibernation state, and your input stream
is connected to the specified destination process. You can use
the ATTACH command to connect to a subprocess that is part of a
current job left hibernating as a result of an ACS SPAWN or DCL
SPAWN/WAIT command, or of another ACS or DCL ATTACH command, as
long as the connection is valid. (No connection can be made to
the current process, to a process that is not part of the current
job, or to a process that does not exist.)
You can also use the ATTACH command in conjunction with the ACS
SPAWN or DCL SPAWN/WAIT command to return to a parent process
without terminating the created subprocess. See the description
of the ACS SPAWN command for more details.
8.3 - Example
ACS> ATTACH JONES_1
$
Switches control of the terminal to the process JONES_1.
| 9 - CHECK |
Forms the execution closure of one or more specified units and
checks whether the set of units in the closure is complete and
current. The ACS CHECK command searches the current program
library (and all parent libraries, in the case of a sublibrary)
for all units in the closure.
Format
CHECK unit-name[,...]
9.1 - Parameters
unit-name[,...]
Specifies one or more units in the current program library whose
closure is to be checked. You must express subunit names using
selected component notation as follows:
ancestor-unit-name{.parent-unit-name}.subunit-name
The unit names may include percent signs (%) and asterisks (*)
as wildcard characters. (See the OpenVMS User's Manual for more
information on wildcard characters.)
9.2 - Description
The ACS CHECK command goes through the following steps:
1. Forms the execution closure of the specified units.
2. Determines whether each unit in the closure is in the program
library and is current. Units entered from other program
libraries, as well as those compiled or copied into the
current program library, are checked.
3. Identifies any unit in the closure that is not in the program
library.
4. Identifies any unit in the closure that is obsolete and must
be recompiled.
5. If there are obsolete units in the closure, identifies
units that may become obsolete when the obsolete units are
recompiled.
6. If all of the units in the closure are in the program library
and are current, issues an informational message.
9.3 - Command Qualifiers
9. 3.1 - /LOG
/LOG
/NOLOG (D)
Controls whether a list of all the units in the closure is
displayed in addition to a message indicating the result of the
CHECK command.
By default, only a message indicating the result of the CHECK
command is displayed.
9. 3.2 - /OBSOLETE
/OBSOLETE=(option=[,...])
/NOOBSOLETE (D)
Allows you to ask what the effect on a program or a set of units
would be if some specific units were obsolete.
When the execution closure of the units in the parameter list
of the command is performed, the units named with the UNIT,
SPECIFICATION, and BODY keywords are assumed to be obsolete as
described below. If one of those units is not in the execution
closure of the units named in the command's parameter list, it is
not added to the closure.
Unit names are specified with the UNIT, SPECIFICATION and BODY
keywords as follows:
UNIT:(unit_ The specifications and bodies of units
name[,...]) specified with the UNIT keyword are assumed
to be obsolete.
SPECIFICATION:(unit_ Only the specifications of units specified
name[,...]) with the SPECIFICATION keyword are assumed
to be obsolete.
BODY:(unit_ Only the bodies of units specified with the
name[,...]) BODY keyword are assumed to be obsolete.
You must specify at least one of these keywords with the
/OBSOLETE qualifier. Unit names can contain wildcard characters.
By default, units are identified as obsolete based on the current
state of the program library.
9. 3.3 - /OUTPUT
/OUTPUT=file-spec
Requests that the CHECK command output be written to the file
specified rather than to SYS$OUTPUT. Any diagnostic messages are
written to both SYS$OUTPUT and the file.
The default directory is the current default directory. If you
specify a file type but omit the file name, the default file name
is ACS. The default file type is .LIS. No wildcard characters are
allowed in the file specification.
By default, the CHECK command output is written to SYS$OUTPUT.
9. 3.4 - /PROCESSING_LEVEL
/PROCESSING_LEVEL[=option]
Determines the kind of obsolete units identified. Obsolete units
are identified based on the level of processing applied to the
unit: syntax-checking, design-checking, or full compilation. You
can request the following options:
SYNTAX Determines whether a unit is obsolete because it
has been syntax-checked only. Because all units
in a program library are at least syntax-checked,
and because syntax-checking does not require any
particular order of compilation, generally accepts
all units as being current.
DESIGN Determines whether a unit is obsolete because
it has been design-checked only. Accepts design-
checked units and fully compiled units as being
current, unless they are otherwise obsolete (for
example, they depend on units that have been
syntax-checked only, or they depend on other
obsolete units).
FULL Determines three kinds of obsolete units: units
that are obsolete because they have been syntax
checked only, units that have been design checked,
and units that are obsolete as a result of the
compilation of the units they depend on. Units
that depend on obsolete units are also considered
to be obsolete.
By default, all units are fully checked (/PROCESSING_LEVEL=FULL),
and all obsolete units are identified.
9. 3.5 - /SMART_RECOMPILATION
/SMART_RECOMPILATION (D)
/NOSMART_RECOMPILATION
Controls whether smart recompilation information, which is stored
in the program library, is used to identify obsolete units.
If smart recompilation is not in effect, units are identified
as obsolete and in need of recompilation based on their time of
compilation only. (See Developing Ada Programs on OpenVMS Systems
for more information.)
9. 3.6 - /STATISTICS
/STATISTICS (D)
/NOSTATISTICS
Controls whether statistical information is displayed.
Statistical information includes the number of obsolete and
possibly obsolete units, and the total elasped time for the last
compilation of all identified units.
9.4 - Examples
1.ACS> CHECK SCREEN_IO
%I, All units current, no recompilations required
Shows that all the units in the closure of SCREEN_IO are
defined in the current program library and are current.
2.ACS> CHECK/OBSOLETE=SPECIFICATION:RESERVATIONS RESERVATIONS
%E, Obsolete library units are detected
%I, The following units need to be recompiled:
RESERVATIONS
package specification 4-NOV-1992 14:48:39.75 (00:00:03.82)
%I, The following units may also need to be recompiled:
RESERVATIONS
package body 4-NOV-1992 14:51:20.11 (00:00:14.02)
RESERVATIONS.RESERVE
procedure body 4-NOV-1992 14:49:55.78 (00:00:04.27)
RESERVATIONS.RESERVE.BILL
procedure body 4-NOV-1992 14:50:01.55 (00:00:05.12)
RESERVATIONS.CANCEL
procedure body 4-NOV-1992 14:51:36.25 (00:00:04.24)
1 obsolete unit, 4 possibly obsolete units (total 5)
Total elapsed time for last compilation of all 5 units was 0:00:31.47
This command allows you to ask what the effect would be if you
modified the unit RESERVATIONS. In the previous example, the
ACS CHECK command lists the units that need to be recompiled,
any units that are missing, and the total elasped time for the
last compilation of the unit RESERVATIONS.
3.$ ACS CHECK A, B, C /OBSOLETE=(UNIT:(E, F), BODY:(G, H))
Checks the closure of the set of units A, B and C assuming that
E and F's specifications and bodies are obsolete, and that G
and H's bodies are obsolete.
| 10 - COMPILE |
Forms the closure of one or more specified units. Compiles, from
external source files, any unit in the closure (except entered
units) that was revised since that unit was last compiled into
the current program library. Recompiles, from external or copied
source files, any unit in the closure that needs to be made
current. Completes any incomplete generic instantiations.
Format
COMPILE unit-name[,...]
10.1 - Parameters
unit-name[,...]
Specifies one or more units in the current program library whose
closure is to be processed with the ACS COMPILE command. You
must express subunit names using selected component notation as
follows:
ancestor-unit-name{.parent-unit-name}.subunit-name
The unit names may include percent signs (%) and asterisks (*)
as wildcard characters. (See the OpenVMS User's Manual for more
information on wildcard characters.)
10.2 - Description
The ACS COMPILE command is useful for compiling and recompiling
units as you revise the source files of an existing Ada program.
The COMPILE command goes through the following steps:
1. Forms the execution closure of the specified units.
2. Looks up the source file for each unit in the closure that
has been compiled or copied (not entered) into the current
program library. Unless otherwise specified with the SET
SOURCE command, the source-file-directory search order is
as follows:
a. SYS$DISK:[] (the current default directory)
b. ;0 (the directory that contained the file when it was last
compiled), or node::;0 (if the file specification of the
source file being compiled contains a node name)
The search order takes precedence over the version number
or creation date-time if different versions of a source file
exist in two or more directories. Within any one directory,
the version of a particular file that has the highest number
is considered for compilation.
3. Compares the creation date-time of each source file with that
of the version last noted in the program library by the /NOTE_
SOURCE compiler qualifier (the qualifier is used with the DCL
ADA and ACS COMPILE and RECOMPILE commands).
4. Processes revised external source files to account for
new compilation units or unit dependences if the /PRELOAD
qualifier (the default) is in effect.
5. Notes for compilation any source file whose creation date-time
is later than that noted in the program library.
6. Identifies any obsolete or incomplete units in the closure.
Note that if the program library manager cannot find external
source files for recompilation, recompilation is done from
copied source files. If a needed copied source file is
missing, the file is identified and no recompilations or
completions are done. Copied source files are created when the
/COPY_SOURCE qualifier is in effect during compilation (the
default for the DCL ADA and ACS LOAD and COMPILE commands).
If the closure you are recompiling includes an obsolete
entered unit, that unit is not affected by the COMPILE
command; an error diagnostic is issued and the COMPILE command
is not executed. You should recompile an obsolete entered
unit in its own program library and then reenter it into
the current program library before you try to recompile its
dependent units in the current library.
7. Creates a DCL command file. The file contains commands to
compile the appropriate units from external source files and
to recompile any obsolete units from external or copied source
files, in the proper order. Entered units are not considered
for compilation or recompilation. If you did not specify the
/COMMAND qualifier, the command file is deleted after the
COMPILE command is terminated, or the batch job finishes. If
you did specify the /COMMAND qualifier, the command file is
retained for future use, and the compiler is not invoked.
8. If you did not specify the /COMMAND qualifier, the Compaq Ada
compiler is invoked as follows:
a. By default (COMPILE/WAIT), the command file is executed
in a subprocess. You must wait for the compilation
to terminate before entering another command. When
this qualifier is in effect, process logical names are
propagated to the subprocess generated to execute the
command file.
b. If you specify the /SUBMIT qualifier, the command file
generated in step 7 is submitted as a batch job.
Program library manager output originating before the compiler
is invoked is reported to your terminal by default, or to a file
specified with the /OUTPUT qualifier. Compiler diagnostics are
reported to the terminal by default, or to the a log file if the
command file is executed in a batch job (by way of the COMPILE
/SUBMIT command).
See of the Developing Ada Programs on OpenVMS Systems for more
information on the COMPILE command.
10.3 - Command Qualifiers
10. 3.1 - /AFTER
/AFTER=time
Requests that the batch job be held until after a specific
time when the command file is executed in batch mode. If the
specified time has already passed, or if the /AFTER qualifier is
not specified, the job is queued for immediate processing.
You can specify either an absolute time or a combination of
absolute and delta time. See the OpenVMS User's Manual (or
type HELP Specify Date_Time at the DCL prompt) for complete
information on specifying time values.
10. 3.2 - /ANALYSIS_DATA
/ANALYSIS_DATA[=file-spec]
/NOANALYSIS_DATA (D)
Controls whether a data analysis file containing source code
cross-reference and static analysis information is created. The
data analysis file is supported only for use with Digital layered
products, such as the DEC Source Code Analyzer.
One data analysis file is created for each source file that
is compiled and for each unit that is recompiled. The default
directory for data analysis files is the current default
directory. The default file name is the name of the source
file being compiled. The default file type is .ANA. No wildcard
characters are allowed in the file specification.
By default, no data analysis file is created.
10. 3.3 - /ARCHITECTURE
Controls the use of new Alpha instructions.
The syntax for this switch is as follows:
/ARCHITECTURE = { GENERIC | HOST | EV4 | EV5 | EV56 }
Setting the /ARCH switch causes a corresponding setting in the /TUNE
switch. (See the Release Notes for more information.)
10. 3.4 - /BATCH_LOG
/BATCH_LOG=file-spec
Provides a file specification for the batch log file when the
command file is executed in batch mode.
If you do not give a directory specification with the file-spec
option, the batch log file is created by default in the current
default directory. If you do not give a file specification with
the file-spec option, the default file name is the job name
specified with the /NAME=job-name qualifier. If no job name
has been specified, the program library manager creates a file
name comprising up to the first 39 characters of the first unit
name specified. If no job name has been specified and there is
a wildcard character in the first unit specified, the program
library manager uses the default file name ACS_COMPILE. The
default file type is .LOG. No wildcard characters are allowed
in the file specification.
10. 3.5 - /CHECK
/CHECK
/NOCHECK
Controls whether all run-time checks are suppressed. The /NOCHECK
qualifier is equivalent to having all possible SUPPRESS pragmas
in the source code.
Explicit use of the /CHECK qualifier overrides any occurrences of
the pragmas SUPPRESS and SUPPRESS_ALL in the source code, without
the need to edit the source code.
By default, run-time checks are only suppressed in cases where a
pragma SUPPRESS or SUPPRESS_ALL appears in the source code.
See the DEC Ada Language Reference Manual for more information on
the pragmas SUPPRESS and SUPPRESS_ALL.
10. 3.6 - /CLOSURE
/CLOSURE
Causes the /SPECIFICATION_ONLY qualifier to apply to all units
in the closure of units named in the COMPILE command. (Without
the /CLOSURE qualifier, the /SPECIFICATION_ONLY qualifier applies
only to the units named in the command.)
See the description of the /SPECIFICATION_ONLY qualifier in the
list of command qualifiers.
10. 3.7 - /COMMAND
/COMMAND[=file-spec]
Controls whether the compiler is invoked as a result of the
COMPILE command, and determines whether the command file
generated to invoke the compiler is saved. If you specify the
/COMMAND qualifier, the program library manager does not invoke
the compiler, and the generated command file is saved for you to
invoke or submit as a batch job.
The file-spec option allows you to enter a file specification for
the generated command file. The default directory for the command
file is the current default directory. By default, the program
library manager provides a file name comprising up to the first
39 characters of the first unit name specified. If you use a
wildcard character in the first unit name specified, the compiler
uses the default name ACS_COMPILE. The default file type is .COM.
No wildcard characters are allowed in the file specification.
By default, if you do not specify the file-spec option, the
program library manager deletes the generated command file when
the COMPILE command completes normally or is terminated.
Note that if you want to get the old behaviour (pre-version 3.0
behavior) for this command, you must also specify the /NOSMART_
RECOMPILATION qualifier.
10. 3.8 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the COMPILE command asks you for confirmation
before performing a possibly lengthy operation. If you specify
the /CONFIRM qualifier, the possible responses are as follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the prompt is reissued.
By default, no confirmation is requested.
10. 3.9 - /COPY_SOURCE
/COPY_SOURCE (D)
/NOCOPY_SOURCE
Controls whether a copied source file is created in the current
program library when a compilation unit is compiled without
error. The ACS RECOMPILE command requires that a copied source
file exist in the current program library; the ACS COMPILE
command uses the copied source file if it cannot find an external
source file when it is recompiling an obsolete unit or completing
an incomplete generic instantiation (see Developing Ada Programs
on OpenVMS Systems). Copied source files may also be used by the
OpenVMS Debugger (see OpenVMS Debugger Manual).
By default, a copied source file is created in the current
program library when a unit is compiled without error.
10. 3.10 - /DEBUG
/DEBUG[=(option[,...])] (D)
/NODEBUG
Controls which debugger compiler options are provided. You
can debug Compaq Ada programs with the OpenVMS Debugger (see the
Developing Ada Programs on OpenVMS Systems for more information
on debugging tasks; see and OpenVMS Debugger Manual for more
information on the OpenVMS debugger).
You can request the following options:
ALL Provides both SYMBOLS and TRACEBACK
NONE Provides neither SYMBOLS nor TRACEBACK
[NO]SYMBOLS Controls whether debugger symbol records are
included in the object file
[NO]TRACEBACK Controls whether traceback information (a subset
of the debugger symbol information) is included in
the object file
By default, both debugger symbol records and traceback
information are included in the object files (/DEBUG=ALL, or
equivalently: /DEBUG)
10. 3.11 - /DESIGN
/DESIGN[=option]
/DESIGN[=option]
/NODESIGN (D)
Controls whether a design-level check is performed when
identifying obsolete units. A unit is not considered obsolete
just because it is design-checked only.
Also directs the compiler to process Ada source files as a
detailed program design. For each unit that is design checked
without error, the program library is updated with information
about that unit. Design-checked units are considered to be
obsolete in operations that require full compilation and must
be recompiled.
You can request the following options:
[NO]COMMENTS Determines whether comments are processed for
program design information. For the COMMENTS
option to have effect, you must specify the
/ANALYSIS_DATA qualifier with the ADA command.
See Guide to Source Code Analyzer for VMS
Systems for more information on using the
Source Code Analyzer (SCA).
If you specify NOCOMMENTS, comments are
ignored.
[NO]PLACEHOLDERS Determines whether design checking is
performed. If you specify PLACEHOLDERS,
compilation units are design checked-LSE
placeholders are allowed and some of the
Ada language rules are relaxed so that you
can omit some implementation details. If you
specify NOPLACEHOLDERS, full compilation is
done-the compiler is invoked, LSE placeholders
are not allowed, and Ada language rules are
not relaxed.
Note that when you specify this option with
the /SYNTAX_ONLY qualifier, it determines only
whether LSE placeholders are allowed. If you
specify NOPLACEHOLDERS, then only valid Ada
syntax is allowed.
If you specify the /DESIGN qualifier without supplying any
options, the effect is the same as the following default:
/DESIGN=(COMMENTS,PLACEHOLDERS)
If you specify only one of the options with the /DESIGN
qualifier, the default value for the other option is
used. For example, /DESIGN=NOCOMMENTS is equivalent to
/DESIGN=(NOCOMMENTS,PLACEHOLDERS). In this case, both qualifiers
specify that the unit is design-checked, but comment information
is not collected. Similarly, /DESIGN=NOPLACEHOLDERS is equivalent
to /DESIGN=(COMMENTS,NOPLACEHOLDERS). In this case, both
qualifiers specify that comment information is collected, but
the unit is not design-checked (that is, in the absence of the
/SYNTAX_ONLY qualifier, units are fully compiled).
10. 3.12 - /DIAGNOSTICS
/DIAGNOSTICS[=file-spec]
/NODIAGNOSTICS (D)
Controls whether a diagnostics file containing compiler messages
and diagnostic information is created. The diagnostics file is
supported only for use with Digital layered products, such as the
DEC Language-Sensitive Editor.
One diagnostics file is created for each source file that is
compiled and for each unit that is recompiled. The default
directory for diagnostics files is the current default directory.
The default file name is the name of the source file being
compiled. The default file type of a diagnostics file is .DIA.
No wildcard characters are allowed in the file specification.
By default, no diagnostics file is created.
10. 3.13 - /ERROR_LIMIT
/ERROR_LIMIT[=n] (D)
/NOERROR_LIMIT
Controls whether execution of the COMPILE command for a given
compilation unit is terminated upon the occurrence of the nth
E-level error within that unit.
Error counts are not accumulated across a sequence of compilation
units. If the /ERROR_LIMIT=n option is specified, each
compilation unit may have up to n - 1 errors without terminating
the compilation. When the error limit is reached within a
compilation unit, compilation of that unit is terminated, but
compilation of subsequent units continues.
The /ERROR_LIMIT=0 option is equivalent to ERROR_LIMIT=1.
By default, execution of the COMPILE command is terminated for
a given compilation unit upon the occurrence of the 30th E-level
error within that unit (equivalent to /ERROR_LIMIT=30).
10. 3.14 - /EXPORT_INTERFACE
/EXPORT_INTERFACE=ADA (D)
/EXPORT_INTERFACE=FORTRAN
/EXPORT_INTERFACE=DEFAULT
This qualifier sets the passing mechanism chosen for string parameters
for exported subprograms unless an export pragma specifically specifies
the passing mechanism.
The default is ADA, which uses dope vectors for the passing mechanism.
FORTRAN or DEFAULT will use VAX descriptors for the passing mechanism.
For more information, please see the Compaq Ada release notes.
10. 3.15 - /KEEP
/KEEP (D)
/NOKEEP
Controls whether the batch log file generated is deleted after it
is printed when the command file is executed in batch mode.
By default, the log file is not deleted.
10. 3.16 - /LIST
/LIST[=file-spec]
/NOLIST (D)
Controls whether a listing file is created. One listing file
is created for each compilation unit (not file) compiled or
recompiled by the COMPILE command.
The default directory for listing files is the current default
directory. The default file name of a listing file corresponds
to the name of its compilation unit and uses the Compaq Ada file-
name conventions described in Developing Ada Programs on OpenVMS
Systems. The default file type of a listing file is .LIS. No
wildcard characters are allowed in the file specification.
By default, the COMPILE command does not create a listing file.
10. 3.17 - /LOG
/LOG
/NOLOG (D)
Controls whether a list of all the units that must be compiled or
recompiled is displayed.
By default, a list of the units that must be compiled or
recompiled is not displayed.
10. 3.18 - /MACHINE_CODE
/MACHINE_CODE
/NOMACHINE_CODE (D)
Controls whether generated machine code (approximating assembler
notation) is included in the listing file.
By default, generated machine code is not included in the listing
file.
10. 3.19 - /NAME
/NAME=job-name
Specifies a string to be used as the job name and as the file
name for the batch log file when the command file is executed in
batch mode. The job name can have from 1 to 39 characters.
By default, if you do not specify the /NAME qualifier, the
program library manager creates a job name comprising up to the
first 39 characters of the first unit name specified. If you do
not specify the /NAME qualifier, but use a wildcard character in
the first unit name specified, the compiler uses the default name
ACS_COMPILE. In these cases, the job name is also the file name
of the batch log file.
10. 3.20 - /NOTE_SOURCE
/NOTE_SOURCE (D)
/NONOTE_SOURCE
Controls whether the file specification of the source file is
noted in the program library when a unit is compiled without
error. The COMPILE command uses this information to locate
revised source files.
By default, the file specification of the source file is noted
in the current program library when a unit is compiled without
error.
10. 3.21 - /NOTIFY
/NOTIFY (D)
/NONOTIFY
Controls whether a message is broadcast when the command file is
executed in batch mode. The message is broadcast to any terminal
at which you are logged in, notifying you that your job has been
completed or terminated.
By default, a message is broadcast.
10. 3.22 - /OBSOLETE
/OBSOLETE=(option[,...])
/NOOBSOLETE (D)
Affects the overall set of units that is identified as obsolete.
When the execution closure of the units in the parameter list
of the command is performed, the units named with the UNIT,
SPECIFICATION and BODY keywords are assumed to be obsolete as
described below. If one of those units is not in the execution
closure of the units named in the command's parameter list, it is
not added to the closure.
Unit names are specified with the UNIT, SPECIFICATION, and BODY
keywords as follows:
UNIT:(unit_ The specifications and bodies of units
name[,...]) specified with the UNIT keyword are assumed
to be obsolete.
SPECIFICATION:(unit_ Only the specificiations of units specified
name[,...]) with the SPECIFICATION keyword are assumed
to be obsolete.
BODY:(unit_ Only the bodies of units specified with the
name[,...]) BODY keyword are assumed to be obsolete.
You must specify at least one of these keywords with the
/OBSOLETE qualifier. Unit names can contain wildcard characters.
When the /SMART_RECOMPILATION qualifier is in effect, dependent
units of the specified units are possibly obsolete and may be
recompiled. To force recompilation of dependent units when smart
recompilation is in effect, use the /OBSOLETE=UNIT:* qualifier.
(See Developing Ada Programs on OpenVMS Systems for more information.)
By default, units are identified as obsolete based on the current
state of the program library.
10. 3.23 - /OPTIMIZE
/OPTIMIZE[=(option[,...])]
/NOOPTIMIZE
Controls the level of optimization that is applied in producing
the compiled code. You can specify one of the following primary
options:
TIME Provides full optimization with time as the primary
optimization criterion. Overrides any occurrences
of the pragma OPTIMIZE(SPACE) in the source code.
SPACE Provides full optimization with space as the
primary optimization criterion. Overrides any
occurrences of the pragma OPTIMIZE(TIME) in the
source code.
DEVELOPMENT Suggested when active development of a program
is in progress. Provides some optimization, but
development considerations and ease of debugging
take preference over optimization. This option
overrides pragmas that establish a dependence on
a subprogram or generic body (the pragmas INLINE
and INLINE_GENERIC), and therefore reduces the need for
recompilations when such bodies are modified. This
option also disables generic code sharing.
NONE Provides no optimization. Suppresses inline
expansions of subprograms and generics, including
those specified by the pragmas INLINE and INLINE_
GENERIC. Suppresses occurrences of the pragma
SHARE_GENERIC and disables generic code sharing.
The /NOOPTIMIZE qualifier is equivalent to /OPTIMIZE=NONE.
By default, the COMPILE command applies full optimization with
time as the primary optimization criterion (like /OPTIMIZE=TIME,
but observing uses of the pragma OPTIMIZE).
The /OPTIMIZE qualifier also has a set of secondary options that
you can use separately or together with the primary options to
override the default behavior for inline expansion (generic and
subprogram) and generic code sharing.
The INLINE secondary option can have the following values (see
the DEC Ada Run-Time Reference Manual for OpenVMS Systems for
more information about inline expansion):
NONE Disables subprogram and generic inline
expansion. This option overrides any occurrences
of the pragmas INLINE or INLINE_GENERIC in the
source code, without your having to edit the
source file. It also disables implicit inline
expansion of subprograms. (Implicit inline
expansion means that the compiler assumes a
pragma INLINE for certain subprograms as an
optimization.) A call to a subprogram or an
instance of a generic in another unit is not
expanded inline, regardless of the /OPTIMIZE
options in effect when that unit was compiled.
NORMAL Provides normal subprogram and generic inline
expansion.
Subprograms to which an explicit pragma INLINE
applies are expanded inline under certain
conditions. In addition, some subprograms are
implicitly expanded inline. The compiler assumes
a pragma INLINE for calls to some small local
subprograms (subprograms that are declared in
the same unit as the unit in which the call
occurs).
Instances are compiled separately from the unit
in which the instantiation occurred unless a
pragma INLINE_GENERIC applies to the instance.
If a pragma INLINE_GENERIC applies and the
generic body has been compiled, the generic is
expanded inline at the point of instantiation.
SUBPROGRAMS Provides maximal subprogram inline expansion and
normal generic inline expansion.
In addition to the normal subprogram inline
expansion that occurs when INLINE:NORMAL is
specified, this option results in implicit
inline expansion of some small subprograms
declared in other units. The compiler assumes a
pragma INLINE for any subprogram if it improves
execution speed and reduces code size. This
option may establish a dependence on the body of
another unit, as would be the case if a pragma
INLINE were specified explicitly in the source
code.
With this option, generic inline expansion
occurs in the same manner as for INLINE:NORMAL.
GENERICS Provides normal subprogram inline expansion and
maximal generic inline expansion.
With this option, subprogram inline expansion
occurs in the same manner as for INLINE:NORMAL.
The compiler assumes a pragma INLINE_GENERIC for
every instantiation in the unit being compiled
unless an explicit pragma SHARE_GENERIC applies.
This option may establish a dependence on the
body of another unit, as would be the case if a
pragma INLINE_GENERIC were specified explicitly
in the source code.
MAXIMAL Provides maximal subprogram and generic inline
expansion.
Maximal subprogram inline expansion occurs as
for INLINE:SUBPROGRAMS, and maximal generic
inline expansion occurs as for INLINE:GENERICS.
The SHARE secondary option can have the following values:
NONE Disables generic sharing. This option overrides
the effect of any occurrences of the pragma SHARE_
GENERIC in the source code, without your having to
edit the source file. In addition, instances do not
share code from previous instantiations.
NORMAL Provides normal generic sharing. Normally, the
compiler will not attempt to generate shareable
code for an instance (code that can shared by
subsequent instantiations) unless an explicit
pragma SHARE_GENERIC applies to that instance.
However, an instance will attempt to share code
that resulted from a previous instantiation to
which the pragma SHARE_GENERIC applied.
MAXIMAL Provides maximal generic sharing. The compiler
assumes that a pragma SHARE_GENERIC applies to
every instance in the unit being compiled unless
an explicit pragma INLINE_GENERIC applies. Therefore, an
instance will attempt to share code that resulted
from a previous instantiation or to generate code
that can be shared by subsequent instantiations.
SHARE:MAXIMAL cannot be used in combination with
INLINE:GENERICS or INLINE:MAXIMAL.
By default, if you specify one of the /OPTIMIZE
qualifier primary options on the left (for example,
/OPTIMIZE=TIME), it has the same effect as specifying
the secondary-option values to the right (in this case,
/OPTIMIZE=(TIME,INLINE:NORMAL,SHARE:NORMAL)):
TIME /OPTIMIZE=(TIME,INLINE:NORMAL,SHARE:NORMAL)
SPACE /OPTIMIZE=(SPACE,INLINE:NORMAL,SHARE:NORMAL)
DEVELOPMENT /OPTIMIZE=(DEVELOPMENT,INLINE:NONE,SHARE:NONE)
NONE /OPTIMIZE=(NONE,INLINE:NONE,SHARE:NONE)
See Developing Ada Programs on OpenVMS Systems for more
information about the /OPTIMIZE qualifier and its options.
10. 3.24 - /OUTPUT
/OUTPUT=file-spec
Requests that any program library manager output generated before
the compiler is invoked be written to the file specified rather
than to SYS$OUTPUT. Any diagnostic messages are written to both
SYS$OUTPUT and the file.
The default directory is the current default directory. If you
specify a file type but omit the file name, the default file name
is ACS. The default file type is .LIS. No wildcard characters are
allowed in the file specification.
By default, the COMPILE command output is written to SYS$OUTPUT.
10. 3.25 - /PRELOAD
/PRELOAD (D)
/NOPRELOAD
Controls whether the COMPILE command processes revised external
source files so that new compilation units or unit dependences
introduced in those files-or any new source files previously
processed by the ACS LOAD or DCL ADA command-are accounted for.
Preload processing involves the partial compilation and syntax
checking of the following files:
o Any external source file whose creation date-time is later
than that noted in the program library
o Any new units introduced into the closure of units specified
by way of modifications to the known external source files
(preload processing does not include new external source files
that are not already accounted for in the program library)
Preload processing is done immediately, after the creation date-
time of each external source file is checked, and before the
usual COMPILE compilations and recompilations are performed. If
you have also specified the /CONFIRM qualifier, you are prompted
for confirmation for each external file to be preloaded.
By default, the COMPILE command processes revised external source
files to account for new compilation units or unit dependences.
10. 3.26 - /PRINTER
/PRINTER[=queue-name]
/NOPRINTER (D)
Controls whether the batch job log file is queued for printing
when the command file is executed in batch mode.
The /PRINTER qualifier allows you to specify a particular print
queue. The default print queue for the log file is SYS$PRINT.
By default, the log file is not queued for printing. If you
specify the /NOPRINTER qualifier, the /KEEP qualifier is assumed.
10. 3.27 - /QUEUE
/QUEUE=queue-name
Specifies the batch job queue in which the job is entered when
the command file is executed in batch mode.
By default, if the /QUEUE qualifier is not specified, the program
library manager first checks whether the logical name ADA$BATCH
is defined. If it is, the program library manager enters the
job in the queue specified. Otherwise the job is placed in the
default system batch job queue, SYS$BATCH.
10. 3.28 - /SHOW
/SHOW[=option] (D)
/NOSHOW
Controls the listing file options included when a listing file is
provided. You can specify one of the following options:
ALL Provides all listing file options.
[NO]PORTABILITYControls whether a program portability summary is
included in the listing file (see Developing Ada
Programs on OpenVMS Systems).
NONE Provides none of the listing file options (same as
/NOSHOW).
By default, the COMPILE command provides a portability summary
(/SHOW=PORTABILITY).
10. 3.29 - /SMART_RECOMPILATION
/SMART_RECOMPILATION (D)
/NOSMART_RECOMPILATION
Controls whether smart recompilation information is stored and
used to minimize unnecessary recompilations.
When the /SMART_RECOMPILATION qualifier is in effect, detailed
information about dependences is stored in the program
library for each unit compiled. This information describes the
dependences of a unit at a finer level than the compilation unit
level.
The ACS COMPILE command uses this information to detect when an
unmodified unit in the closure is not affected by changes (if
any) in its referenced units that are compiled or recompiled. The
ACS COMPILE command does not recompile such dependent units and,
therefore, minimizes unnecessary recompilations.
Note that the ACS COMPILE command always compiles modified units.
If smart recompilation is not in effect, detailed information
about dependences is not stored in the program library, and units
are considered obsolete and recompiled based on their time of
compilation. (See Developing Ada Programs on OpenVMS Systems for
more information.)
10. 3.30 - /SPECIFICATION_ONLY
/SPECIFICATION_ONLY
Causes only the specifications of the units specified to be
considered for compilation. You can use the /CLOSURE qualifier
with the /SPECIFICATION_ONLY qualifier to force only the
specifications in the execution closure of the specified units
to be considered for compilation.
By default, if the /SPECIFICATION_ONLY qualifier is omitted,
all of the specifications, bodies, and subunits in the execution
closure of the units specified are considered for compilation.
10. 3.31 - /STATISTICS
/STATISTICS (D)
/NOSTATISTICS
Controls whether statistical information is displayed.
Statistical information includes the number of obsolete and
possibly obsolete units, the total elasped time for the last
compilation of all identified units, and the estimated elasped
time savings due to smart recompilation.
10. 3.32 - /SUBMIT
/SUBMIT
Directs the program library manager to submit the command file
generated for the compiler to a batch queue. You can continue to
enter commands in your current process without waiting for the
batch job to complete. The compiler output is written to a log
file.
By default, the program library manager submits the command file
generated for the compiler in a subprocess (by way of the COMPILE
/WAIT command).
10. 3.33 - /SYNTAX_ONLY
/SYNTAX_ONLY
/NOSYNTAX_ONLY (D)
Controls whether a syntax-level check is performed when
identifying obsolete units. A unit is not considered obsolete
just because it is syntax-checked only. Because all units in a
program library are at least syntax-checked, in effect, this
qualifier selects only units with revised source files for
compilation.
This qualifier also directs the compiler to process source files
for syntax only. Other compiler checks are not performed (for
example, semantic analysis, type checking, and so on).
By default, the COMPILE command performs full checking when
identifying obsolete units and the compiler fully compiles
units.)
10. 3.34 - /TUNE
Selects processor-specific instruction tuning for implementations of
the Alpha architecture. Tuning for a specific implementation can
provide improvements in runtime performance. The syntax for this switch
is as follows:
/TUNE = { GENERIC | HOST | EV4 | EV5 | EV56 }
For more information, see the Release Notes.
10. 3.35 - /WAIT
/WAIT
Directs the program library manager to execute the command file
generated in a subprocess. Execution of your current process is
suspended until the subprocess completes. The compiler output
is written directly to your terminal. Note that process logical
names are propagated to the subprocess generated to execute the
command file.
By default, the program library manager executes the command file
generated in a subprocess. You must wait for the subprocess to
terminate before you can enter another command.
10. 3.36 - /WARNINGS
/WARNINGS[=(option[,...])]
/NOWARNINGS
Controls which categories of informational (I-level) and warning
(W-level) messages are displayed and where those messages are
displayed. You can specify any combination of the following
message options:
WARNINGS: (destination[,...])
NOWARNINGS
WEAK_WARNINGS: (destination[,...])
NOWEAK_WARNINGS
SUPPLEMENTAL: (destination[,...])
NOSUPPLEMENTAL
COMPILATION_NOTES: (destination[,...])
NOCOMPILATION_NOTES
STATUS: (destination[,...])
NOSTATUS
The possible values of destination are ALL, NONE, or any
combination of TERMINAL (terminal device), LISTING (listing
file), and DIAGNOSTICS (diagnostics file). The message categories
are summarized as follows (see Developing Ada Programs on OpenVMS
Systems for more information):
WARNINGS W-level: Indicates a definite problem in a legal
program-for example, an unknown pragma.
WEAK_WARNINGS I-level: Indicates a potential problem in
a legal program-for example, a possible
CONSTRAINT_ERROR at run time. These are the only
kind of I-level messages that are counted in the
summary statistics at the end of a compilation.
SUPPLEMENTAL I-level: Additional information associated with
preceding E-level or W-level diagnostics.
COMPILATION_ I-level: Information about how the compiler
NOTES translated a program, such as record layout,
parameter-passing mechanisms, or decisions
made for the pragmas INLINE, INTERFACE, or the
import-subprogram pragmas.
STATUS I-level: End of compilation statistics and other
messages.
The defaults are as follows:
/WARNINGS=(WARN:ALL,WEAK:ALL,SUPP:ALL,COMP:NONE,STAT:LIST)
If you specify only some of the message categories with the
/WARNINGS qualifier, the default values for the other categories
are used.
10.4 - Examples
1.ACS> COMPILE/SUBMIT/LOG RESERVATIONS
%I, Invoking the DEC Ada compiler
%I, The following syntax-checked units are obsolete:
RESERVATIONS
package body 4-NOV-1992 16:25:34.68 (00:00:14.02)
%I, The following units may also be recompiled:
RESERVATIONS.RESERVE
procedure body 4-NOV-1992 14:49:55.78 (00:00:04.27)
RESERVATIONS.RESERVE.BILL
procedure body 4-NOV-1992 14:50:01.55 (00:00:05.12)
RESERVATIONS.CANCEL
procedure body 4-NOV-1992 14:51:36.25 (00:00:04.24)
1 obsolete unit, 3 possibly obsolete units (total 4)
Total elapsed time for last compilation of all 4 units was 0:00:27.65
%I, Job RESERVATIONS (queue CLU_BATCH, entry 388) started on WIDTH_BATCH
Lists all units in the closure of unit RESERVATIONS that
need to be compiled and recompiled, then submits the compiler
command file generated by ACS as a batch job.
2.$ ACS COMPILE MAIN /OBSOLETE=UNIT:*
This combination can be used to force the compilation of the
unit MAIN and of all the units in its closure.
| 11 - COPY |
11.1 - FOREIGN
Copies a foreign (non-Ada) object file into the current program
library. The file is used as a library body (body of a package,
procedure, or function).
Format
COPY FOREIGN file-spec unit-name
11. 1.1 - Parameters
file-spec
Specifies the object file containing the foreign body to be
copied into the current program library. The default directory
is the current default directory. The default file type is .OBJ.
No wildcard characters are allowed in the file specification.
unit-name
Specifies the unit whose body is to be copied into the current
program library with the ACS COPY FOREIGN command.
11. 1.2 - Description
The ACS COPY FOREIGN command copies a foreign (non-Ada) object
file into the current program library. Because the file is used
as a library body, the program library must contain a library
specification for the unit, and the specification must contain
the pragma INTERFACE and (if appropriate) a pragma IMPORT_
FUNCTION, IMPORT_PROCEDURE, or IMPORT_VALUED_PROCEDURE for any
procedure or function that the specification requires.
Once you supply a foreign body for a unit, the program library
manager assumes that the body is current until you supply a
new (Ada or foreign) definition of the body. Compiling the
specification of the unit does not cause the body to become
obsolete.
11. 1.3 - Command Qualifiers
11. 1. 3.1 - /LOG
/LOG
/NOLOG (D)
Controls whether the unit name and object-file name are displayed
after the object file is copied.
By default, the unit name or object-file name is not displayed.
11. 1. 3.2 - /REPLACE
/REPLACE
/NOREPLACE (D)
Controls whether the specified file replaces a body that is
already defined in the current program library for the unit name
specified.
By default, the specified file does not replace a body that is
already defined in the current program library for the unit name
specified.
11. 1.4 - Example
ACS> COPY FOREIGN USER:[JONES.WORK]SQUARE SQR
Copies the object file SQUARE.OBJ from the directory
USER:[JONES.WORK] into the current program library as the body
of unit SQR. The specification of SQR must already be defined
in the current program library.
11.2 - UNIT
Copies one or more units from another program library into the
current program library.
Format
COPY UNIT from-directory-spec unit-name[,...]
11. 2.1 - Parameters
from-directory-spec
Specifies the program library or program sublibrary that contains
the units to be copied into the current program library.
unit-name
Specifies one or more units to be copied into the current program
library. You must express subunit names using selected component
notation as follows:
ancestor-unit-name{.parent-unit-name}.subunit-name
The unit names may include percent signs (%) and asterisks (*)
as wildcard characters. (See the OpenVMS User's Manual for more
information on wildcard characters.)
11. 2.2 - Description
The ACS COPY UNIT command copies, into the current program
library, each specified unit's specification and body (if any).
If the specified unit is a subunit, the COPY UNIT command copies
the subunit and any nested subunits. If you specify the /CLOSURE
qualifier, the COPY UNIT command copies the closure of the set of
units specified.
For each unit copied, the COPY UNIT command updates the current
program library as follows:
1. Creates local copies of all associated files
2. Updates the library index file of the current program library
to account for the new files, and notes the date and time the
unit was last compiled into its original program library
Copying a unit that was entered into a program library produces a
local copy of that unit.
The COPY UNIT command does not affect the program library from
which a unit is copied. Modifying the unit in the original
program library does not affect the copied unit.
Once a unit is copied to a given program library, it can be used
as if it had been compiled locally.
11. 2.3 - Command Qualifiers
11. 2. 3.1 - /CLOSURE
/CLOSURE
/NOCLOSURE (D)
Controls whether the COPY UNIT command copies the closure of the
set of units specified into the current program library.
By default, only the specification and body of the units
specified are copied.
11. 2. 3.2 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the COPY UNIT command displays the name of each
unit before copying, and requests you to confirm whether or not
the unit should be copied. If you specify the /CONFIRM qualifier,
the possible responses are as follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
o QUIT or Ctrl/Z indicates that you want to stop processing the
command at that point.
o ALL indicates that you want to continue processing the command
without any further prompts.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the confirmation prompt is
reissued.
By default, no confirmation is requested.
11. 2. 3.3 - /ENTERED
/ENTERED[=library] (D)
/NOENTERED
Controls whether entered units are copied. You can use the
library option to copy units that were entered from a particular
library. When you specify the /NOENTERED qualifier, only units
that have been compiled or copied into the current program
library are copied. Note that when you specify the /ENTERED
qualifier, local units are copied unless the /NOLOCAL qualifier
is also in effect (the defaults for these qualifiers are /LOCAL
and /ENTERED).
By default, all units specified, including entered units, are
copied.
11. 2. 3.4 - /LOCAL
/LOCAL (D)
/NOLOCAL
Controls whether local units (those units that were added to the
library by a compilation or a COPY UNIT command) are copied. Note
that when you specify the /LOCAL qualifier, entered units are
copied unless the /NOENTERED qualifier is also in effect (the
defaults for these qualifiers are /LOCAL and /ENTERED).
By default, all units specified, including local units, are
copied.
11. 2. 3.5 - /LOG
/LOG
/NOLOG (D)
Controls whether the name of a unit is displayed after it has
been copied.
By default, the names of copied units are not displayed.
11. 2. 3.6 - /REPLACE
/REPLACE
/NOREPLACE (D)
Controls whether the unit to be copied replaces a unit of the
same name that is already defined in the current program library.
By default, the unit to be copied does not replace a unit of the
same name that is already defined in the current program library.
11. 2.4 - Positional Qualifiers
11. 2. 4.1 - /BODY_ONLY
/BODY_ONLY
Copies only the body of the specified unit.
When you append the /BODY_ONLY qualifier to the COPY UNIT command
string, any /SPECIFICATION_ONLY qualifiers that are appended to
parameters in the command line override the /SPECIFICATION_ONLY
qualifier for those particular parameters. You cannot append both
the /BODY_ONLY qualifier and the /SPECIFICATION_ONLY qualifier to
the COPY UNIT command string or to the same unit name parameter.
By default, if the /BODY_ONLY qualifier is omitted, the
specification, as well as the body, is copied.
11. 2. 4.2 - /SPECIFICATION_ONLY
/SPECIFICATION_ONLY
Copies only the specification of the specified unit.
When you append the /SPECIFICATION_ONLY qualifier to the COPY
UNIT command string, any /BODY_ONLY qualifiers that are appended
to parameters in the command line override the /BODY_ONLY
qualifier for those particular parameters. You cannot append both
the /SPECIFICATION_ONLY qualifier and the /BODY_ONLY qualifier to
the COPY UNIT command string or to the same unit name parameter.
By default, if the /SPECIFICATION_ONLY qualifier is omitted, the
body, as well as the specification, is copied.
11. 2.5 - Examples
1.ACS> COPY UNIT [SMITH.WORK.ADALIB] STACKS,SUM
Copies the units STACKS and SUM, located in the program library
[SMITH.WORK.ADALIB], into the current program library.
2.ACS> COPY UNIT/CLOSURE DISK:[SMITH.SHARE.ADALIB] QUEUE_MANAGER
Copies the closure of unit QUEUE_MANAGER from
DISK:[SMITH.SHARE.ADALIB] into the current program library.
3.ACS> COPY UNIT DISK:[PROJ.ADALIB] STACKS*
Copies the specification, body, and all of the subunits of the
unit STACKS from the program library DISK:[PROJ.ADALIB] to the
current program library.
| 12 - CREATE |
12.1 - LIBRARY
Creates a new Compaq Ada program library. To create a program
sublibrary, use the ACS CREATE SUBLIBRARY command.
Note that you cannot create a program library across DECnet if a
corresponding OpenVMS directory does not already exist.
Format
CREATE LIBRARY directory-spec
12. 1.1 - Parameters
directory-spec
Specifies the program library to be created. The directory
specification must contain a OpenVMS directory name and,
optionally, a device name (see the OpenVMS User's Manual for
OpenVMS directory naming conventions). The directory may be
a subdirectory or a main (top-level) directory. No wildcard
characters are allowed in the directory specification.
The program libraries you create will typically be subdirectories
of your main (top-level) directory. To create a program library
as a top-level directory, you must have the necessary privileges.
To create a subdirectory, you must have write access to the
lowest level directory that currently exists.
The directory specified to be a program library may be an
existing empty directory, to allow you to use special ACL (access
control list) options for that directory. See the OpenVMS User's
Manual and the VMS Access Control List Editor Manual for more
information on directory protection and ACL options.
12. 1.2 - Description
The ACS CREATE LIBRARY command creates and initializes a new
program library by performing the following steps:
1. Creates the specified OpenVMS directory, unless it already
exists. If the directory already exists before the CREATE
LIBRARY command is entered, the original directory protection
attributes are maintained. If the directory does not exist
when the command is entered, the command creates the specified
directory with default protection attributes (see the
description of the /PROTECTION qualifier).
2. Creates a library index file (ADALIB.ALB) and a library
version control file (ADA$LIB.DAT) in the program library.
3. Initializes the program library to the following system
characteristics:
FLOAT_REPRESENTATION=VAX_FLOAT
LONG_FLOAT = G_FLOAT
MEMORY_SIZE = 2147483647
SYSTEM_NAME = VAX_VMS or OpenVMS_AXP
You change these characteristics with the ACS SET PRAGMA
command or with the /SYSTEM_NAME qualifier that applies to
the ACS CREATE LIBRARY, CREATE SUBLIBRARY, EXPORT, and LINK
commands.
4. If the /PREDEFINED qualifier is specified (the default),
enters into the newly created program library the Compaq Ada
predefined units (such as SYSTEM and TEXT_IO) that are located
in the ADA$PREDEFINED program library on your system. This
is equivalent to entering an ACS ENTER UNIT command for those
predefined units. You can use the /NOPREDEFINED qualifier to
change this default.
The CREATE LIBRARY command does not define a new program library
to be the current program library. You must use the ACS SET
LIBRARY command to define the current program library.
12. 1.3 - Command Qualifiers
12. 1. 3.1 - /FLOAT_REPRESENTATION
/FLOAT_REPRESENTATION=VAX_FLOAT (D)
Initializes the program library to a particular value of FLOAT_
REPRESENTATION. The possible values are either VAX_FLOAT or IEEE_
FLOAT (for Alpha systems only). The effect of this qualifier is
similar to compiling a pragma FLOAT_REPRESENTATION.
By default, if the /FLOAT_REPRESENTATION qualifier is not
specified, the program library is initialized to VAX_FLOAT.
12. 1. 3.2 - /LARGE
/LARGE
/NOLARGE (D)
Controls whether the program library manager creates
subdirectories within the library directory to store library
files for units compiled into the library. When the /NOLARGE
qualifier is in effect (the default), the program library manager
does not create subdirectories and stores unit library files in
the library directory.
When this qualifier is in effect, creating sublibrary directories
to store library files can improve the compilation performance
of large program libraries. (See the Developing Ada Programs on
OpenVMS Systems and the release notes for more information.)
12. 1. 3.3 - /LOG
/LOG (D)
/NOLOG
Controls whether the program library directory specification is
displayed after the library has been created.
By default, the program library directory specification is
displayed.
12. 1. 3.4 - /LONG_FLOAT
/LONG_FLOAT=option
Initializes the program library to a particular value of LONG_
FLOAT. The possible values are D_FLOAT and G_FLOAT. The effect of
this qualifier is equivalent to compiling a pragma LONG_FLOAT.
By default, if the /LONG_FLOAT qualifier is not specified, the
program sublibrary is initialized to the value G_FLOAT.
12. 1. 3.5 - /MEMORY_SIZE
/MEMORY_SIZE=n
Initializes the memory size of the program library to the
value n. The effect of this qualifier is equivalent to compiling
a pragma MEMORY_SIZE.
By default, if the /MEMORY_SIZE qualifier is not specified,
the initial memory size of the program library is 2,147,483,647
bytes.
12. 1. 3.6 - /PREDEFINED
/PREDEFINED (D)
/NOPREDEFINED
Controls whether the Compaq Ada predefined units located in the
program library denoted by the logical name ADA$PREDEFINED are
entered into the specified program library.
By default, the Compaq Ada predefined units are entered into the
specified program library.
12. 1. 3.7 - /PROTECTION
/PROTECTION=(code)
Defines the file protection to be applied to the program library.
File protection is specified as follows:
/PROTECTION=(SYSTEM:rwed,OWNER:rwed,GROUP:rwed,WORLD:rwed)
Refer to the OpenVMS User's Manual for complete information on
the form and meaning of file protection codes.
If you want to deny all access to a category, you must specify
the category name without a colon. For example:
/PROTECTION=(OWNER:RWE,GROUP,WORLD)
If you do not specify a value for each access category, or if
you omit the /PROTECTION qualifier when you create the program
library, standard VMS directory and file protection defaults are
applied as follows:
o The directory protection defaults from the next-higher-level
directory, less any delete access.
o Protection for the library index file (ADALIB.ALB) and
library version control file (ADA$LIB.DAT) defaults from the
process default protection (see the DCL SET PROTECTION/DEFAULT
command).
See Developing Ada Programs on OpenVMS Systems for more
information on program library protection.
12. 1. 3.8 - /SYSTEM_NAME
/SYSTEM_NAME=system
Determines the target operating system for the program library.
On VAX systems, the possible system values are VAX_VMS and
VAXELN. On Alpha systems, the system value is OpenVMS_AXP.
By default, if the /SYSTEM_NAME qualifier is not specified, the
initial target operating system is VAX_VMS on VAX systems and
OpenVMS_AXP on Alpha systems.
12. 1.4 - Examples
1.ACS> CREATE LIBRARY [JONES.HOTEL.ADALIB]
%I, Library USER:[JONES.HOTEL.ADALIB] created
Creates the program library [JONES.HOTEL.ADALIB] on the default
device, USER:.
2.ACS> CREATE LIBRARY/PROTECTION=(S:RWE,O:RWED,G:RW,W) -
_ACS> [PROJ.ADALIB]
%I, Program library USER:[PROJ.ADALIB] created
Creates the program library [PROJ.ADALIB] on the default
device, USER. The /PROTECTION qualifier assigns the specified
program library protection. This protection is applied to the
library index file, the library version control file, and the
directory file for the newly created program library.
12.2 - SUBLIBRARY
Creates a new Compaq Ada program sublibrary and establishes its
parent program library.
Note that you cannot create a program sublibrary across DECnet if
the corresponding OpenVMS directory does not already exist.
Format
CREATE SUBLIBRARY directory-spec
12. 2.1 - Parameters
directory-spec
Specifies the program sublibrary to be created. The directory
specification must contain a OpenVMS directory name and,
optionally, a device name (see the OpenVMS User's Manual for VMS
directory naming conventions). No wildcard characters are allowed
in the directory specification.
You may use any valid OpenVMS directory specification when
creating a program sublibrary; however, the program sublibraries
you create will typically be subdirectories of your main (top-
level) directory.
The specified program sublibrary directory may be, but need not
be, a subdirectory of the parent library directory.
The directory specified to be a program sublibrary may be an
existing empty directory. This allows you to use special ACL
(access control list) options for that directory. In that case,
the CREATE SUBLIBRARY command makes the directory a program
library. See the OpenVMS User's Manual and the VMS Access Control
List Editor Manual for more information on directory protection
and ACL options.
12. 2.2 - Description
The ACS CREATE SUBLIBRARY command creates and initializes a new
program sublibrary by performing the following steps:
1. Checks that the parent library exists and is write accessible.
2. Creates the specified OpenVMS directory, unless it already
exists. If the directory already existed before the CREATE
SUBLIBRARY command was entered, the original directory
protection attributes are maintained. If the directory did
not exist before the command was entered, the command creates
the specified directory with default protection attributes
(see the description of the /PROTECTION qualifier).
3. Creates a library index file (ADALIB.ALB) and a library
version control file (ADA$LIB.DAT) in the program sublibrary.
4. Initializes the library index file to reference the parent
program library as specified with the /PARENT qualifier. If
the /PARENT qualifier is not used, the parent program library
is the current program library.
5. Initializes the program sublibrary to the parent library's
current values for FLOAT_REPRESENTATION, LONG_FLOAT, MEMORY_
SIZE, and SYSTEM_NAME.
Program sublibraries may be nested several levels deep. However,
you should limit nesting to three or four levels for best
performance. Note that the OpenVMS operating system imposes
limits on how deeply directories and subdirectories can be
nested. This limit has an effect only if you use increasingly
subordinate subdirectories for each sublibrary in your sublibrary
tree.
The CREATE SUBLIBRARY command does not affect the definition of
your current program library. If you want to define the newly
created program sublibrary to be the current program library, you
must use the ACS SET LIBRARY command.
12. 2.3 - Command Qualifiers
12. 2. 3.1 - /FLOAT_REPRESENTATION
/FLOAT_REPRESENTATION=VAX_FLOAT (D)
Initializes the program library to a particular value of FLOAT_
REPRESENTATION. The possible values are either VAX_FLOAT or IEEE_
FLOAT (for Alpha systems only). The effect of this qualifier is
similar to compiling a pragma FLOAT_REPRESENTATION.
By default, if the /FLOAT_REPRESENTATION qualifier is not
specified, the program library is initialized to VAX_FLOAT.
12. 2. 3.2 - /LOG
/LOG (D)
/NOLOG
Controls whether the program sublibrary directory specification
is displayed after the sublibrary has been created.
By default, the program sublibrary directory specification is
displayed.
12. 2. 3.3 - /LONG_FLOAT
/LONG_FLOAT=option
Initializes the program library to a particular value of LONG_
FLOAT. The possible values are D_FLOAT and G_FLOAT.
By default, if the /LONG_FLOAT qualifier is not specified, the
program sublibrary is initialized to the parent library's current
value of LONG_FLOAT.
12. 2. 3.4 - /MEMORY_SIZE
/MEMORY_SIZE=n
Initializes the memory size of the created program sublibrary.
By default, if the /MEMORY_SIZE qualifier is not specified,
the initial memory size of the program sublibrary is the parent
library's current value of MEMORY_SIZE.
12. 2. 3.5 - /PARENT
/PARENT=directory-spec
Specifies the program library or program sublibrary that is the
immediate parent of the program sublibrary to be created.
By default, if the /PARENT qualifier is not specified, the parent
is the current program library as established by the last ACS SET
LIBRARY command.
12. 2. 3.6 - /PROTECTION
/PROTECTION=(code)
Defines the file protection to be applied to the program
sublibrary. File protection is specified as follows:
/PROTECTION=(SYSTEM:rwed,OWNER:rwed,GROUP:rwed,WORLD:rwed)
Refer to the OpenVMS User's Manual for complete information on
the form and meaning of file protection codes.
If you want to deny all access to a category, you must specify
the category name without a colon. For example:
/PROTECTION=(OWNER:RWE,GROUP,WORLD)
If you do not specify a value for each access category, or if
you omit the /PROTECTION qualifier when you create the program
library, standard VMS directory and file protection defaults are
applied as follows:
o The directory protection defaults from the next-higher-level
directory, less any delete access.
o Protection for the library index file (ADALIB.ALB) and library
version control file (ADA$LIB.DAT) defaults from the process
default protection (see the DCL SET PROTECTION/DEFAULT command
in the OpenVMS DCL Dictionary).
See Developing Ada Programs on OpenVMS Systems for more
information on program library protection.
12. 2. 3.7 - /SYSTEM_NAME
/SYSTEM_NAME=system
Initializes the target operating system of the program
sublibrary. On VAX systems, the possible system values are VAX_
VMS and VAXELN. On Alpha systems, the system value is OpenVMS_AXP.
By default, if the /SYSTEM_NAME qualifier is not specified, the
initial target operating system is the parent library's current
value of SYSTEM_NAME.
12. 2.4 - Examples
1.ACS> CREATE SUBLIBRARY [JONES.TEMP.SUBLIB]
%I, Sublibrary USER:[JONES.TEMP.SUBLIB] created
Creates the program sublibrary [JONES.TEMP.SUBLIB] on the
current default device. The parent library is the current
program library.
2.ACS> CREATE SUBLIBRARY/PARENT=[HOTEL.ADALIB] [JONES.LISTS.SUBLIB]
%I, Sublibrary USER:[JONES.LISTS.SUBLIB] created
Creates the program sublibrary [JONES.LISTS.SUBLIB] on the
current default device. The command defines [HOTEL.ADALIB] to
be the parent library.
| 13 - DELETE |
13.1 - LIBRARY
Deletes a Compaq Ada program library and all its units. To delete
a program sublibrary, you must use the ACS DELETE SUBLIBRARY
command.
NOTE
A program library does not contain any references to program
sublibraries. When you enter the ACS DELETE LIBRARY command,
you are not warned of the possible existence of any program
sublibraries.
Format
DELETE LIBRARY directory-spec
13. 1.1 - Parameters
directory-spec
Specifies the program library directory to be deleted. The
directory must be a Compaq Ada program library; that is, it must
have been created with the ACS CREATE LIBRARY command.
13. 1.2 - Description
The ACS DELETE LIBRARY command performs the following steps:
1. Checks whether the directory specified to be deleted is a
Compaq Ada program library (has a valid library index file,
ADALIB.ALB). If not, a message is issued and there is no
further action.
2. If the specified directory is a Compaq Ada program library,
deletes the files needed for program library operations. For
example, the library index file (ADALIB.ALB), library version
control file (ADA$LIB.DAT), and all object (.OBJ), compilation
unit (.ACU), and copied source (.ADC) files are deleted.
3. If the program library is empty after step 2 and has the
appropriate protection, deletes the directory. If the
directory is not empty, it is preserved and a message is
issued. To delete the files and directory in that case, you
must exit from the program library manager and use the DCL
DELETE command.
Note that, when a program library is created, the directory
inherits the protection of its parent directory less any
delete access by default. Before attempting to delete a
program library that is delete protected against the owner,
you must change the directory protection of the library with
the DCL SET PROTECTION command. See Developing Ada Programs
on OpenVMS Systems for more information on program library
protection.
The DELETE LIBRARY command does not delete any program
sublibraries of the specified program library.
You cannot use the DELETE LIBRARY command to delete a sublibrary.
13. 1.3 - Command Qualifiers
13. 1. 3.1 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the DELETE LIBRARY command displays the name
of the program library before deleting it and requests you to
confirm whether or not the program library should be deleted. If
you specify the /CONFIRM qualifier, the possible responses are as
follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the prompt is reissued.
By default, no confirmation is requested.
13. 1. 3.2 - /LOG
/LOG (D)
/NOLOG
Controls whether the program library directory specification is
displayed after the library has been deleted.
By default, the program library directory specification is
displayed.
13. 1.4 - Example
ACS> DELETE LIBRARY/CONFIRM [JONES.TEMP.ADALIB]
USER:[JONES.TEMP.ADALIB], delete library? [N]: Y
%I, Library USER:[JONES.SCRATCH.ADALIB] deleted
Requests confirmation to delete the program library
[JONES.TEMP.ADALIB]. After confirmation, the command deletes
the library index file, library version control file, and all
object, compilation unit, and copied source files. Because
no other files remain in the program library directory, and
the directory protection allows delete access, the directory
is deleted and the name of the deleted program library is
displayed.
13.2 - SUBLIBRARY
Deletes a Compaq Ada program sublibrary and all its units. To delete
a program library, you must use the ACS DELETE LIBRARY command.
NOTE
A program sublibrary does not contain any references to
nested program sublibraries. When you enter the ACS DELETE
SUBLIBRARY command, you are not warned of the possible
existence of any nested program sublibraries.
Format
DELETE SUBLIBRARY directory-spec
13. 2.1 - Parameters
directory-spec
Specifies the program sublibrary directory to be deleted. The
directory must be a Compaq Ada program sublibrary; that is, it must
have been created with the ACS CREATE SUBLIBRARY command.
13. 2.2 - Description
The ACS DELETE SUBLIBRARY command performs the following steps:
1. Checks whether the directory specified to be deleted is a DEC
Ada program sublibrary. If not, a message is issued and there
is no further action.
2. If the specified directory is a Compaq Ada program sublibrary,
deletes the files needed for sublibrary operations. For
example, the library index file (ADALIB.ALB), library version
control file (ADA$LIB.DAT), and all object (.OBJ), compilation
unit (.ACU), and copied source (.ADC) files are deleted.
3. If the program sublibrary is empty after step 2 and has
the appropriate protection, deletes the directory. If the
directory is not empty, it is preserved and a message is
issued. To delete the files and directory in that case, you
must exit from the program library manager and use the DCL
DELETE command.
Note that, when a program sublibrary is created, the directory
inherits the protection of its parent directory less any
delete access by default (note that the parent directory may
not necessarily be the sublibrary's parent library). Before
attempting to delete a program sublibrary that is delete
protected against the owner, you must change the directory
protection of the sublibrary with the DCL SET PROTECTION
command. See Developing Ada Programs on OpenVMS Systems for
more information on sublibrary protection.
The DELETE SUBLIBRARY command does not delete any nested program
sublibraries of the specified program sublibrary.
The DELETE SUBLIBRARY command does not delete a program library.
13. 2.3 - Command Qualifiers
13. 2. 3.1 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the DELETE SUBLIBRARY command displays the name
of the program sublibrary before deleting it and requests you to
confirm whether or not the program sublibrary should be deleted.
If you specify the /CONFIRM qualifier, the possible responses are
as follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the prompt is reissued.
By default, no confirmation is requested.
13. 2. 3.2 - /LOG
/LOG (D)
/NOLOG
Controls whether the program sublibrary directory specification
is displayed after the sublibrary has been deleted.
By default, the program sublibrary directory specification is
displayed.
13. 2.4 - Example
ACS> DELETE SUBLIBRARY/CONFIRM [JONES.LISTS.SUBLIB]
USER:[JONES.LISTS.SUBLIB], delete sublibrary? [N]: Y
%I, Sublibrary USER:[JONES.LISTS.SUBLIB] deleted
Requests confirmation to delete the sublibrary
[JONES.LISTS.SUBLIB]. After confirmation, the command deletes
the library index file and all object, compilation unit, and
copied source files in [JONES.LISTS.SUBLIB]; it then deletes
the program sublibrary.
13.3 - UNIT
Deletes one or more units from the current program library,
including references to units entered from another program
library.
Format
DELETE UNIT unit-name[,...]
13. 3.1 - Parameters
unit-name[,...]
Specifies one or more units to be deleted from the current
program library. You must express subunit names using selected
component notation as follows:
ancestor-unit-name{.parent-unit-name}.subunit-name
The unit names may include percent signs (%) and asterisks (*)
as wildcard characters. (See the OpenVMS User's Manual for more
information on wildcard characters.)
13. 3.2 - Description
The ACS DELETE UNIT command deletes, from the current program
library, the specified unit's specification and body (if any).
If you specify a subunit name, the DELETE UNIT command deletes
the subunit and any nested subunits. The DELETE UNIT command
deletes units that have been compiled, copied, or entered into
the current program library.
NOTE
An ACS DELETE UNIT SYSTEM command deletes any unit called
SYSTEM, be it predefined or user defined. Deleting the
predefined unit SYSTEM can have major effects, such as
not allowing you to use the predefined package TEXT_IO.
If you accidentally delete the predefined package SYSTEM,
you can restore it by entering the ACS ENTER UNIT command,
and specifying the library denoted by the logical name
ADA$PREDEFINED (see the ACS ENTER UNIT command for more
information on entering units).
For each unit specified, the DELETE UNIT command updates the
current program library as follows:
o Deletes the associated index entries in the library index file
o Deletes any associated files from the current program library
The DELETE UNIT command does not affect any files or index
entries in program libraries other than the current program
library.
13. 3.3 - Command Qualifiers
13. 3. 3.1 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the DELETE UNIT command displays the unit name
of each unit before deleting it, and requests you to confirm
whether or not the unit should be deleted. If you specify the
/CONFIRM qualifier, the possible responses are as follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
o QUIT or Ctrl/Z indicates that you want to stop processing the
command at that point.
o ALL indicates that you want to continue processing the command
without any further prompts.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the prompt is reissued.
By default, no confirmation is requested.
13. 3. 3.2 - /ENTERED
/ENTERED[=library] (D)
/NOENTERED
Controls whether entered units are deleted. You can use the
library option to delete units that were entered from a
particular library. When you specify the /NOENTERED qualifier,
only units that have been compiled or copied into the current
program library are deleted. Note that when you specify the
/ENTERED qualifier, local units are deleted unless the /NOLOCAL
qualifier is also in effect (the defaults for these qualifiers
are /LOCAL and /ENTERED).
By default, all units specified, including entered units, are
deleted.
13. 3. 3.3 - /LOCAL
/LOCAL (D)
/NOLOCAL
Controls whether local units (those units that were added to the
library by a compilation or a COPY UNIT command) are deleted.
Note that when you specify the /LOCAL qualifier, entered units
are deleted unless the /NOENTERED qualifier is also in effect
(the defaults for these qualifiers are /LOCAL and ENTERED).
By default, all units specified, including local units, are
deleted.
13. 3. 3.4 - /LOG
/LOG
/NOLOG (D)
Controls whether the name of a unit is displayed after it has
been deleted.
By default, the names of deleted units are not displayed.
13. 3.4 - Positional Qualifiers
13. 3. 4.1 - /BODY_ONLY
/BODY_ONLY
Deletes only the body of the specified unit.
When you append the /BODY_ONLY qualifier to the DELETE UNIT
command string, any /SPECIFICATION_ONLY qualifiers that are
appended to parameters in the command line override the /BODY_
ONLY qualifier for those particular parameters. You cannot
append both the /BODY_ONLY qualifier and the /SPECIFICATION_ONLY
qualifier to the DELETE UNIT command string or to the same unit
name parameter.
By default, if the /BODY_ONLY qualifier is omitted, the
specification, as well as the body, is deleted.
13. 3. 4.2 - /SPECIFICATION_ONLY
/SPECIFICATION_ONLY
Deletes only the specification of the specified unit.
When you append the /SPECIFICATION_ONLY qualifier to the DELETE
UNIT command string, any /BODY_ONLY qualifiers that are appended
to parameters in the command line override the /SPECIFICATION_
ONLY qualifier for those particular parameters. You cannot
append both the /SPECIFICATION_ONLY qualifier and the /BODY_ONLY
qualifier to the DELETE UNIT command string or to the same unit
name parameter.
By default, if the /SPECIFICATION_ONLY qualifier is omitted, the
body, as well as the specification, is deleted.
13. 3.5 - Examples
1.ACS> DELETE UNIT/LOG SCREEN_IO
%I, Package specification SCREEN_IO deleted
%I, Package body SCREEN_IO deleted
Deletes from the current program library the specification and
body of SCREEN_IO, and displays the names of the components
deleted.
2.ACS> DELETE UNIT/BODY_ONLY/CONFIRM RESERVATIONS
RESERVATIONS, delete? [N]:Y
Deletes the body of RESERVATIONS from the current program
library.
3.ACS> DELETE UNIT STACKS*
Deletes the specification, body, and all of the subunits of the
unit STACKS.
| 14 - DIRECTORY |
Displays information about one or more units in the current
program library.
Format
DIRECTORY [unit-name[,...]]
14.1 - Parameters
[unit-name[,...]]
Specifies one or more units in the current program library for
which information is to be shown. You must express subunit names
using selected component notation as follows:
ancestor-unit-name{.parent-unit-name}.subunit-name
The unit names may include percent signs (%) and asterisks (*)
as wildcard characters. (See the OpenVMS User's Manual for more
information on wildcard characters.)
14.2 - Description
If you specify a unit name, the ACS DIRECTORY command displays
information about the unit's specification and body, if the
latter exists. If you specify a subunit name, the DIRECTORY
command displays information about the subunit.
If you do not specify a unit name, the DIRECTORY command displays
information about all of the units in the current program
library, including entered units.
Units are listed by name in alphabetical order. Subunit names are
shown using selected component notation.
The output of the DIRECTORY command depends on whether you
specify the /BRIEF, /FULL, or no formatting qualifier. If you do
not specify a qualifier, the DIRECTORY command displays (for each
unit specified) the unit name, the kind of unit (for example,
procedure body, generic package declaration, and so on), and the
compilation date and time.
14.3 - Command Qualifiers
14. 3.1 - /BRIEF
/BRIEF
Lists only the names of the units specified.
14. 3.2 - /ENTERED
/ENTERED[=library] (D)
/NOENTERED
Controls whether entered units are displayed. You can use
the library option to display units that were entered from a
particular library. When you specify the /NOENTERED qualifier,
only units that have been compiled or copied into the current
program library are displayed. Note that when you specify the
/ENTERED qualifier, local units are displayed unless the /NOLOCAL
qualifier is also in effect (the defaults for these qualifiers
are /LOCAL and /ENTERED).
By default, all units, including entered units, are displayed.
14. 3.3 - /FULL
/FULL
Lists (for each unit specified) the unit name, kind, compilation
date and time, and the file specifications of the associated
files. The file specifications of entered units are shown
preceded with an at character (@).
14. 3.4 - /LOCAL
/LOCAL (D)
/NOLOCAL
Controls whether local units (those units that were added to the
library by a compilation or a COPY UNIT command) are displayed.
Note that when you specify the /LOCAL qualifier, entered units
are displayed unless the /NOENTERED qualifier is also in effect
(the defaults for these qualifiers are /LOCAL and /ENTERED).
By default, all units specified, including local units, are
displayed.
14. 3.5 - /OUTPUT
/OUTPUT=file-spec
Requests that the DIRECTORY command output be written to the file
specified rather than to SYS$OUTPUT. Any diagnostic messages are
written to both SYS$OUTPUT and the file.
The default directory is the current default directory. If you
specify a file type but omit the file name, the default file name
is ACS. The default file type is .LIS. No wildcard characters are
allowed in the file specification.
By default, the DIRECTORY command output is written to
SYS$OUTPUT.
14.4 - Positional Qualifiers
14. 4.1 - /BODY_ONLY
/BODY_ONLY
Displays only the body of the specified unit.
When you append the /BODY_ONLY qualifier to the DIRECTORY command
string, any /SPECIFICATION_ONLY qualifiers that are appended to
parameters in the command line override the /BODY_ONLY qualifier
for those particular parameters. You cannot append both the
/BODY_ONLY qualifier and the /SPECIFICATION_ONLY qualifier to the
DIRECTORY command string or to the same unit name parameter.
By default, if the /BODY_ONLY qualifier is omitted, the
specification, as well as the body, is displayed.
14. 4.2 - /SPECIFICATION_ONLY
/SPECIFICATION_ONLY
Displays only the specification of the specified unit.
When you append the /SPECIFICATION_ONLY qualifier to the
DIRECTORY command string, any /BODY_ONLY qualifiers that
are appended to parameters in the command line override the
/SPECIFICATION_ONLY qualifier for those particular parameters.
You cannot append both the /SPECIFICATION_ONLY qualifier and the
/BODY_ONLY qualifier to the DIRECTORY command string or to the
same unit name parameter.
By default, if the /SPECIFICATION_ONLY qualifier is omitted, the
body, as well as the specification, is displayed.
14.5 - Examples
1.ACS> DIRECTORY/NOENTERED/BRIEF *
.
.
.
HOTEL
RESERVATIONS
RESERVATIONS.CANCEL
RESERVATIONS.RESERVE
RESERVATIONS.RESERVE.BILL
.
.
.
Total of 13 units.
Lists the names of all units and subunits that have been
compiled or copied into the current program library.
2.ACS> DIRECTORY SCREEN_IO*
SCREEN_IO
package specification 4-NOV-1992 18:11:47.55
package body 4-NOV-1992 18:12:05.46
SCREEN_IO.INPUT
procedure body 4-NOV-1992 18:12:20.80
SCREEN_IO.INPUT.BUFFER
function body 4-NOV-1992 18:12:56.64
SCREEN_IO.OUTPUT
procedure body 4-NOV-1992 18:13:09.14
Total of 5 units.
Displays the unit name, unit kind, and date-time of the last
compilation for all units in the current program library whose
names start with SCREEN_IO.
3.ACS> DIRECTORY/FULL SCREEN_IO.INPUT*
SCREEN_IO.INPUT
procedure body 4-NOV-1992 18:12:20.80
SCREEN_IO__INPUT.ACU;3
SCREEN_IO__INPUT.OBJ;3
SCREEN_IO__INPUT.ADC;3
@ ADA25$:[RYAN.PROJECT.VAXADA_V30FT3]SCREEN_IO__INPUT.ADA;3
SCREEN_IO.INPUT.BUFFER
function body 4-NOV-1992 18:12:56.64
SCREEN_IO__BUFFER.ACU;3
SCREEN_IO__BUFFER.OBJ;3
SCREEN_IO__BUFFER.ADC;3
@ ADA25$:[RYAN.PROJECT.VAXADA_V30FT3]SCREEN_IO__BUFFER.ADA;3
Displays the unit name, unit kind, associated file
specifications, and date-time of the last compilation for all
of the units in the current program library whose names start
with SCREEN_IO.INPUT. The file specifications listed are those
for the compilation unit (.ACU), object (.OBJ), copied source
(.ADC), and source (.ADA) files.
4.$ ACS DIRECTORY ASSERT,HOTEL,RESERVATIONS.SEND,SQR
ASSERT
package instantiation 27-OCT-1992 10:07:54.09 <entered>
HOTEL
procedure body 4-NOV-1992 16:07:05.22 <main>
RESERVATIONS.SEND
procedure body 4-NOV-1992 14:10:23.47 <syntax-checked>
SQR
function specification 4-NOV-1992 17:10:39.42
function body 4-NOV-1992 16:47:02.18 <foreign>
ADA_CALLER
procedure body 4-NOV-1992 18:31:40.87 <design-checked>
<main>
Total of 6 units.
Displays the unit name, unit-kind, date-time of last
compilation, and unit type and status for each unit specified.
Note that the unit ADA_CALLER is a main program that has been
design-checked.
| 15 - ENTER |
15.1 - FOREIGN
Enters a reference to an external file into the current program
library. The file is entered as a foreign (non-Ada) library
body (the body of a package, procedure, or function). The file
may be an object file, object library, shareable image library,
shareable image, or linker options file.
Format
ENTER FOREIGN file-spec unit-name
15. 1.1 - Parameters
file-spec
Specifies the file containing the foreign body to be entered into
the current program library. The file may be a OpenVMS object
file, object library, shareable image library, shareable image,
or linker options file.
The default
directory is the current default directory. The default file type
is .OBJ, unless the /LIBRARY, /OPTIONS, or /SHAREABLE qualifier
is used. No wildcard characters are allowed in the file
specification.
If the file is an object file, you can optionally use the /OBJECT
qualifier. The default file type is .OBJ.
If the file is an object library or shareable image library, you
must use the /LIBRARY qualifier. The default file type is .OLB.
If the file is a linker options file, you must use the /OPTIONS
qualifier. The default file type is .OPT.
If the file is a shareable image, you must use the /SHAREABLE
qualifier. The default file type is .EXE.
unit-name
Specifies the unit whose body is to be referenced with the ENTER
FOREIGN command.
15. 1.2 - Description
The ACS ENTER FOREIGN command enters a reference to an external
file, which then serves as a foreign (non-Ada) library body for
an Ada compilation unit.
The program library must contain a library specification for the
unit, and the specification must contain the pragma INTERFACE and
(if appropriate) a pragma IMPORT_FUNCTION, IMPORT_PROCEDURE, or
IMPORT_VALUED_PROCEDURE.
Once you supply a foreign body for a unit, the program library
manager assumes that the body is current until you supply a
new (Ada or foreign) definition of the body. Compiling the
specification of the unit does not cause the body to become
obsolete.
15. 1.3 - Command Qualifiers
15. 1. 3.1 - /LIBRARY
/LIBRARY
Indicates that the associated input file is a OpenVMS object
library or shareable image library. The default file type is
.OLB.
By default, if you do not specify the /LIBRARY qualifier, the
file is assumed to be an object file with a default file type of
.OBJ.
15. 1. 3.2 - /LOG
/LOG
/NOLOG (D)
Controls whether the unit name and associated file name are
displayed after a foreign body has been entered.
By default, the unit name and associated file name are not
displayed.
15. 1. 3.3 - /OBJECT
/OBJECT
Indicates that the associated input file is an object file. The
default file type is .OBJ.
The /OBJECT qualifier is the default, if you do not specify a
/LIBRARY, /OPTIONS, or /SHAREABLE qualifier.
15. 1. 3.4 - /OPTIONS
/OPTIONS
Indicates that the associated input file is a OpenVMS linker
options file. The default file type is .OPT.
By default, if you do not specify the /OPTIONS qualifier, the
file is assumed to be an object file with a default file type of
.OBJ.
15. 1. 3.5 - /REPLACE
/REPLACE
/NOREPLACE (D)
Controls whether the foreign body to be entered replaces a body
that is already defined in the current program library for the
unit name specified.
By default, the foreign body to be entered does not replace a
body that is already defined in the current program library for
the unit name specified.
15. 1. 3.6 - /SHAREABLE
/SHAREABLE
Indicates that the associated input file is a OpenVMS shareable
image. The default file type is .EXE.
By default, if you do not specify the /SHAREABLE qualifier, the
file is assumed to be an object file with a default file type of
.OBJ.
15. 1.4 - Example
ACS> ENTER FOREIGN DISK:[SMITH.MATH]SQUARE SQR
Enters the object file SQUARE.OBJ from DISK:[SMITH.MATH] into
the current program library, as the body of unit SQR. The
specification of SQR is (as required) already defined in the
program library.
15.2 - UNIT
Enters references in the current program library to one or more
units located in another program library.
Format
ENTER UNIT from-directory-spec unit-name [,...]
15. 2.1 - Parameters
from-directory-spec
Specifies the program library that contains the units to be
referenced.
unit-name[,...]
Specifies one or more units to be entered into the current
program library. You must express subunit names using selected
component notation as follows:
ancestor-unit-name{.parent-unit-name}.subunit-name
The unit names may include percent signs (%) and asterisks (*)
as wildcard characters. (See the OpenVMS User's Manual for more
detailed information on wildcard characters.)
15. 2.2 - Description
The ACS ENTER UNIT command enters into the current progam library
each specified unit's specification and body (if any). If the
specified unit is a subunit, the ENTER UNIT command enters the
subunit and any nested subunits. If the /CLOSURE qualifier is
specified, the ENTER UNIT command enters the closure of the set
of units specified.
For each unit entered, the ENTER UNIT command updates the library
index file of the current program library to refer to the unit
and its associated files, and to include the date and time the
unit was last compiled into its original program library.
An entered unit can be used as if had been compiled locally. In
other words, a unit entered into a program library can be named
in a clause by a unit that has been compiled into that program
library.
The ENTER UNIT command does not affect the program library
from which a unit is entered. However, if an entered unit
is subsequently compiled in its original program library,
all references to that unit from other program libraries are
invalidated. You must enter the ACS REENTER command to make the
references current. (You may also need to then recompile any
units that depend on the entered unit.)
The ACS COMPILE and RECOMPILE commands have no effect on entered
units.
15. 2.3 - Command Qualifiers
15. 2. 3.1 - /CLOSURE
/CLOSURE
/NOCLOSURE (D)
Controls whether the ENTER UNIT command enters the closure of the
set of units specified into the current program library.
By default, only the specification and body of the units
specified are entered.
15. 2. 3.2 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the ENTER UNIT command displays the name of each
unit before entering that unit into the current program library,
and requests that you confirm whether or not that unit should
be entered. If you specify the /CONFIRM qualifier, the possible
responses are as follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
o QUIT or Ctrl/Z indicates that you want to stop processing the
command at that point.
o ALL indicates that you want to continue processing the command
without any further prompts.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the prompt is reissued.
By default, no confirmation is requested.
15. 2. 3.3 - /ENTERED
/ENTERED[=library] (D)
/NOENTERED
Controls whether entered units are entered. You can use the
library option to enter units that were entered from a particular
library. When you specify the /NOENTERED qualifier, only units
that have been compiled or copied into the other program library
are entered. Note that when you specify the /ENTERED qualifier,
local units are entered unless the /NOLOCAL qualifier is also
in effect (the defaults for these qualifiers are /LOCAL and
/ENTERED).
By default, all units, including entered units, are entered.
15. 2. 3.4 - /LOCAL
/LOCAL (D)
/NOLOCAL
Controls whether local units (those units that were added to the
library by a compilation or a COPY UNIT command) are entered.
Note that when you specify the /LOCAL qualifier, entered units
are entered unless the /NOENTERED qualifier is also in effect
(the defaults for these qualifiers are /LOCAL and /ENTERED).
By default, all units specified, including local units, are
entered.
15. 2. 3.5 - /LOG
/LOG
/NOLOG (D)
Controls whether the name of a unit is displayed after it has
been entered.
By default, the names of entered units are not displayed.
15. 2. 3.6 - /REPLACE
/REPLACE
/NOREPLACE (D)
Controls whether the unit to be entered replaces a unit of the
same name that is already defined in the current program library.
By default, the unit to be entered does not replace a unit of the
same name that is already defined in the current program library.
15. 2.4 - Positional Qualifiers
15. 2. 4.1 - /BODY_ONLY
/BODY_ONLY
Enters only the body of the specified unit.
When you append the /BODY_ONLY qualifier to the ENTER UNIT
command string, any /SPECIFICATION_ONLY qualifiers that are
appended to parameters in the command line override the /BODY_
ONLY qualifier for those particular parameters. You cannot
append both the /BODY_ONLY qualifier and the /SPECIFICATION_ONLY
qualifier to the ENTER UNIT command string or to the same unit
name parameter.
By default, if the /BODY_ONLY qualifier is omitted, the
specification, as well as the body, is entered.
15. 2. 4.2 - /SPECIFICATION_ONLY
/SPECIFICATION_ONLY
Enters only the specification of the specified unit.
When you append the /SPECIFICATION_ONLY qualifier to the ENTER
UNIT command string, any /BODY_ONLY qualifiers that are appended
to parameters in the command line override the /SPECIFICATION_
ONLY qualifier for those particular parameters. You cannot
append both the /SPECIFICATION_ONLY qualifier and the /BODY_ONLY
qualifier to the ENTER UNIT command string or to the same unit
name parameter.
By default, if the /SPECIFICATION_ONLY qualifier is omitted, the
body, as well as the specification, is entered.
15. 2.5 - Examples
1.ACS> ENTER UNIT [PROJ.MAIN_LIB] *
Enters all of the units from the project library into the
current program library.
2.ACS> ENTER UNIT/REPLACE DISK:[SMITH.SHARE.ADALIB] QUEUE_MANAGER
Enters the unit QUEUE_MANAGER into the current program
library from the library DISK:[SMITH.SHARE.ADALIB], replacing
any previous index reference to that unit. If the /REPLACE
qualifier had not been used, a previously existing reference to
QUEUE_MANAGER would not have been replaced.
| 16 - EXIT |
Exits from the program library manager and returns control to
DCL.
Format
EXIT
16.1 - Description
The EXIT command allows you to exit from the program library
manager when you are using it interactively. You can also use
Ctrl/Z for the same purpose.
16.2 - Example
ACS> EXIT
$
Exits from the program library manager and returns control to
DCL.
| 17 - EXPORT |
Creates an object file that contains the object code for all
units in the closure of the list of units specified.
Format
EXPORT unit-name[,...]
17.1 - Parameters
unit-name[,...]
Specifies one or more units in the current program library whose
closure will be used to create an object file.
If you specify the /MAIN qualifier:
o You can specify only one unit name.
o The generated object file contains the image transfer address,
and therefore can be used as a main program.
o The transfer address of the unit specified is used.
By default (or if you specify the /NOMAIN qualifier):
o You can specify more than one unit name. The unit names may
include percent signs (%) and asterisks (*) as wildcard
characters. (See the VMS DCL Concepts Manual for more
information on wildcard characters.)
o The generated object file does not contain the image transfer
address, and therefore cannot be used as a main program. The
exported units can be invoked by a non-Ada program.
17.2 - Description
The ACS EXPORT command creates a concatenated object file for
all the units in the closure of the list of units specified.
The object file always contains code to elaborate any library
packages that are exported.
Note that any exported units that will be called from a foreign
module must contain the appropriate export pragma in the source
code: EXPORT_FUNCTION, EXPORT_PROCEDURE, EXPORT_VALUED_PROCEDURE,
EXPORT_OBJECT, PSECT_OBJECT, or EXPORT_EXCEPTION (see the DEC Ada
Language Reference Manual and DEC Ada Run-Time Reference Manual
for OpenVMS Systems for exact details).
Object files created by different invocations of the EXPORT
command may include some code that is common-for example, if
each closure includes the predefined unit TEXT_IO. In such cases,
you will not be able to link those files into the same image.
Whenever you think that closures may include units in common, you
should specify all the units in a single EXPORT command line.
17.3 - Command Qualifiers
17. 3.1 - /LOG
/LOG
/NOLOG (D)
Controls whether a list of all the units included in the exported
object file is displayed. The display shows the units according
to the order of elaboration for the program.
By default, a list of the units included in the exported object
file is not displayed.
17. 3.2 - /MAIN
/MAIN
/NOMAIN (D)
Controls whether the generated object file is to contain the
image transfer address (of the first unit specified), and therefore is
to be a main program.
By default, the generated object file does not contain the image
transfer address, and therefore is not to be a main program.
17. 3.3 - /OBJECT
/OBJECT=file-spec
Provides a file specification for the generated object file that
is to be exported. The default directory is the current default
directory. The default file type is .OBJ. No wildcard characters
are allowed in the file specification.
By default, if you do not use the /OBJECT qualifier, a file name
comprising up to the first 39 characters of the first unit name
is provided.
17. 3.4 - /OUTPUT
/OUTPUT=file-spec
Requests that the EXPORT command output be written to the file
specified rather than to SYS$OUTPUT. Any diagnostic messages are
written to both SYS$OUTPUT and the file.
The default directory is the current default directory. If you
specify a file type but omit the file name, the file name is ACS.
The default file type is .LIS. No wildcard characters are allowed
in the file specification.
By default, the EXPORT command output is written to SYS$OUTPUT.
17. 3.5 - /SYSTEM_NAME
/SYSTEM_NAME=system
Directs the program library manager to produce elaboration
code for execution on a particular operating system; the
possible system values are VAX_VMS and VAXELN on VAX systems
and OpenVMS_AXP on Alpha systems. Note that when the value is
VAXELN, the execution of elaboration code by non-Ada callers is
not automatic; your program must take special action at run time
to elaborate library packages. See the VAXELN Ada Programming
Guide for more information.
By default, if the /SYSTEM_NAME qualifier is not specified in
the EXPORT command, the setting of the pragma SYSTEM_NAME for the
current program library determines the target operating system
environment.
17.4 - Examples
1.ACS> EXPORT/MAIN HOTEL/OBJECT=EXP_HOTEL
Creates the object file EXP_HOTEL.OBJ, which contains the code
for all of the units in the execution closure of unit HOTEL,
including any package elaboration code. Because the /MAIN
qualifier is specified, the file created also contains the
image transfer address.
2.ACS> EXPORT/SYSTEM_NAME=VAXELN HOTEL/OBJECT=VAXELN_HOTEL
Creates the object file VAXELN_HOTEL, which contains the code
for all of the units in the execution closure of unit HOTEL,
including any package elaboration code. The elaboration code
created is for a VAXELN target. See the VAXELN Ada Programming
Guide for information on how to prepare and run VAXELN Ada
programs.
| 18 - EXTRACT |
18.1 - SOURCE
Creates a copy of the copied source files associated with the
specified units. The specified units must be defined in the
current program library.
Format
EXTRACT SOURCE unit-name[,...]
18. 1.1 - Parameters
unit-name[,...]
Specifies one or more units in the current program library whose
copied source files are to be copied. You must express subunit
names using selected component notation as follows:
ancestor-unit-name{.parent-unit-name}.subunit-name
The unit names may include percent signs (%) and asterisks
(*) as wildcard characters. (See the OpenVMS User's Manual for
detailed information on wildcard characters.)
18. 1.2 - Description
For each unit specified, the ACS EXTRACT SOURCE command creates
a copy of the copied source files associated with the unit's
specification and body. If a subunit name is specified, the
EXTRACT SOURCE command creates a copy of the subunit's copied
source file. The unit or subunit must be defined in the current
program library.
The files are created in the current default directory. If they
have less than or equal to 39 characters, the file names are
the same as those of the corresponding copied source files in
the current program library-that is, file names follow the file-
name conventions defined in Developing Ada Programs on OpenVMS
Systems. If they have more than 39 characters, the program
library manager generates a name. The file type of the created
files is .ADA.
18. 1.3 - Command Qualifiers
18. 1. 3.1 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the EXTRACT SOURCE command displays the name
of each unit before creating a copy of the copied source files
and requests that you confirm whether or not the unit should
be copied. If you specify the /CONFIRM qualifier, the possible
responses are as follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
o QUIT or Ctrl/Z indicates that you want to stop processing the
command at that point.
o ALL indicates that you want to continue processing the command
without any further prompts.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the prompt is reissued.
By default, no confirmation is requested.
18. 1. 3.2 - /ENTERED
/ENTERED[=library] (D)
/NOENTERED
Controls whether the source files for entered units are
extracted. You can use the library option to extract units that
were entered from a particular library. When you specify the
/NOENTERED qualifier, only the source files for units that have
been compiled or copied into the current program library are
extracted. Note that when you specify the /ENTERED qualifier,
local units are extracted unless the /NOLOCAL qualifier is also
in effect (the defaults for these qualifiers are /LOCAL and
/ENTERED).
By default, the source file for all units, including entered
units, are
extracted.
18. 1. 3.3 - /LOCAL
/LOCAL (D)
/NOLOCAL
Controls whether local units (those units that were added to the
library by a compilation or a COPY UNIT command) are extracted.
Note that when you specify the /LOCAL qualifier, the source files
for entered units are extracted unless the /NOENTERED qualifier
is also in effect (the defaults for these qualifiers are /LOCAL
and /ENTERED).
By default, the source files for all units specified, including
local units, are extracted.
18. 1. 3.4 - /LOG
/LOG (D)
/NOLOG
Controls whether the names of units and extracted files are
displayed after each unit's files are created.
By default, the names of units and files are displayed.
18. 1.4 - Positional Qualifiers
18. 1. 4.1 - /BODY_ONLY
/BODY_ONLY
Extracts the source file for only the body of the specified unit.
When you append the /BODY_ONLY qualifier to the EXTRACT SOURCE
command string, any /SPECIFICATION_ONLY qualifiers that are
appended to parameters in the command line override the /BODY_
ONLY qualifier for those particular parameters. You cannot
append both the /BODY_ONLY qualifier and the /SPECIFICATION_ONLY
qualifier to the EXTRACT SOURCE command string or to the same
unit name parameter.
By default, if the /BODY_ONLY qualifier is omitted, the source
file for the specification, as well as the body, is extracted.
18. 1. 4.2 - /SPECIFICATION_ONLY
/SPECIFICATION_ONLY
Extracts the source file for only the specification of the
specified unit.
When you append the /SPECIFICATION_ONLY qualifier to the
EXTRACT SOURCE command string, any /BODY_ONLY qualifiers that
are appended to parameters in the command line override the
/SPECIFICATION_ONLY qualifier for those particular parameters.
You cannot append both the /SPECIFICATION_ONLY qualifier and the
/BODY_ONLY qualifier to the EXTRACT SOURCE command string or to
the same unit name parameter.
By default, if the /SPECIFICATION_ONLY qualifier is omitted,
the source file for the body, as well as the specification, is
extracted.
18. 1.5 - Example
ACS> EXTRACT SOURCE TEXT_IO, STARLET
Creates in the current default directory the files TEXT_IO_
.ADA, TEXT_IO.ADA, and STARLET_. These files are copies of
the copied source files for, respectively, the specification
and body of the predefined unit TEXT_IO and the specification
of the predefined unit STARLET (TEXT_IO and STARLET were
previously entered into the current program library).
| 19 - HELP |
Displays information on ACS commands and qualifiers.
Format
HELP [keyword...]
19.1 - Parameters
[keyword...]
Specifies zero or more keywords that indicate what information
you want. Information is located in a hierarchical manner,
depending on the level of information required. The levels are
as follows:
1. None-Lists the ACS commands and selected topics.
2. Topic-Provides information about the topic.
3. Command-Describes the command, its format, and parameters, and
lists its qualifiers.
4. Command followed by a qualifier-Describes the use of the
qualifier. For example, CHECK/LOG describes the use of the
/LOG qualifier.
If you specify an asterisk (*) in place of any keyword, the HELP
command displays all information available at that level.
You can specify percent signs (%) and asterisks (*) in the
keywords as wildcard characters.
19.2 - Example
ACS> HELP ENTER UNIT/CLOSURE
Displays information about the /CLOSURE qualifier to the ACS
ENTER UNIT command.
| 20 - LINK |
Creates an executable image file for the specified units.
Format
LINK unit-name [file-spec[,...]]
LINK/NOMAIN unit-name[,...] file-spec[,...]
20.1 - Parameters
unit-name[,...]
By default (or if you specify the /MAIN qualifier):
o You can specify only one unit, whose source code is written in
Ada.
o The Ada main program, which must be a procedure or function
with no parameters. If the main program is a function, it must
return a value of a discrete type; the function value is used
as the OpenVMS image exit value.
If you specify the /NOMAIN qualifier:
o You can specify one or more units that are to be included
in the executable image. The unit names may include percent
signs (%) and asterisks (*) as wildcard characters. (See
the OpenVMS User's Manual for more information on wildcard
characters.)
o The image transfer address comes from one of the non-Ada files
specified.
file-spec[,...]
Specifies a list of OpenVMS object files, object libraries,
shareable image libraries, shareable images, and linker option
files that are to be used in linking the program. The default
directory is the current default directory. The default file
type is .OBJ, unless the /LIBRARY, /OPTIONS, or /SHAREABLE
qualifier is used. No wildcard characters are allowed in a file
specification.
If the file is an object library or shareable image library, you
must use the /LIBRARY qualifier. The default file type is .OLB.
If the file is a linker options file, you must use the /OPTIONS
qualifier. The default file type is .OPT.
If the file is a shareable image, you must use the /SHAREABLE
qualifier. The default file type is .EXE.
If you specify the /NOMAIN qualifier, the image transfer address
will come from one of the files (not units) specified.
20.2 - Description
The ACS LINK command goes through the following steps:
1. If LINK/NOMAIN is not specified, checks that only one unit is
specified and that it is an Ada main program.
2. Forms the execution closure of the main program (LINK/MAIN)
or of the specified units (LINK/NOMAIN) and verifies that all
units in the closure are present, current, and complete. If
the program library manager detects an error, the operation is
terminated before the OpenVMS Linker is invoked.
3. Creates a DCL command file for the OpenVMS Linker. The command
file is deleted after the ACS LINK operation is completed or
terminated, unless LINK/COMMAND is specified. If LINK/COMMAND
is specified, the command file is retained for future use, and
the linker is not invoked.
4. Creates an object file (to be linked with the program) that
elaborates the library units in proper order at run time.
If the /NOMAIN qualifier is not specified, the object file
also contains the image transfer address. This object file
is deleted after the ACS LINK operation is completed or
terminated, unless the /COMMAND qualifier is specified. If the
/COMMAND qualifier is specified, the object file is retained
and the linker is not invoked.
5. Unless the /COMMAND qualifier is specified, invokes the
OpenVMS Linker as follows:
a. By default (LINK/WAIT), the linker command file generated
in step 3 is executed in a subprocess. You must wait for
the link operation to terminate before entering another
command. Note that when you specify the /WAIT qualifier
(the default), process logical names are propagated to the
subprocess generated to execute the command file.
b. If you specify the /SUBMIT qualifier, the linker command
file is submitted as a batch job.
ACS output originating before the OpenVMS Linker is invoked is
reported to your terminal by default, or to a file specified with
the /OUTPUT qualifier. Linker diagnostics are reported to your
terminal, by default, or to a log file if the ACS LINK command is
executed in batch mode (ACS LINK/SUBMIT).
Note that some new qualifiers are available with the OpenVMS
Linker that are not supported by the ACS LINK command. You can
pass such qualifiers to the linker by defining a symbol like the
following before invoking the ACS LINK command:
$ LINK :== LINK/NATIVE_ONLY/SYSEXE
This symbol is then used by the ACS LINK command procedure that
invokes the OpenVMS Linker.
See Developing Ada Programs on OpenVMS Systems for more
information on the ACS LINK command. The OpenVMS Linker is
described in detail in the OpenVMS Linker Utility Manual.
20.3 - Command Qualifiers
20. 3.1 - /AFTER
/AFTER=time
Requests that the batch job be held until after a specific
time, when the ACS LINK command is executed in batch mode (LINK
/SUBMIT). If the specified time has already passed, the job is
queued for immediate processing.
You can specify either an absolute time or a combination of
absolute and delta time. See the OpenVMS User's Manual (or
access the DCL HELP SPECIFY topic) for complete information on
specifying time values.
20. 3.2 - /BATCH_LOG
/BATCH_LOG=file-spec
Provides a file specification for the batch log file when the ACS
LINK command is executed in batch mode (LINK/SUBMIT).
If you do not give a directory specification with the file-spec
option, the batch log file is created by default in the current
default directory. If you do not give a file specification with
the file-spec option, the default file name is the job name
specified with the /NAME=job-name qualifier. If no job name has
been specified, the program library manager creates a file name
comprising up to the first 39 characters of the first unit name
specified. If you specified LINK/NOMAIN and no job name and there
is a wildcard character in the first unit specified, the program
library manager uses the default file name ACS_LINK. The default
file type is .LOG.
20. 3.3 - /BRIEF
/BRIEF
Directs the linker to produce a brief image map file. The /BRIEF
qualifier is valid only if you also specify the /MAP qualifier
with the ACS LINK command. The /BRIEF qualifier is incompatible
with the /FULL and /CROSS_REFERENCE qualifiers.
A brief image map file contains only the following sections:
o Object module synopsis
o Image synopsis
o Link run statistics
In contrast, the default image map file contains the previous
sections, as well as the program section synopsis and symbol
definition section. See also the description of the /FULL
qualifier.
20. 3.4 - /COMMAND
/COMMAND[=file-spec]
Controls whether the linker is invoked as a result of the ACS
LINK command, and determines whether the command file generated
to invoke the linker is saved. If you specify the /COMMAND
qualifier, the program library manager does not invoke the
linker, and the generated command file is saved for you to invoke
or submit as a batch job.
The file-spec option allows you to enter a file specification for
the generated command file. The default directory for the command
file is the current default directory. By default, the program
library manager provides a file name comprising up to the first
39 characters of the first unit name specified. If you specified
LINK/NOMAIN and you used a wildcard character in the first unit
name specified, the compiler uses the default name ACS_LINK. The
default file type is .COM. No wildcard characters are allowed in
the file specification.
By default, if the /COMMAND qualifier is not specified, the
program library manager deletes the generated command file when
the ACS LINK command completes normally or is terminated.
20. 3.5 - /CROSS_REFERENCE
/CROSS_REFERENCE
/NOCROSS_REFERENCE (D)
Controls whether the image map file contains a symbol cross-
reference. The /CROSS_REFERENCE qualifier is valid only if
you also specify the /MAP qualifier in the ACS LINK command.
The /CROSS_REFERENCE qualifier is incompatible with the /BRIEF
qualifier.
When you specify the /CROSS_REFERENCE qualifier, the linker
replaces the symbol definition section of the image map file with
the symbol cross-reference section. The cross-reference section
lists, in alphabetical order, the name of each global symbol,
together with the following information about each:
o Its value
o The name of the first module in which it is defined
o The name of each module in which it is referenced
The number of symbols listed in the cross-reference section
depends on whether the linker is generating a full image map or
a default image map. In a full image map, this section includes
global symbols from all modules in the image, including those
extracted from all libraries. In a default image map, this
section does not include global symbols from modules extracted
from the default system libraries SYS$SHARE:IMAGELIB.OLB and
SYS$SHARE:STARLET.OLB.
By default, the image map file does not contain a symbol cross-
reference. In this case, if the linker is generating a default
map or a full map, the map contains the symbol definition section
instead of the symbol cross-reference section.
20. 3.6 - /DEBUG
/DEBUG[=file-spec]
/NODEBUG (D)
Controls whether a debugger symbol table is included in the
executable image file, and whether the OpenVMS Debugger is
invoked when the program is run.
The /DEBUG qualifier optionally allows you to specify an
alternate debugger or dynamic performance analyzer. The default
file type is .OBJ. See the OpenVMS Debugger Manual for more
information.
By default, no debugger symbol table is included in the
executable image.
20. 3.7 - /EXECUTABLE
/EXECUTABLE[=file-spec] (D)
/NOEXECUTABLE
Controls whether the linker creates an executable image file
and optionally provides a file specification for the file. The
default file type is .EXE. No wildcard characters are allowed in
the file specification.
You can use the /NOEXECUTABLE or /EXECUTABLE=NL: qualifier to
test a set of qualifier options or input object modules without
creating an image file. Using /EXECUTABLE=NL: is recommended,
however, because the linker will not process certain qualifiers
when the /NOEXECUTABLE qualifier is in effect.
By default, an executable image file is created with a file name
comprising up to the first 39 characters of the first unit name
specified.
20. 3.8 - /FULL
/FULL
Directs the linker to produce a full image map file, which is the
most complete image map. The /FULL qualifier is valid only if you
also specify the /MAP qualifier with the ACS LINK command. Also,
the /FULL qualifier is incompatible with the /BRIEF qualifier,
but not with the /CROSS_REFERENCE qualifier.
A full image map file contains the following sections:
o Object module synopsis
o Module relocatable reference synopsis
o Program section synopsis
o Symbol definitions
o Image section synopsis
o Symbols by value
o Module relocatable reference synopsis
In contrast, the default image map file does not contain the
image section synopsis, the symbols by value, or the module
relocatable reference synopsis sections.
Further, unlike the default image map, the full image
map includes information about modules included from
the system default libraries SYS$SHARE:STARLET.OLB and
SYS$SHARE:IMAGELIB.OLB. Therefore, the object module synopsis, program
section synopsis, and symbols by name sections of a default image
map do not contain information about modules included from these
default libraries, whereas in a full image map they do.
20. 3.9 - /KEEP
/KEEP (D)
/NOKEEP
Controls whether the batch log file generated is deleted after
it is printed when the ACS LINK command is executed in batch mode
(LINK/SUBMIT).
By default, the log file is not deleted.
20. 3.10 - /LOG
/LOG
/NOLOG (D)
Controls whether a list of all the units included in the
executable image is displayed. The display shows the units
according to the order of elaboration for the program.
By default, a list of all the units included in the executable
image is not displayed.
20. 3.11 - /MAIN
/MAIN (D)
/NOMAIN
Controls where the image transfer address is to be found.
The /MAIN qualifier indicates that the Compaq Ada unit specified
determines the image transfer address and, hence, is to be a main
program.
The /NOMAIN qualifier indicates that the image transfer address
will come from one of the files specified, and not from one of
the Compaq Ada units specified.
By default (/MAIN), only one Compaq Ada unit may be specified, and
that unit must be a Compaq Ada main program.
20. 3.12 - /MAP
/MAP[=file-spec]
/NOMAP (D)
Controls whether the linker creates an image map
file and optionally provides a file specification
for the file. The default directory for the image
map file is the current directory. The default file
name comprises up to the first 39 characters of the
first unit name specified. The default file type
is .MAP. No wildcard characters are allowed in the file
specification.
By default, no image map file is created.
20. 3.13 - /NAME
/NAME=job-name
Specifies a string to be used as the job name and as the file
name for the batch log file when the ACS LINK command is executed
in batch mode (LINK/SUBMIT). The job name can have from 1 to 39
characters.
By default, if you do not specify the /NAME qualifier, the
program library manager creates a job name comprising up to the
first 39 characters of the first unit name specified. If you
specify LINK/NOMAIN but do not specify the /NAME qualifier, and
you use a wildcard character in the first unit name specified,
the compiler uses the default name ACS_LINK. In these cases, the
job name is also the file name of the batch log file.
20. 3.14 - /NOTIFY
/NOTIFY (D)
/NONOTIFY
Controls whether a message is broadcast when the ACS LINK command
is executed in batch mode (LINK/SUBMIT). The message is broadcast
to any terminal at which you are logged in, notifying you that
your job has been completed or terminated.
By default, a message is broadcast.
20. 3.15 - /OBJECT
/OBJECT=file-spec
Provides a file specification for the object file generated by
the ACS LINK command. The file is retained by the program library
manager only when the /COMMAND qualifier is used-that is, when
the result of the ACS LINK operation is to produce a linker
command file for future use, rather than to invoke the linker
immediately.
The generated object file contains the code that directs the
elaboration of library packages in the closure of the units
specified. Unless you also specify the /NOMAIN qualifier, the
object file also contains the image transfer address.
The default directory for the generated object file is the
current default directory. The default file type is .OBJ. No
wildcard characters are allowed in the file specification.
By default, if you do not specify the /OBJECT qualifier, the
program library manager provides a file name comprising up to the
first 39 characters of the first unit name specified.
By default, if you do not specify the /COMMAND qualifier, the
program library manager deletes the generated object file when
the ACS LINK command completes normally or is terminated.
20. 3.16 - /OUTPUT
/OUTPUT=file-spec
Requests that any ACS output generated before the linker
is invoked be written to the file specified rather than to
SYS$OUTPUT. Any diagnostic messages are written to both
SYS$OUTPUT and the file.
The default directory is the current default directory. If you
specify a file type but omit the file name, the default file name
is ACS. The default file type is .LIS. No wildcard characters are
allowed in the file specification.
By default, the ACS LINK command output is written to SYS$OUTPUT.
20. 3.17 - /PRINTER
/PRINTER[=queue-name]
/NOPRINTER (D)
Controls whether the log file is queued for printing when the
ACS LINK command is executed in batch mode (LINK/SUBMIT) and the
batch job is completed.
The /PRINTER qualifier allows you to specify a particular print
queue. The default print queue for the log file is SYS$PRINT.
By default, the log file is not queued for printing. If you
specify /NOPRINTER, /KEEP is assumed.
20. 3.18 - /QUEUE
/QUEUE=queue-name
Specifies the batch job queue in which the job is entered when
the ACS LINK command is executed in batch mode (LINK/SUBMIT).
By default, if the /QUEUE qualifier is not specified, the job is
placed in the default system batch job queue, SYS$BATCH.
20. 3.19 - /SUBMIT
/SUBMIT
Directs the program library manager to submit the command file
generated for the linker to a batch queue. You can continue to
enter commands in your current process without waiting for the
batch job to complete. The linker output is written to a batch
log file.
By default, the generated command file is executed in a
subprocess (LINK/WAIT).
20. 3.20 - /SYSLIB
/SYSLIB (D)
/NOSYSLIB
Controls whether the linker automatically searches the
default system library for unresolved references. The default
system library consists of the shareable image library
SYS$LIBRARY:IMAGELIB.OLB and the object module library
SYS$LIBRARY:STARLET.OLB.
By default, the default system library is automatically searched.
20. 3.21 - /SYSSHR
/SYSSHR (D)
/NOSYSSHR
Controls whether the linker automatically searches the default
system shareable image library SYS$LIBRARY:IMAGELIB.OLB for
unresolved references. If you specify the /NOSYSSHR qualifier,
only SYS$LIBRARY:STARLET.OLB is searched for unresolved
references.
By default, the default system shareable image library is
searched.
20. 3.22 - /SYSTEM_NAME
/SYSTEM_NAME=system
Directs the program library manager to produce an image for
execution on a particular operating system.
On VAX systems, the possible system values are VAX_VMS and
VAXELN. If VAX_VMS is specified, OpenVMS versions of the Ada run-
time library routines are used, and VMS-specific initialization
code is generated. If VAXELN is specified, VAXELN versions of
the Ada run-time library routines are used, and VAXELN-specific
initialization code is generated. For more information on VAXELN
Ada, see the VAXELN Ada Programming Guide.
On Alpha systems, the value of NAME is OpenVMS_AXP.
If the /SYSTEM_NAME qualifier is not specified in the ACS
LINK command, the setting of the pragma SYSTEM_NAME for the
current program library determines the target operating system
environment.
20. 3.23 - /THREADS_ENABLE
/THREADS_ENABLE[=(MULTIPLE_KERNEL_THREADS,UPCALLS)]
/NOTHREADS_ENABLE (default)
Kernel threads allow a multithreaded application to have a
thread executing on every CPU in a multiprocessor system. The
/THREADS_ENABLE qualifier allows you to turn kernel threads
on and off on a per-image basis.
When you specify this qualifier, the OpenVMS linker sets the
appropriate bits in the image header of the image being linked.
These bits control the following:
o Whether the image is allowed to enter a multiple kernel threads
environment
o Whether the image can receive upcalls from the OpenVMS scheduler
On Alpha systems, the MULTIPLE_KERNEL_THREADS keyword sets the
MULTIPLE_KERNEL_THREADS bit in the image header of the image being
built. This bit indicates to the image activator that the image
can be run in a multiple kernel threads environment.
If you specify this keyword for OpenVMS VAX links, it is ignored.
The UPCALLS keyword sets the UPCALLS bit in the OpenVMS image
header of the image being built. This bit indicates to the image
activator that the process can receive upcalls from the OpenVMS
scheduler.
For more information, consult the OpenVMS Linker documentation.
20. 3.24 - /TRACEBACK
/TRACEBACK (D)
/NOTRACEBACK
Controls whether the linker includes traceback information in the
executable image file for run-time error reporting.
By default, traceback information is included in the executable
image.
20. 3.25 - /USERLIBRARY
/USERLIBRARY[=(table[,...])]
/NOUSERLIBRARY
Controls whether the linker searches any user-defined default
libraries after it has searched any specified user libraries.
When you specify the /USERLIBRARY qualifier, the linker searches
the process, group, and system logical name tables to find
the file specifications of the user-defined libraries. (The
discussion of the linker in the OpenVMS Linker Utility Manual
explains user-defined default libraries.) You can specify the
following tables for the linker to search:
ALL The linker searches the process, group, and system
logical name tables for user-defined library
definitions.
GROUP The linker searches the group logical name table
for user-defined library definitions.
NONE The linker does not search any logical name table;
this specification is equivalent to /NOUSERLIBRARY.
PROCESS The linker searches the process logical name table
for user-defined library definitions.
SYSTEM The linker searches the system logical name table
for user-defined library definitions.
By default, the linker assumes /USERLIBRARY=ALL.
20. 3.26 - /WAIT
/WAIT
Directs the program library manager to execute the command file
generated for the linker in a subprocess. Execution of your
current process is suspended until the subprocess completes.
The linker output is written directly to your terminal. Note that
process logical names are propagated to the subprocess generated
to execute the command file.
By default, the program library manager executes the command file
generated for the linker in a subprocess: you must wait for the
subprocess to terminate before you can enter another command.
20.4 - Parameter Qualifiers
20. 4.1 - /INCLUDE
/INCLUDE=(object-file,...)
Indicates that the associated input file is a OpenVMS object
module library or shareable image library with a default file
type of .OLB, and that the named elements from that library
should be linked with the main program named in the ACS LINK
command.
20. 4.2 - /LIBRARY
/LIBRARY
Indicates that the associated input file is a OpenVMS object
module library or shareable image library to be searched for
modules to resolve any undefined symbols in the input files. The
default file type is .OLB.
By default, if you do not specify the /LIBRARY qualifier, the
file is assumed to be an object file with a default file type of
.OBJ.
20. 4.3 - /OPTIONS
/OPTIONS
Indicates that the associated input file is a OpenVMS linker
options file. The default file type is .OPT.
By default, if you do not specify the /OPTIONS qualifier, the
file is assumed to be an object file with a default file type of
.OBJ.
20. 4.4 - /SELECTIVE_SEARCH
/SELECTIVE_SEARCH
Omits from the output image symbol table all symbols from the
associated input object module that are not needed to resolve
outstanding references. The binary code in the object module is
always included.
20. 4.5 - /SHAREABLE
/SHAREABLE
Indicates that the associated input file is a OpenVMS shareable
image. The default file type is .EXE.
By default, if you do not specify the /SHAREABLE qualifier, the
file is assumed to be an object file with a default file type of
.OBJ.
20.5 - Examples
1.ACS> LINK HOTEL
Forms the closure of the unit HOTEL, which is a Compaq Ada main
program, creates a linker command file and package elaboration
file, then invokes the command file in a spawned subprocess.
2.ACS> LINK/SUBMIT HOTEL NETWORK.OLB/LIBRARY,NET.OPT/OPTIONS
%I, Job HOTEL (queue ALL_BATCH, entry 134) started on FAST_BATCH
Instructs the linker to link the closure of the Compaq Ada main
program HOTEL against the user library NETWORK.OLB, and to use
the linker options file NET.OPT. The /SUBMIT qualifier causes
the program library manager to submit the linker command file
as a batch job.
3.ACS> LINK/NOMAIN FLUID_VOLUME,COUNTER MONITOR.OBJ
Links the Compaq Ada units FLUID_VOLUME and COUNTER with the
foreign object file MONITOR.OBJ. The /NOMAIN qualifier tells
the linker that the image transfer address is in the foreign
file.
4.ACS> LINK HOTEL ELN$:RTL/INCLUDE=(KER$MSGDEF)
Links the closure of the Compaq Ada main program HOTEL against the
message object file KER$MSGDEF from the VAXELN message library
ELN$:RTL.OLB.
| 21 - LOAD |
Processes the Ada units contained in one or more source files.
Processing involves determining the compilation order for the
units in the files and invoking the Compaq Ada compiler to partially
compile the units. The partial compilation detects syntax errors
and updates the current program library with unit dependence and
source-file information.
Loaded
units are considered to be obsolete and must be subsequently
recompiled.
Format
LOAD file-spec[,...]
21.1 - Parameters
file-spec[,...]
Specifies one or more Compaq Ada source files to be loaded. If
you do not specify a file type, the compiler uses the default
file type of .ADA. Wildcard characters are allowed in the
file specifications. (See the OpenVMS User's Manual for more
information on wildcard characters.)
21.2 - Description
The ACS LOAD command invokes the Compaq Ada compiler to partially
compile the units contained in the specified files in any order.
The partial compilation detects syntax errors and updates the
current program library with unit dependence and source-file
information. Units that are loaded into a program library are
considered obsolete and must be subsequently recompiled. See
Developing Ada Programs on OpenVMS Systems for more information
on recompilation.
The LOAD command is useful for putting the units in a set of
files into a program library for the first time.
The LOAD command does not check for missing or duplicate
compilation units. (Units that have the same name are considered
to be duplicates.) The LOAD command allows unit bodies to
be loaded into the program library in the absence of their
corresponding specifications. Similarly, subunits may be loaded
into the library in the absence of their corresponding parent
(or ancestor) units. Because specifications, bodies, and subunits
can be loaded in any order, the program library can be incomplete
after a LOAD command has been executed. For example, the program
library could contain a package body without a specification or a
subunit without its corresponding parent unit.
For each set of files specified, the LOAD command goes through
the following steps:
1. Resolves any wildcards in the list of source files specified.
Within any one directory, the version of a particular file
that has the highest number is considered for compilation.
2. Creates a DCL command file for the compiler. The file contains
commands to compile the units in the source files. The command
file is deleted after the LOAD command is terminated, unless
you specified the /COMMAND qualifier. If you specified the
/COMMAND qualifier, the command file is retained for future
use, and the compiler is not invoked.
3. If you did not specify the /COMMAND qualifier, the Compaq Ada
compiler is invoked for syntax-only compilation as follows:
a. By default (LOAD/WAIT), the command file is executed in a
subprocess. You must wait for the compilation to terminate
before entering another command. Note that process logical
names are propagated to the subprocess generated to execute
the command file.
b. If you specified the /SUBMIT qualifier, the compiler
command file generated in step 2 is submitted as a batch
job.
c. For each unit being compiled, the compiler checks to see if
the unit is of the same name and kind as an existing unit
in the current program library. If a unit has the same name
and kind as an existing unit, a check is performed to see
if the two units are identical; that is, to see if their
source files have the same creation date and full file
specification. If the two units are identical, the library
is not updated with the new unit. If the two units are
not identical or if the new unit is unique, the compiler
updates the program library with the new unit.
21.3 - Command Qualifiers
21. 3.1 - /AFTER
/AFTER
Requests that the batch job be held until after a specific time
when the LOAD command is executed in batch mode (the default
mode). If the specified time has already passed, or if the /AFTER
qualifier is not specified, the job is queued for immediate
processing.
You can specify either an absolute time or a combination of
absolute and delta time. See the OpenVMS User's Manual (or
type HELP Specify Date_Time at the DCL prompt) for complete
information on specifying time values.
21. 3.2 - /BATCH_LOG
/BATCH_LOG=file-spec
Provides a file specification for the batch log file when the
LOAD command is executed in batch mode (the default mode).
If you do not give a directory specification with the file-spec
option, the batch log file is created by default in the current
default directory. If you do not give a file specification with
the file-spec option, the default file name is the job name
specified with the /NAME=job-name qualifier. If no job name
has been specified, the program library manager creates a file
name comprising up to the first 39 characters of the first unit
name specified. If no job name has been specified and there is
a wildcard character in the first unit specified, the program
library manager uses the default file name ACS_LOAD. The default
file type is .LOG. No wildcard characters are allowed in the file
specification.
21. 3.3 - /COMMAND
/COMMAND[=file-spec]
Controls whether the LOAD operations are performed as a result
of the LOAD command, and determines whether the command file
generated to perform the LOAD operations is saved. If you specify
the /COMMAND qualifier, the program library manager does not
perform the LOAD operations, and the generated command file is
saved for you to invoke or submit as a batch job.
The file-spec option allows you to enter a file specification for
the generated command file. The default directory for the command
file is the current default directory. By default, the program
library manager provides a file name comprising up to the first
39 characters of the first unit name specified. If you use a
wildcard character in the first unit name specified, the compiler
uses the default name ACS_LOAD. The default file type is .COM. No
wildcard characters are allowed in the file specification.
By default, if you do not specify the file-spec option, the
program library manager deletes the generated command file when
the LOAD command completes normally or is terminated.
21. 3.4 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the LOAD command displays the name of each file
before loading, and requests you to confirm whether or not the
file should be processed. If you specify the /CONFIRM qualifier,
the possible responses are as follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
o QUIT or Ctrl/Z indicates that you want to stop processing the
command at that point.
o ALL indicates that you want to continue processing the command
without any further prompts.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the prompt is reissued.
By default, no confirmation is requested.
21. 3.5 - /KEEP
/KEEP (D)
/NOKEEP
Controls whether the batch log file generated is deleted after it
is printed when the LOAD command is executed in batch mode (the
default mode).
By default, the log file is not deleted.
21. 3.6 - /LOG
/LOG
/NOLOG
Controls whether a list of all the files that will be loaded is
displayed.
By default, a list of the files that will be loaded is not
displayed.
21. 3.7 - /NAME
/NAME=job-name
Specifies a string to be used as the job name and as the file
name for the batch log file when the LOAD command is executed in
batch mode (the default mode). The job name can have from 1 to 39
characters.
By default, if you do not specify the /NAME qualifier, the
program library manager creates a job name comprising up to the
first 39 characters of the first file name specified. If you do
not specify the /NAME qualifier, but use a wildcard character in
the first file name specified, the compiler uses the default name
ACS_LOAD. In these cases, the job name is also the file name of
the batch log file.
21. 3.8 - /NOTIFY
/NOTIFY (D)
/NONOTIFY
Controls whether a message is broadcast when the NOTIFY command
is executed in batch mode (the default mode). The message is
broadcast to any terminal at which you are logged in, notifying
you that your job has been completed or terminated.
By default, a message is broadcast.
21. 3.9 - /OUTPUT
/OUTPUT=file-spec
Requests that any program library manager output generated before
the compiler is invoked be written to the file specified rather
than to SYS$OUTPUT. Any diagnostic messages are written to both
SYS$OUTPUT and the file.
The default directory is the current default directory. If you
specify a file type but omit the file name, the default file name
is ACS. The default file type is .LIS. No wildcard characters are
allowed in the file specification.
By default, the LOAD command output is written to SYS$OUTPUT.
21. 3.10 - /PRINTER
/PRINTER[=queue-name]
/NOPRINTER (D)
Controls whether the batch job log file is queued for printing
when the LOAD command is executed in batch mode.
The /PRINTER qualifier allows you to specify a particular print
queue. The default print queue for the log file is SYS$PRINT.
By default, the log file is not queued for printing. If you
specify the /NOPRINTER qualifier, the /KEEP qualifier is assumed.
21. 3.11 - /QUEUE
/QUEUE=queue-name
Specifies the batch job queue in which the job is entered when
the LOAD command is executed in batch mode.
By default, if the /QUEUE qualifier is not specified, the program
library manager first checks whether the logical name ADA$BATCH
is defined. If it is, the program library manager enters the
job in the queue specified. Otherwise, the job is placed in the
default system batch job queue, SYS$BATCH.
21. 3.12 - /SMART_RECOMPILATION
/SMART_RECOMPILATION (D)
/[NO]SMART_RECOMPILATION
Controls whether smart recompilation information is preserved
during the load operation. This information can be used in
subsequent operations to minimize recompilations.
When the /SMART_RECOMPILATION qualifier is in effect, smart
recompilation information from previous compilations is preserved
in the program library for each unit compiled.
If the /NOSMART_RECOMPILATION qualifier is specified, units are
loaded without preserving smart recompilation information.
21. 3.13 - /SUBMIT
/SUBMIT
Directs the program library manager to submit the command file
generated for the compiler to a batch queue. You can continue to
enter commands in your current process without waiting for the
batch job to complete. The compiler output is written to a log
file.
By default, the program library manager executes the command file
generated for the compiler in a subprocess (/WAIT).
21. 3.14 - /WAIT
/WAIT
Directs the program library manager to execute the command file
generated for the compiler in a subprocess. Execution of your
current process is suspended until the subprocess completes. The
compiler output is written directly to your terminal. Note that
process logical names are propagated to the subprocess generated
to execute the command file.
By default, the program library manager executes the command file
generated for the compiler in a subprocess (LOAD/WAIT).
21.4 - Positional Qualifiers
21. 4.1 - /BACKUP
/BACKUP
Selects files according to the dates of their most recent
backups. Modifies the time value specified with the /BEFORE or
/SINCE qualifier.
This qualifier is incompatible with the other qualifiers that
also allow you to select files according to time attributes:
/CREATED, /EXPIRED, and /MODIFIED. If you specify none of these
four time qualifiers, the default is /CREATED.
21. 4.2 - /BEFORE
/BEFORE[=time]
Selects only those files dated prior to the specified time.
You can specify time as an absolute time, as a combination of
absolute and delta times, or as one of the following keywords:
TODAY (the default), TOMORROW, or YESTERDAY. See the OpenVMS
User's Manual (or type HELP Specify Date_Time at the DCL prompt)
for complete information on specifying time values.
You can specify one of the following qualifiers with the /BEFORE
qualifier to indicate the time attribute to be used as the basis
for selection: /BACKUP, /CREATED (the default), /EXPIRED, or
/MODIFIED.
21. 4.3 - /BY_OWNER
/BY_OWNER[=uic]
Selects only those files whose owner user identification code
(UIC) matches the specified owner UIC. The default UIC is that of
the current process.
21. 4.4 - /COPY_SOURCE
/COPY_SOURCE (D)
/NOCOPY_SOURCE
Controls whether a copied source file is created in the current
program library when a compilation unit is loaded without error.
The ACS RECOMPILE command requires that a copied source file
exist in the current program library; the ACS COMPILE command
uses the copied source file if it cannot find an external source
file when it is recompiling an obsolete unit or completing an
incomplete generic instantiation (see Developing Ada Programs
on OpenVMS Systems. Copied source files may also be used by the
OpenVMS Debugger (see the Developing Ada Programs on OpenVMS
Systems for information on debugging tasks; see the OpenVMS
Debugger Manual for information on OpenVMS debugger).
By default, a copied source file is created in the current
program library when a unit is loaded without error.
21. 4.5 - /CREATED
/CREATED
Selects files based on their dates of creation. Modifies the time
value specified with the /BEFORE or /SINCE qualifier.
This qualifier is incompatible with the other qualifiers that
also allow you to select files according to time attributes:
/BACKUP, /EXPIRED, and /MODIFIED. If you specify none of these
four time qualifiers, the default is /CREATED.
21. 4.6 - /DESIGN
/DESIGN[=option]
/DESIGN[=option]
/NODESIGN (D)
Allows you to process Ada source files as a detailed program
design.
You can request the following options:
[NO]COMMENTS Determines whether comments are processed for
program design information. This option can be
specified with the ACS LOAD command, however,
it does not have an effect.
[NO]PLACEHOLDERS Determines whether LSE placeholders are
allowed. If you specify NOPLACEHOLDERS, then
only valid Ada syntax is allowed.
If you specify the /DESIGN qualifier without supplying any
options, the effect is the same as the following default:
/DESIGN=(COMMENTS,PLACEHOLDERS)
If you specify only one of the options with the /DESIGN
qualifier, the default value for the other option is
used. For example, /DESIGN=NOCOMMENTS is equivalent to
/DESIGN=(NOCOMMENTS,PLACEHOLDERS). In this case, both
qualifiers specify that placeholders are allowed. Similarly,
/DESIGN=NOPLACEHOLDERS is equivalent to /DESIGN=(COMMENTS,
NOPLACEHOLDERS). In this case, both qualifiers have no effect.
21. 4.7 - /DIAGNOSTICS
/DIAGNOSTICS[=file-spec]
/NODIAGNOSTICS (D)
Controls whether a diagnostics file containing compiler messages
and diagnostic information is created. The diagnostics file is
supported only for use with Digital layered products, such as the
DEC Language-Sensitive Editor.
One diagnostics file is created for each source file that is
compiled. The default directory for diagnostics files is the
current default directory. The default file name is the name
of the source file being compiled. The default file type of a
diagnostics file is .DIA. No wildcard characters are allowed in
the file specification.
By default, no diagnostics file is created.
21. 4.8 - /ERROR_LIMIT
/ERROR_LIMIT[=n]
/NOERROR_LIMIT
Controls whether execution of the LOAD command for a given
compilation unit is terminated upon the occurrence of the nth
E-level error within that unit.
Error counts are not accumulated across a sequence of compilation
units. If the /ERROR_LIMIT=n option is specified, each
compilation unit may have up to n - 1 errors without terminating
the compilation. When the error limit is reached within a
compilation unit, compilation of that unit is terminated, but
compilation of subsequent units continues.
The /ERROR_LIMIT=0 option is equivalent to ERROR_LIMIT=1.
By default, execution of the COMPILE command is terminated for
a given compilation unit upon the occurrence of the 30th E-level
error within that unit (equivalent to /ERROR_LIMIT=30).
21. 4.9 - /EXCLUDE
/EXCLUDE=(file-spec[,...])
Excludes the specified files from the LOAD operation. You can
include a directory but not a device in the file specification.
Wildcard characters are allowed in the file specification.
However, you cannot use relative version numbers to exclude a
specific version. If you provide only one file specification, you
can omit the parentheses.
21. 4.10 - /EXPIRED
/EXPIRED
Selects files according to their expiration dates. (The
expiration date is set with the DCL SET FILE/EXPIRATION_DATE
command.) Modifies the time value specified with the /BEFORE or
/SINCE qualifier.
This qualifier is incompatible with the other qualifiers that
also allow you to select files according to time attributes:
/BACKUP, /CREATED, and /MODIFIED. If you specify none of these
four time qualifiers, the default is /CREATED.
21. 4.11 - /LIST
/LIST[=file-spec]
/NOLIST (D)
Controls whether a listing file is created. One listing file is
created for each compilation unit (not file) compiled by the LOAD
command.
The default directory for listing files is the current default
directory. The default file name of a listing file corresponds
to the name of its compilation unit and uses the Compaq Ada file-
name conventions described in Developing Ada Programs on OpenVMS
Systems. The default file type of a listing file is .LIS. No
wildcard characters are allowed in the file specification.
By default, the LOAD command does not create a listing file.
21. 4.12 - /MODIFIED
/MODIFIED
Selects files according to the dates on which they were last
modified. Modifies the time value specified with the /BEFORE or
/SINCE qualifier.
This qualifier is incompatible with the other qualifiers that
also allow you to select files according to time attributes:
/BACKUP, /CREATED, and /EXPIRED. If you specify none of these
four time qualifiers, the default is /CREATED.
21. 4.13 - /NOTE_SOURCE
/NOTE_SOURCE (D)
/NONOTE_SOURCE
Controls whether the file specification of the source file is
noted in the program library when a unit is loaded without error.
The COMPILE command uses this information to locate revised
source files.
By default, the file specification of the source file is noted
in the current program library when a unit is compiled without
error.
21. 4.14 - /REPLACE
/REPLACE (D)
/NOREPLACE
Controls whether the loaded unit replaces a unit with the same
name that is already defined in the current program library. If
the /NOREPLACE qualifier is specified, and a unit already exists
in the program library with the same name as a unit being loaded,
a diagnostic message is issued, and the existing unit is not
replaced.
By default, the loaded unit replaces a unit with the same name
that is already defined in the current program library.
21. 4.15 - /SINCE
/SINCE
Selects only those files dated after the specified time. You
can specify time as an absolute time, a combination of absolute
and delta times, or as one of the following keywords: TODAY (the
default), TOMORROW, or YESTERDAY. See the OpenVMS User's Manual
(or type HELP Specify Date_Time at the DCL prompt) for complete
information on specifying time values.
You can specify one of the following qualifiers with the /SINCE
qualifier to indicate the time attribute to be used as the basis
for selection: /BACKUP, /CREATED (the default), /EXPIRED, or
/MODIFIED.
21. 4.16 - /WARNINGS
/WARNINGS[=(option[,...])]
/NOWARNINGS
Controls which categories of informational (I-level) and warning
(W-level) messages are displayed and where those messages are
displayed. You can specify any combination of the following
message options:
WARNINGS: (destination[,...])
NOWARNINGS
WEAK_WARNINGS: (destination[,...])
NOWEAK_WARNINGS
SUPPLEMENTAL: (destination[,...])
NOSUPPLEMENTAL
COMPILATION_NOTES: (destination[,...])
NOCOMPILATION_NOTES
STATUS: (destination[,...])
NOSTATUS
The possible values of destination are ALL, NONE, or any
combination of TERMINAL (terminal device), LISTING (listing
file), and DIAGNOSTICS (diagnostics file). The message categories
are summarized as follows (see Developing Ada Programs on OpenVMS
Systems for more information):
WARNINGS W-level: Indicates a definite problem in a legal
program-for example, an unknown pragma.
WEAK_WARNINGS I-level: Indicates a potential problem in
a legal program-for example, a possible
CONSTRAINT_ERROR at run time. These are the only
kind of I-level messages that are counted in the
summary statistics at the end of a compilation.
SUPPLEMENTAL I-level: Additional information associated with
previous E-level or W-level diagnostics.
COMPILATION_ I-level: Information about how the compiler
NOTES translated a program, such as record layout,
parameter-passing mechanisms, or decisions
made for the pragmas INLINE, INTERFACE, or the
import-subprogram pragmas.
STATUS I-level: End of compilation statistics and other
messages.
The defaults are as follows:
/WARNINGS=(WARN:ALL,WEAK:ALL,SUPP:ALL,COMP:NONE,STAT:LIST)
If you specify only some of the message categories with the
/WARNINGS qualifier, the default values for the other categories
are used.
21.5 - Example
$ ACS LOAD/NOCOPY_SOURCE [JONES.NEW_UNITS]*
.
.
.
$ ACS COMPILE/NOCOPY_SOURCE MAIN
.
.
.
$ ACS LINK MAIN
This series of commands builds the program MAIN from a set
of files that have never been previously compiled. The LOAD
command puts syntax-checked, obsolete units into the current
program library.
The COMPILE command recompiles the units from their original
source files. The LINK command creates an executable image for
the program MAIN. Note the use of /NOCOPY_SOURCE qualifiers to
control the creation of copied source files.
| 22 - MERGE |
Moves one or more units from the current program sublibrary to
its immediate parent program library.
Format
MERGE unit-name[,...]
22.1 - Parameters
unit-name[,...]
Specifies one or more units, in the current program library, that
are to be merged into the next library in the current path. You
must express subunit names using selected component notation as
follows:
ancestor-unit-name{.parent-unit-name}.subunit-name
The unit names may include percent signs (%) and asterisks (*)
as wildcard characters. (See the OpenVMS User's Manual for more
information on wildcard characters.)
22.2 - Description
The ACS MERGE command moves each specified unit's specification
and body (if any) from the current sublibrary to the parent
library. If a subunit name is specified, the MERGE command moves
the subunit into the parent library.
For each unit merged, the MERGE command moves its associated
files into the parent library and updates that library's index
file.
If the parent library already has a version of the unit to be
merged, the unit to be merged must have a more recent external
source file.
If you specified the ACS SET LIBRARY/PATH command to set the
current path, the ACS MERGE command moves one or more units
from the current program library to the next library in the
current path. In the case of sublibraries, the next library in
the current path is the parent library unless you explicitly set
the path otherwise. For more information on library search paths,
enter HELP ACS Library_Search_Paths.
22.3 - Command Qualifiers
22. 3.1 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the MERGE command displays the name of each unit
before merging and requests you to confirm whether or not the
unit should be merged. If you specify the /CONFIRM qualifier, the
possible responses are as follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
o QUIT or Ctrl/Z indicates that you want to stop processing the
command at that point.
o ALL indicates that you want to continue processing the command
without any further prompts.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the prompt is reissued.
By default, no confirmation is requested.
22. 3.2 - /ENTERED
/ENTERED[=library] (D)
/NOENTERED
Controls whether entered units are merged. You can use the
library option to merge units that were entered from a particular
library. When you specify the /NOENTERED qualifier, only the
units that have been compiled or copied into the current program
library are merged. Note that when you specify the /ENTERED
qualifier, local units are merged unless the /NOLOCAL qualifier
is also in effect (the defaults for these qualifiers are /LOCAL
and /ENTERED).
By default, all units, including entered units, are merged.
22. 3.3 - /KEEP
/KEEP
/NOKEEP (D)
Controls whether a copy of a unit being merged is retained in the
current program sublibrary after the merge operation.
By default, the unit is deleted from the current program library
after the merge operation.
22. 3.4 - /LOCAL
/LOCAL (D)
/NOLOCAL
Controls whether local units (those units that were added to the
library by a compilation or a COPY UNIT command) are merged. Note
that when you specify the /LOCAL qualifier, entered units are
merged unless the /NOENTERED qualifier is also in effect (the
defaults for these qualifiers are /LOCAL and /ENTERED).
By default, all units specified, including local units, are
merged.
22. 3.5 - /LOG
/LOG
/NOLOG (D)
Controls whether the name of each unit is displayed after it has
been merged.
By default, the names of merged units are not displayed.
22.4 - Positional Qualifiers
22. 4.1 - /BODY_ONLY
/BODY_ONLY
Merges only the body of the specified unit.
When you append the /BODY_ONLY qualifier to the MERGE command
string, any /SPECIFICATION_ONLY qualifiers that are appended to
parameters in the command line override the /BODY_ONLY qualifier
for those particular parameters. You cannot append both the
/BODY_ONLY qualifier and the /SPECIFICATION_ONLY qualifier to the
MERGE command string or to the same unit name parameter.
By default, if the /BODY_ONLY qualifier is omitted, the
specification, as well as the body, is merged.
22. 4.2 - /SPECIFICATION_ONLY
/SPECIFICATION_ONLY
Merges only the specification of the specified unit.
When you append the /SPECIFICATION_ONLY qualifier to the MERGE
command string, any /BODY_ONLY qualifiers that are appended to
parameters in the command line override the /SPECIFICATION_ONLY
qualifier for those particular parameters. You cannot append both
the /SPECIFICATION_ONLY qualifier and the /BODY_ONLY qualifier to
the MERGE command string or to the same unit name parameter.
By default, if the /SPECIFICATION_ONLY qualifier is omitted, the
body, as well as the specification, is merged.
22.5 - Example
ACS> SET LIBRARY [JONES.HOTEL.SUBLIB]
%I, Current program library is USER:[JONES.HOTEL.SUBLIB])
ACS> SHOW LIBRARY/FULL
Program library USER:[JONES.HOTEL.SUBLIB]
Sublibrary
of USER:[HOTEL.ADALIB]
.
.
.
ACS> MERGE RESERVATIONS.CANCEL
Establishes the sublibrary [JONES.HOTEL.SUBLIB] as the current
program sublibrary. The SHOW LIBRARY/FULL command identifies
the parent library [HOTEL.ADALIB]. The MERGE command copies the
subunit RESERVATIONS.CANCEL from the current program sublibrary
into the parent library, replacing any previous version of
RESERVATIONS.CANCEL in the parent library, then deletes the
original unit from the current program sublibrary.
If the copy of the unit in the parent library is newer than the
unit in the sublibrary, the unit is not merged.
| 23 - MODIFY |
23.1 - LIBRARY
Modifies the default path of a Compaq Ada program library or program
sublibrary.
Format
MODIFY LIBRARY/PATH lib-term[,...]
23. 1.1 - Parameters
lib-term[,...]
Specifies the new default library search path for the specified
library. For more information on library search paths, enter HELP
ACS Library_Search_Paths.
You can specify lib-term as follows:
o The directory specification of a Compaq Ada library. For example:
[JONES.HOTEL.ADALIB].
o The default path of a Compaq Ada library. To specify the default
path, you enter the name of a Compaq Ada library preceded by an
at sign(@). For example: @[JONES.HOTEL.ADALIB].
o A file specification preceded by an at sign (@). For example:
@[JONES.HOTEL]MYPATH.TXT. Note the that file, MYPATH.TXT, must
contain valid library terms.
If you do not specify a full file specification, the default
file name is PATH and the default file extension is .TXT.
You must use commas to separate more than one lib-term in a
library search path.
23. 1.2 - Description
The ACS MODIFY LIBRARY/PATH command redefines the default library
search path for a given library. If you do not specify a library
(you omit the /LIBRARY=directory-spec qualifier), the default
path for the current program library is redefined.
The ACS MODIFY LIBRARY/PATH command stores the specified library
search path in the given library in its original form. In other
words, the search path is stored exactly as you specified it on
the command line or with the editor. The command also evaluates
and verifies the new library search path, and reports any errors.
If you enter the ACS MODIFY LIBRARY/PATH command interactively
(that is, at the ACS> prompt), the current path is not
reevaluated. Therefore, if you modified the default path for the
current library, this modification will not take effect until
you reinvoke ACS.
For more information on library search paths, enter HELP ACS
Library_Search_Paths.
23. 1.3 - Command Qualifiers
23. 1. 3.1 - /EDIT
/EDIT[=edit_cmd]
/NOEDIT
Invokes an editor which allows you to edit the default path
associated with the current program library. The current
definition of the default path for the given library is placed in
a text file, and the editor specified by edit-cmd is invoked. If
you do not specify an editor with the /EDIT qualifier, callable
EDT is invoked. When you exit from the editor, the default
path for the library is redefined to be the library search path
contained in the edited file.
23. 1. 3.2 - /LIBRARY
Specifies a library whose default library search path is to be
modified. By default, the default path of the current program
library is modified.
23. 1. 3.3 - /PATH
/PATH
/NOPATH (D)
Specifies that the default library search path for the given
library is to be modified.
23. 1. 3.4 - /VERIFY
/VERIFY
/NOVERIFY
Controls whether the program library manager suppresses the
evaluation and verification of the new default path.
By default, the new default path is evaluated and verified.
23. 1.4 - Example
ACS> MODIFY LIBRARY/PATH/LIBRARY=[MY_LIB] [MY_LIB],[LIB1],[LIB2]
Redefines the default path of the library [MY_LIB] to be as
follows:
[MY_LIB]
[LIB1]
[LIB2]
Note that if you enter the ACS MODIFY LIBRARY command
interactively, the current path is not reevaluated. Therefore, if
you modified the default path for the current library, this
modification will not take effect until you reinvoke ACS.
| 24 - RECOMPILE |
Enters an ACS CHECK command for the specified units, then
recompiles (makes current) any obsolete unit that is part of
the closure of the set of units specified. Obsolete entered units
must be made current before you can use the ACS RECOMPILE command
(see the Description section).
NOTE
To be recompiled, units must have previously been compiled
with the /COPY_SOURCE qualifier (this is the default value
of this qualifier).
Format
RECOMPILE [unit-name[,...]]
24.1 - Parameters
[unit-name[,...]]
Specifies one or more units in the current program library whose
closure is to be processed by the ACS RECOMPILE command. You
must express subunit names using selected component notation as
follows:
ancestor-unit-name{.parent-unit-name}.subunit-name
The unit names may include percent signs (%) and asterisks
(*) as wildcard characters. (See the OpenVMS User's Manual for
detailed information on wildcard characters.)
If you do not specify any units with the ACS RECOMPILE command,
the command uses whatever units were involved with the most
recent ACS CHECK command.
24.2 - Description
The ACS RECOMPILE command is designed to be used when a unit or
a set of units must be compiled again, but the original source
code has not changed. Therefore, the RECOMPILE command is useful for
performing the following operations:
o To make an obsolete unit or set of units current (see
Developing Ada Programs on OpenVMS Systems for definitions
of obsolescence and currency).
o To complete incomplete generic instantiations, once the
missing or changed generic body has been compiled into the
current program library.
o To recompile units after the value of a global program library
characteristic such as LONG_FLOAT or SYSTEM_NAME has been
changed (for example, after you have used the ACS SET PRAGMA
command).
o To obtain new versions of some units, compiled with a
particular combination of compilation qualifiers (for example,
/OPTIMIZE=SPACE, /CHECK, and so on). In this case, the units
are not obsolete, but the RECOMPILE command, in combination
with the /OBSOLETE qualifier, can be used to force the
recompilation of the entire execution closure of a set of
units.
The RECOMPILE command goes through the following steps:
1. Forms the execution closure of the specified units.
2. Determines whether each unit in the closure is in the program
library and is current. Units entered from other program
libraries as well as those compiled or copied into the current
program library are checked.
3. If all units in the closure are in the program library and are
current, issues an informational message and terminates the
operation.
4. Identifies any unit in the closure that is missing from the
current program library.
5. Identifies any unit in the closure that is obsolete and must
be recompiled.
6. If any units in the closure are obsolete, creates a DCL
command file for the compiler. The file contains commands
to compile the copied source file of each obsolete unit
in the proper order. Entered units are not considered
for recompilation. The command file is deleted after the
RECOMPILE command is completed or terminated, unless the
/COMMAND qualifier is specified. If the /COMMAND qualifier is
specified, the command file is retained for future use, and
the compiler is not invoked.
7. Unless the /COMMAND qualifier is specified, invokes the DEC
Ada compiler as follows:
a. By default (RECOMPILE/WAIT), the command file is executed
in a subprocess. You must wait for the compilation to
terminate before entering another command. When the
/WAIT qualifier is in effect, process logical names are
propagated to the subprocess generated to execute the
command file.
b. If you specify the /SUBMIT qualifier, the compiler command
file generated in step 2 is submitted as a batch job.
Note the use of copied source files in the recompilation.
Files external to the current program library are ignored. If
a copied source file needed for the recompilation is missing
(because the /NOCOPY_SOURCE qualifier was specified in a previous
compilation), the program library manager identifies the missing
file, and the recompilation is not attempted. Therefore, if you intend
to use the RECOMPILE command, you should not compile units with
the /NOCOPY_SOURCE qualifier.
If the closure you are recompiling includes an obsolete entered
unit, that unit is not affected by the RECOMPILE command; an
error diagnostic is issued and the RECOMPILE command is not
executed. You should recompile an obsolete entered unit in its
own program library and then reenter it into the current program
library before you try to recompile its dependent units in the
current library.
Program library manager output originating before the compiler
is invoked is reported to your terminal by default, or to a file
specified with the /OUTPUT qualifier. Compiler diagnostics are
to your terminal, by default, or to a log file if the command
file is executed in batch mode (by way of the RECOMPILE/SUBMIT
command).
See Developing Ada Programs on OpenVMS Systems for more
information on the RECOMPILE command.
24.3 - Command Qualifiers
24. 3.1 - /AFTER
/AFTER=time
Requests that the batch job be held until after a specific
time when the command file is executed in batch mode. If the
specified time has already passed, or if the /AFTER qualifier is
not specified, the job is queued for immediate processing.
You can specify either an absolute time or a combination of
absolute and delta time. See the OpenVMS User's Manual (or
type HELP Specify Date_Time at the DCL prompt) for complete
information on specifying time values.
24. 3.2 - /ANALYSIS_DATA
/ANALYSIS_DATA[=file-spec]
/NOANALYSIS_DATA (D)
Controls whether a data analysis file containing source code
cross-reference and static analysis information is created. The
data analysis file is supported only for use with Digital layered
products, such as the DEC Source Code Analyzer.
One data analysis file is created for each copied source file
that is recompiled. The default directory for data analysis
files is the current default directory. The default file name
is the name of the source file being compiled. The default file
type is .ANA. No wildcard characters are allowed in the file
specification.
By default, no data analysis file is created.
24. 3.3 - /ARCHITECTURE
Controls the use of new Alpha instructions.
The syntax for this switch is as follows:
/ARCHITECTURE = { GENERIC | HOST | EV4 | EV5 | EV56 }
Setting the /ARCH switch causes a corresponding setting in the /TUNE
switch. (See the Release Notes for more information.)
24. 3.4 - /BATCH_LOG
/BATCH_log=file-spec
Provides a file specification for the batch log file when the
command file is executed in batch mode.
If you do not give a directory specification with the file-spec
option, the batch log file is created by default in the current
default directory. If you do not give a file specification with
the file-spec option, the default file name is the job name
specified with the /NAME=job-name qualifier. If no job name
has been specified, the program library manager creates a file
name comprising up to the first 39 characters of the first unit
name specified. If no job name has been specified and there is
a wildcard character in the first unit specified, the program
library manager uses the default file name ACS_RECOMPILE. The
default file type is .LOG. No wildcard characters are allowed in
the file specification.
24. 3.5 - /CHECK
/CHECK
/NOCHECK
Controls whether all run-time checks are suppressed. The /NOCHECK
qualifier is equivalent to having all possible SUPPRESS pragmas
in the source code.
Explicit use of the /CHECK qualifier overrides any occurrences of
the pragmas SUPPRESS and SUPPRESS_ALL in the source code, without
the need to edit the source code.
By default, run-time checks are only suppressed in cases where a
pragma SUPPRESS or SUPPRESS_ALL appears in the source code.
See the DEC Ada Language Reference Manual for more information on
the pragmas SUPPRESS and SUPPRESS_ALL.
24. 3.6 - /CLOSURE
/CLOSURE
Causes the /SPECIFICATION_ONLY to apply to all units in the
closure of units named in the RECOMPILE command. (Without the
/CLOSURE qualifier, the /SPECIFICATION_ONLY qualifier applies
only to the units named in the command.)
See the description of the /SPECIFICATION_ONLY qualifier in the
list of command qualifiers.
24. 3.7 - /COMMAND
/COMMAND[=file-spec]
Controls whether the compiler is invoked as a result of the
RECOMPILE command, and determines whether the command file
generated to invoke the compiler is saved. If you specify the
/COMMAND qualifier, the program library manager does not invoke
the compiler, and the generated command file is saved for you to
invoke or submit as a batch job.
The file-spec option allows you to enter a file specification
for the generated command file. The default directory for the
command file is the current default directory. By default, the
program library manager provides a file name comprising up to
the first 39 characters of the first unit name specified. If you
use a wildcard character in the first unit name specified, the
compiler uses the default name ACS_RECOMPILE. The default file
type is .COM. No wildcard characters are allowed in the file
specification.
By default, if you do not specify the /COMMAND qualifier, the
program library manager deletes the generated command file when
the RECOMPILE command completes normally or is terminated.
24. 3.8 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the RECOMPILE command asks you for confirmation
before performing a possibly lengthy operation. If you specify
the /CONFIRM qualifier, the possible responses are as follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the prompt is reissued.
By default, no confirmation is requested.
24. 3.9 - /COPY_SOURCE
/COPY_SOURCE (D)
/NOCOPY_SOURCE
Controls whether a copied source file is created in the current
program library when a compilation unit is recompiled without
error. The ACS RECOMPILE command requires that a copied source
file exist in the current program library; the ACS COMPILE
command uses the copied source file if it cannot find an external
source file when it is recompiling an obsolete unit or completing
an incomplete generic instantiation (see Developing Ada Programs
on OpenVMS Systems. Copied source files may also be used by the
OpenVMS Debugger (see the Developing Ada Programs on OpenVMS
Systems for more information on debugging tasks; see OpenVMS
Debugger Manual for more information on the OpenVMS debugger).
The /[NO]COPY_SOURCE qualifier has an effect with the RECOMPILE
command only for those obsolete units in a parent library that
are being recompiled into the current sublibrary to make them
current. In this case, by default, a copied source file is
created in the current program library when a unit is recompiled
without error.
24. 3.10 - /DEBUG
/DEBUG[=(option[,...])] (D)
/NODEBUG
Controls which debugger compiler options are provided. You
can debug Compaq Ada programs with the OpenVMS Debugger (see the
Developing Ada Programs on OpenVMS Systems for more information
on debugging tasks; see the OpenVMS Debugger Manual for more
information on the OpenVMS debugger).
You can request the following options:
ALL Provides both SYMBOLS and TRACEBACK
NONE Provides neither SYMBOLS nor TRACEBACK
[NO]SYMBOLS Controls whether debugger symbol records are
included in the object file
[NO]TRACEBACK Controls whether traceback information (a subset
of the debugger symbol information) is included in
the object file
By default, both debugger symbol records and traceback
information are included in the object files (/DEBUG=ALL, or
equivalently: /DEBUG).
24. 3.11 - /DESIGN
/DESIGN[=option]
/DESIGN[=option]
/NODESIGN (D)
Controls whether a design-level check is performed when
identifying obsolete units. A unit is not considered obsolete
just because it is design-checked only.
Also directs the compiler to process Ada source files as a
detailed program design. For each unit that is design checked
without error, the program library is updated with information
about that unit. Design-checked units are considered to be
obsolete in operations that require full compilation and must
be recompiled.
You can request the following options:
[NO]COMMENTS Determines whether comments are processed for
program design information. For the COMMENTS
option to have effect, you must specify the
/ANALYSIS_DATA qualifier with the ADA command.
See Guide to Source Code Analyzer for VMS
Systems for more information on using the
Source Code Analyzer (SCA).
If you specify NOCOMMENTS, comments are
ignored.
[NO]PLACEHOLDERS Determines whether design checking is
performed. If you specify PLACEHOLDERS,
compilation units are design checked-LSE
placeholders are allowed and some of the
Ada language rules are relaxed so that you
can omit some implementation details. If you
specify NOPLACEHOLDERS, full compilation is
done-the compiler is invoked, LSE placeholders
are not allowed, and Ada language rules are
not relaxed.
Note that when you specify this option with
the /SYNTAX_ONLY qualifier, it determines only
whether LSE placeholders are allowed. If you
specify NOPLACEHOLDERS, then only valid Ada
syntax is allowed.
If you specify the /DESIGN qualifier without supplying any
options, the effect is the same as the following default:
/DESIGN=(COMMENTS,PLACEHOLDERS)
If you specify only one of the options with the /DESIGN
qualifier, the default value for the other option is
used. For example, /DESIGN=NOCOMMENTS is equivalent to
/DESIGN=(NOCOMMENTS,PLACEHOLDERS). In this case, both qualifiers
specify that the unit is design-checked, but comment information
is not collected. Similarly, /DESIGN=NOPLACEHOLDERS is equivalent
to /DESIGN=(COMMENTS,NOPLACEHOLDERS). In this case, both
qualifiers specify that comment information is collected, but
the unit is not design-checked (that is, in the absence of the
/SYNTAX_ONLY qualifier, units are fully compiled).
24. 3.12 - /DIAGNOSTICS
/DIAGNOSTICS[=file-spec]
/NODIAGNOSTICS (D)
Controls whether a diagnostics file containing compiler messages
and diagnostic information is created. The diagnostics file is
supported only for use with Digital layered products, such as the
DEC Language-Sensitive Editor.
By default, a diagnostics file is created from the copied source
file for each unit that is recompiled.
24. 3.13 - /ERROR_LIMIT
/ERROR_LIMIT[=n]
/NOERROR_LIMIT
Controls whether execution of the RECOMPILE command for a given
compilation unit is terminated upon the occurrence of the nth
E-level error within that unit.
Error counts are not accumulated across a sequence of compilation
units. If the /ERROR_LIMIT=n option is specified, each
compilation unit may have up to n - 1 errors without terminating
the compilation. When the error limit is reached within a
compilation unit, compilation of that unit is terminated, but
compilation of subsequent units continues.
The /ERROR_LIMIT=0 option is equivalent to ERROR_LIMIT=1.
By default, execution of the RECOMPILE command is terminated
for a given compilation unit upon the occurrence of the 30th E-
level error within that compilation unit (equivalent to /ERROR_
LIMIT=30).
24. 3.14 - /EXPORT_INTERFACE
/EXPORT_INTERFACE=ADA (D)
/EXPORT_INTERFACE=FORTRAN
/EXPORT_INTERFACE=DEFAULT
This qualifier sets the passing mechanism chosen for string parameters
for exported subprograms unless an export pragma specifically specifies
the passing mechanism.
The default is ADA, which uses dope vectors for the passing mechanism.
FORTRAN or DEFAULT will use VAX descriptors for the passing mechanism.
For more information, please see the Compaq Ada release notes.
24. 3.15 - /KEEP
/KEEP (D)
/NOKEEP
Controls whether the batch log file generated is deleted after it
is printed when the command file is executed in batch mode.
By default, the log file is not deleted.
24. 3.16 - /LIST
/LIST[=file-spec]
/NOLIST (D)
Controls whether a listing file is created. One listing file is
created for each compilation unit (not file) recompiled by the
RECOMPILE command. The default directory for listing files is
the current default directory. The default file name of a listing
file corresponds to the name of its compilation unit and uses
the Compaq Ada file-name conventions described in Developing Ada
Programs on OpenVMS Systems.
The default file type of a listing file is .LIS. No wildcard
characters are allowed in the file specification.
By default, the RECOMPILE command does not create a listing file.
24. 3.17 - /LOG
/LOG
/NOLOG (D)
Controls whether a list of all the units that must be recompiled
is displayed.
By default, a list of the units that must be recompiled is not
displayed.
24. 3.18 - /MACHINE_CODE
/MACHINE_CODE
/NOMACHINE_CODE (D)
Controls whether generated machine code (approximating assembler
notation) is included in the listing file.
By default, generated machine code is not included in the listing
file.
24. 3.19 - /NAME
/NAME=job-name
Specifies a string to be used as the job name and as the file
name for the batch log file when the command file is executed in
batch mode. The job name can have from 1 to 39 characters.
By default, if you do not specify the /NAME qualifier, the
program library manager creates a job name comprising up to the
first 39 characters of the first unit name specified. If you do
not specify the /NAME qualifier, but use a wildcard character in
the first unit name specified, the compiler uses the default name
ACS_RECOMPILE. In these cases, the job name is also the file name
of the batch log file.
24. 3.20 - /NOTE_SOURCE
/NOTE_SOURCE (D)
/NONOTE_SOURCE
Controls whether the file specification of the source file is
noted in the program library when a unit is recompiled without
error. The COMPILE command uses this information to locate
revised source files.
The /[NO]NOTE_SOURCE qualifier has no effect with the RECOMPILE
command.
24. 3.21 - /NOTIFY
/NOTIFY (D)
/NONOTIFY
Controls whether a message is broadcast when the RECOMPILE
command is executed in batch mode. The message is broadcast to
any terminal at which you are logged in, notifying you that your
job has been completed or terminated.
By default, a message is broadcast.
24. 3.22 - /OBSOLETE
/OBSOLETE=(option[,...])
/NOOBSOLETE (D)
Affects the overall set of units that is identified as obsolete.
When the execution closure of the units in the parameter list
of the command is performed, the units named with the UNIT,
SPECIFICATION, and BODY keywords are assumed to be obsolete as
described below. If one of those units is not in the execution
closure of the units named in the command's parameter list, it is
not added to the closure.
Unit names are specified with the UNIT, SPECIFICATION, and BODY
keywords as follows:
UNIT:(unit_ The specifications and bodies of units
name[,...]) specified with the UNIT keyword are assumed
to be obsolete.
SPECIFICATION:(unit_ Only the specifications of units specified
name[,...]) with the SPECIFICATION keyword are assumed
to be obsolete.
BODY:(unit_ Only the bodies of units specified with the
name[,...]) BODY keyword are assumed to be obsolete.
You must specify at least one of these keywords. Unit names can
contain wildcard characters.
When the /SMART_RECOMPILATION qualifier is in effect, dependent
units of the specified unit may or may not be recompiled. To
force recompilation of dependent units when smart recompilation
is in effect, use the /OBSOLETE=UNIT:* qualifier. (See Developing
Ada Programs on OpenVMS Systems for more information.)
By default, units are identified as obsolete based on the current
state of the program library.
24. 3.23 - /OPTIMIZE
/OPTIMIZE[=(option[,...])]
/NOOPTIMIZE
Controls the level of optimization that is applied in producing
the compiled code. You can specify one of the following primary
options:
TIME Provides full optimization with time as the primary
optimization criterion. Overrides any occurrences
of the pragma OPTIMIZE(SPACE) in the source code.
SPACE Provides full optimization with space as the
primary optimization criterion. Overrides any
occurrences of the pragma OPTIMIZE(TIME) in the
source code.
DEVELOPMENT Suggested when active development of a program
is in progress. Provides some optimization, but
development considerations and ease of debugging
take preference over optimization. This option
overrides pragmas that establish a dependence on
a subprogram or generic body (the pragmas INLINE
and INLINE_GENERIC), and therefore reduces the need for
recompilations when such bodies are modified. This
option also disables generic code sharing.
NONE Provides no optimization. Suppresses inline
expansions of subprograms and generics, including
those specified by the pragmas INLINE and INLINE_
GENERIC. Suppresses occurrences of the pragma
SHARE_GENERIC and disables generic code sharing.
The /NOOPTIMIZE qualifier is equivalent to /OPTIMIZE=NONE.
By default, the RECOMPILE command applies full optimization with
time as the primary optimization criterion (like /OPTIMIZE=TIME,
but observing uses of the pragma OPTIMIZE).
The /OPTIMIZE qualifier also has a set of secondary options that
you can use separately or together with the primary options to
override the default behavior for inline expansion (generic and
subprogram) and generic code sharing.
The INLINE secondary option can have the following values (see
the DEC Ada Run-Time Reference Manual for OpenVMS Systems for
more information about inline expansion):
NONE Disables subprogram and generic inline
expansion. This option overrides any occurrences
of the pragmas INLINE or INLINE_GENERIC in the
source code, without your having to edit the
source file. It also disables implicit inline
expansion of subprograms. (Implicit inline
expansion means that the compiler assumes a
pragma INLINE for certain subprograms as an
optimization.) A call to a subprogram or an
instance of a generic in another unit is not
expanded inline, regardless of the /OPTIMIZE
options in effect when that unit was compiled.
NORMAL Provides normal subprogram and generic inline
expansion.
Subprograms to which an explicit pragma INLINE
applies are expanded inline under certain
conditions. In addition, some subprograms are
implicitly expanded inline. The compiler assumes
a pragma INLINE for calls to some small local
subprograms (subprograms that are declared in
the same unit as the unit in which the call
occurs).
Instances are compiled separately from the unit
in which the instantiation occurred unless a
pragma INLINE_GENERIC applies to the instance.
If a pragma INLINE_GENERIC applies and the
generic body has been compiled, the generic is
expanded inline at the point of instantiation.
SUBPROGRAMS Provides maximal subprogram inline expansion and
normal generic inline expansion.
In addition to the normal subprogram inline
expansion that occurs when INLINE:NORMAL is
specified, this option results in implicit
inline expansion of some small subprograms
declared in other units. The compiler assumes a
pragma INLINE for any subprogram if it improves
execution speed and reduces code size. This
option may establish a dependence on the body of
another unit, as would be the case if a pragma
INLINE were specified explicitly in the source
code.
With this option, generic inline expansion
occurs in the same manner as for INLINE:NORMAL.
GENERICS Provides normal subprogram inline expansion and
maximal generic inline expansion.
With this option, subprogram inline expansion
occurs in the same manner as for INLINE:NORMAL.
The compiler assumes a pragma INLINE_GENERIC for
every instantiation in the unit being compiled
unless an explicit pragma SHARE_GENERIC applies.
This option may establish a dependence on the
body of another unit, as would be the case if a
pragma INLINE_GENERIC were specified explicitly
in the source code.
MAXIMAL Provides maximal subprogram and generic inline
expansion.
Maximal subprogram inline expansion occurs as
for INLINE:SUBPROGRAMS, and maximal generic
inline expansion occurs as for INLINE:GENERICS.
The SHARE secondary option can have the following values:
NONE Disables generic sharing. This option overrides
the effect of any occurrences of the pragma SHARE_
GENERIC in the source code, without your having to
edit the source file. In addition, instances do not
share code from previous instantiations.
NORMAL Provides normal generic sharing. Normally, the
compiler will not attempt to generate shareable
code for an instance (code that can be shared
by subsequent instantiations) unless an explicit
pragma SHARE_GENERIC applies to that instance.
However, an instance will attempt to share code
that resulted from a previous instantiation to
which the pragma SHARE_GENERIC applied.
MAXIMAL Provides maximal generic sharing. The compiler
assumes that a pragma SHARE_GENERIC applies to
every instance in the unit being compiled unless
an explicit pragma INLINE_GENERIC applies. Therefore, an
instance will attempt to share code that resulted
from a previous instantiation or to generate code
that can be shared by subsequent instantiations.
SHARE:MAXIMAL cannot be used in combination with
INLINE:GENERICS or INLINE:MAXIMAL.
By default, if you specify one of the /OPTIMIZE
qualifier primary options on the left (for example,
/OPTIMIZE=TIME), it has the same effect as specifying
the secondary-option values to the right (in this case,
/OPTIMIZE=(TIME,INLINE:NORMAL,SHARE:NORMAL)):
TIME /OPTIMIZE=(TIME,INLINE:NORMAL,SHARE:NORMAL)
SPACE /OPTIMIZE=(SPACE,INLINE:NORMAL,SHARE:NORMAL)
DEVELOPMENT /OPTIMIZE=(DEVELOPMENT,INLINE:NONE,SHARE:NONE)
NONE /OPTIMIZE=(NONE,INLINE:NONE,SHARE:NONE)
See Developing Ada Programs on OpenVMS Systems for more
information about the /OPTIMIZE qualifier and its options.
24. 3.24 - /OUTPUT
/OUTPUT=file-spec
Requests that any program library manager output generated before
the compiler is invoked be written to the file specified rather
than to SYS$OUTPUT. Any diagnostic messages are written to both
SYS$OUTPUT and the file.
The default directory is the current default directory. If you
specify a file type but omit the file name, the default file name
is ACS. The default file type is .LIS. No wildcard characters are
allowed in the file specification.
By default, the RECOMPILE command output is written to
SYS$OUTPUT.
24. 3.25 - /PRINTER
/PRINTER[=queue-name]
/NOPRINTER (D)
Controls whether the batch job log file is queued for printing
when the command file is executed in batch mode.
The /PRINTER qualifier allows you to specify a particular print
queue. The default print queue for the log file is SYS$PRINT.
By default, the log file is not queued for printing. If you
specify the /NOPRINTER qualifier, the /KEEP qualifier is assumed.
24. 3.26 - /QUEUE
/QUEUE=queue-name
Specifies the batch job queue in which the job is entered when
the command file is executed in batch mode.
By default, if the /QUEUE qualifier is not specified, the program
library manager first checks whether the logical name ADA$BATCH
is defined. If it is, the program library manager enters the
job in the queue specified. Otherwise, the job is placed in the
default system batch job queue, SYS$BATCH.
24. 3.27 - /SHOW
/SHOW[=option] (D)
/NOSHOW
Controls the listing file options included when a listing file is
provided. You can specify one of the following options:
ALL Provides all listing file options.
[NO]PORTABILITYControls whether a program portability summary is
included in the listing file (see Developing Ada
Programs on OpenVMS Systems).
NONE Provides none of the listing file options (same as
/NOSHOW).
By default, the RECOMPILE command provides a portability summary
(/SHOW=PORTABILITY).
24. 3.28 - /SMART_RECOMPILATION
/SMART_RECOMPILATION (D)
/NOSMART_RECOMPILATION
Controls whether smart recompilation information is stored and
used to identify obsolete units.
When the /SMART_RECOMPILATION qualifier is in effect, detailed
information about dependences is stored in the program
library for each unit compiled. This information describes the
dependences of a unit at a finer level than the compilation unit
level.
The ACS RECOMPILE command uses this information to detect when
a unit in the closure is not affected by changes (if any) in its
referenced units that are recompiled. The ACS RECOMPILE command
does not recompile such dependent units and therefore minimizes
unnecessary recompilations.
If smart recompilation is not in effect, detailed information
about dependences is not stored in the program library, and units
are considered obsolete and recompiled based on their time of
compilation. (See Developing Ada Programs on OpenVMS Systems for
more information.)
24. 3.29 - /SPECIFICATION_ONLY
/SPECIFICATION_ONLY
Causes only the specifications of the units specified to be
considered for recompilation. You can use the /CLOSURE qualifier
with the /SPECIFICATION_ONLY qualifier to force only the
specifications in the execution closure of the specified units
to be considered for recompilation.
By default, if the /SPECIFICATION_ONLY qualifier is omitted,
all of the specifications, bodies, and subunits in the execution
closure of the units specified are considered for compilation.
24. 3.30 - /STATISTICS
/STATISTICS (D)
/NOSTATISTICS
Controls whether statistical information is displayed during
recompilation. Statistical information includes the number of
obsolete and possibly obsolete units, the total elasped time for
the last compilation of the identified units, and the estimated
elasped time savings due to smart recompilation.
24. 3.31 - /SUBMIT
/SUBMIT
Directs the program library manager to submit the command file
generated for the compiler to a batch queue. You can continue to
enter commands in your current process without waiting for the
batch job to complete. The compiler output is written to a log
file.
By default, the program library manager executes the command file
for the compiler in a subprocess (by way of the RECOMPILE/WAIT
command).
24. 3.32 - /SYNTAX_ONLY
/SYNTAX_ONLY
/NOSYNTAX_ONLY (D)
Controls whether a syntax-level check is performed when
identifying obsolete units. A unit is not considered obsolete
just because it is syntax-checked only. Because all units in a
program library are at least syntax-checked, in effect, this
qualifier generally identifies all units as current.
The /SYNTAX_ONLY qualifier also directs the compiler to process
source files for syntax only. Other compiler checks are not
performed (for example, semantic analysis, type checking, and
so on).
By default, the RECOMPILE command performs full checking when
identifying obsolete units (and the compiler fully compiles
units).
24. 3.33 - /TUNE
Selects processor-specific instruction tuning for implementations of
the Alpha architecture. Tuning for a specific implementation can
provide improvements in runtime performance. The syntax for this switch
is as follows:
/TUNE = { GENERIC | HOST | EV4 | EV5 | EV56 }
For more information, see the Release Notes.
24. 3.34 - /WAIT
/WAIT
Directs the program library manager to execute the command file
generated for the compiler in a subprocess. Execution of your
current process is suspended until the subprocess completes. The
compiler output is written directly to your terminal. Note that
process logical names are propagated to the subprocess generated
to execute the command file.
By default, the program library manager executes the command file
generated for the compiler to a subprocess: you must wait for the
subprocess to terminate before you can enter another command.
24. 3.35 - /WARNINGS
/WARNINGS[=(option[,...])]
/NOWARNINGS
Controls which categories of informational (I-level) and warning
(W-level) messages are displayed and where those messages are
displayed. You can specify any combination of the following
message options:
WARNINGS: (destination[,...])
NOWARNINGS
WEAK_WARNINGS: (destination[,...])
NOWEAK_WARNINGS
SUPPLEMENTAL: (destination[,...])
NOSUPPLEMENTAL
COMPILATION_NOTES: (destination[,...])
NOCOMPILATION_NOTES
STATUS: (destination[,...])
NOSTATUS
The possible values of destination are ALL, NONE, or any
combination of TERMINAL (terminal device), LISTING (listing
file), and DIAGNOSTICS (diagnostics file). The message categories
are summarized as follows (see Developing Ada Programs on OpenVMS
Systems for more information):
WARNINGS W-level: Indicates a definite problem in a legal
program-for example, an unknown pragma.
WEAK_WARNINGS I-level: Indicates a potential problem in
a legal program-for example, a possible
CONSTRAINT_ERROR at run time. These are the only
kind of I-level messages that are counted in the
summary statistics at the end of a compilation.
SUPPLEMENTAL I-level: Additional information associated with
previous E-level or W-level diagnostics.
COMPILATION_ I-level: Information about how the compiler
NOTES translated a program, such as record layout,
parameter-passing mechanisms, or decisions
made for the pragmas INLINE, INTERFACE, or the
import-subprogram pragmas.
STATUS I-level: End of compilation statistics and other
messages.
The defaults are as follows:
/WARNINGS=(WARN:ALL,WEAK:ALL,SUPP:ALL,COMP:NONE,STAT:LIST)
If you specify only some of the message categories with the
/WARNINGS qualifier, the default values for the other categories
are used.
24.4 - Examples
1.ACS> RECOMPILE/SUBMIT/LOG HOTEL
%I, The following syntax-checked units are obsolete:
RESERVATIONS
package specification 4-NOV-1992 20:00:45.97
HOTEL
procedure body 4-NOV-1992 20:05:16.26
2 obsolete units
%I, Job HOTEL (queue ALL_BATCH, entry 448) started on FAST_BATCH
Lists all of the units in the closure of unit HOTEL that
need to be recompiled, then submits the compiler command file
generated by the program library manager as a batch job.
2.ACS> RECOMPILE/CLOSURE/NOCHECK/COMMAND HOTEL
Creates and retains the compiler command file generated by the
program library manager. The command file has the file name and
type HOTEL.COM, by default.
| 25 - REENTER |
Enters current references to units that were entered into the
current program library and subsequently compiled in their
original libraries.
Format
REENTER unit-name[,...]
25.1 - Parameters
unit-name[,...]
Specifies one or more units to be reentered into the current
program library. You must express subunit names using selected
component notation as follows:
ancestor-unit-name{.parent-unit-name}.subunit-name
The unit names may include percent signs (%) and asterisks (*)
as wildcard characters. (See the OpenVMS User's Manual for more
information on wildcard characters.)
25.2 - Description
The ACS REENTER command, like the ACS ENTER UNIT command,
operates on a specified unit's specification plus its body and
subunits, if any. For each unit specified, the REENTER command
looks up the unit in its original program library and enters the
current definition of the unit into the current program library.
By default, if a specified unit's definition is current, it is
not reentered.
25.3 - Command Qualifiers
25. 3.1 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the REENTER command displays the unit name of
each unit before reentering and requests you to confirm whether
or not the unit should be reentered. If you specify the /CONFIRM
qualifier, the possible responses are as follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
o QUIT or Ctrl/Z indicates that you want to stop processing the
command at that point.
o ALL indicates that you want to continue processing the command
without any further prompts.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the prompt is reissued.
By default, no confirmation is requested.
25. 3.2 - /ENTERED
/ENTERED=library
Controls whether entered units are selected for reentering. You
can use the library option to reenter units that were entered
from a particular library. When you specify the /NOENTERED
qualifier, only units that have been compiled or copied into
the current program library are reentered. Note that when you
specify the /ENTERED qualifier, local units are selected unless
the /NOLOCAL qualifier is also in effect (the defaults for these
qualifiers are /LOCAL and /ENTERED).
By default, all units specified are reentered from all of the
libraries from which they were originally entered.
25. 3.3 - /LOG
/LOG
/NOLOG (D)
Controls whether the name of a unit is displayed after it has
been reentered.
By default, the names of reentered units are not displayed.
25.4 - Positional Qualifiers
25. 4.1 - /BODY_ONLY
/BODY_ONLY
Reenters only the body of the specified unit.
When you append the /BODY_ONLY qualifier to the REENTER command
string, any /SPECIFICATION_ONLY qualifiers that are appended to
parameters in the command line override the /BODY_ONLY qualifier
for those particular parameters. You cannot append both the
/BODY_ONLY qualifier and the /SPECIFICATION_ONLY qualifier to the
REENTER command string or to the same unit name parameter.
By default, if the /BODY_ONLY qualifier is omitted, the
specification, as well as the body, is reentered.
25. 4.2 - /DATE_CHECK
/DATE_CHECK (D)
/NODATE_CHECK
Controls whether the REENTER command compares the compilation
date-time in the current program library and original library as
the criterion for reentering a unit. If you specify the /NODATE_
CHECK qualifier, the REENTER command will unconditionally reenter
each unit specified in the command.
By default, the REENTER command compares the compilation date-
time and reenters only those references that were obsolete.
25. 4.3 - /SPECIFICATION_ONLY
/SPECIFICATION_ONLY
Reenters only the specification of the specified unit.
When you append the /SPECIFICATION_ONLY qualifier to the REENTER
command string, any /BODY_ONLY qualifiers that are appended to
parameters in the command line override the /SPECIFICATION_ONLY
qualifier for those particular parameters. You cannot append both
the /SPECIFICATION_ONLY qualifier and the /BODY_ONLY qualifier to
the REENTER command string or to the same unit name parameter.
By default, if the /SPECIFICATION_ONLY qualifier is omitted, the
body, as well as the specification, is reentered.
25.5 - Examples
1.ACS> REENTER/LOG *
%I, QUEUE_MANAGER entered
Reenters every unit in the current program library that needs
to be reentered, in this case the unit QUEUE_MANAGER.
2.ACS> REENTER/NODATE_CHECK STACKS
Unconditionally reenters the unit STACKS into the current
program library, even if references to STACKS are current.
| 26 - REORGANIZE |
Optimizes the organization of the current Compaq Ada program library
(or the specified library).
NOTE
You can use this command only on a library to which you have
exclusive access.
Format
REORGANIZE [directory-spec]
26.1 - Parameters
[directory-spec]
Specifies the Compaq Ada program library to be reorganized. No
wildcard characters are allowed in the directory specification.
If you do not specify a program library, the ACS REORGANIZE
command reorganizes the current program library.
26.2 - Description
The ACS REORGANIZE command optimizes the organization of the
current program library or the specified library. You can use
this command to improve the performance of any library; it is
especially useful for improving the performance of libraries that
have have been updated frequently.
To use the REORGANIZE command, you must have exclusive read-write
access to the program library you are reorganizing. If another
user is accessing the library when you enter the REORGANIZE
command, the command will fail. One way to obtain exclusive
access is to use the ACS SET LIBRARY/EXCLUSIVE command (note that
this command will also fail if you cannot gain exclusive access
when you enter it). You must enter the SET LIBRARY/EXCLUSIVE
command interactively for it to have an effect.
Note that the SET LIBRARY/EXCLUSIVE command is not permitted for
libraries across DECnet.
26.3 - Command Qualifiers
26. 3.1 - /LOG
/LOG (D)
/NOLOG
Controls whether a successful library reorganization is reported.
By default, a successful library reorganization is reported.
26. 3.2 - /OUTPUT
/OUTPUT=file-spec
Requests that the REORGANIZE command output be written to the
file specified rather than to SYS$OUTPUT. Any diagnostic messages
are written to both SYS$OUTPUT and the file.
The default directory is the current default directory. If you
specify a file type but omit the file name, the default file name
is ACS. The default file type is .LIS. No wildcard characters are
allowed in the file specification.
By default, the REORGANIZE command output is written to
SYS$OUTPUT.
26.4 - Example
ACS> REORGANIZE
%I, USER:[JONES.HOTEL.ADALIB] reorganized
Reorganizes the current program library (the library defined by
the last ACS SET LIBRARY command). To determine when a library
was last reorganized, enter the ACS SHOW LIBRARY/FULL command
for that library.
| 27 - SET |
27.1 - LIBRARY
Defines a Compaq Ada program library or program sublibrary as the
current program library.
Format
SET LIBRARY directory-spec (Default)
SET LIBRARY/PATH lib-term[,...]
27. 1.1 - Parameters
directory-spec
You use this command parameter when you do not also specify the
/PATH qualifier.
This parameter specifies the program library or program
sublibrary that defines the current program library. The
directory you specify must be a valid Compaq Ada program library
or program sublibrary, previously created with the CREATE LIBRARY
or CREATE SUBLIBRARY command, respectively.
lib-term
You use this command parameter when you specify the /PATH
qualifier.
This parameter specifies one or more valid library terms (lib-
term) that are to be defined as the current path. You can specify
lib-term as follows:
o The directory specification of Compaq Ada library or sublibrary.
o The default path of a Compaq Ada library. To specify the default
path, you enter the name of a Compaq Ada library preceded by an
at sign(@).
o A file specification preceded by an at sign (@).
For more information on library search paths, enter HELP ACS
Library_Search_Paths.
27. 1.2 - Description
The ACS SET LIBRARY command defines the current program library.
Compaq Ada units are compiled in the context of the current program
library. The current program library is the target library for
compiler output and for ACS commands in general.
The SET LIBRARY command performs the following steps:
1. Verifies that the specified directory is a valid Compaq Ada
program library or sublibrary. If the directory is invalid,
an error message is issued.
2. Assigns the directory specification to the process logical
name ADA$LIB. The program library manager and the compiler
use that logical name to maintain the current program library
context when performing various operations.
This assignment takes place even if the specified directory
is invalid. If you specify an invalid library, the SET LIBRARY
command sets the library to whatever you specified (to prevent
you from incorrectly modifying the wrong library).
You use the second form (ACS SET LIBRARY/PATH) to explicitly
specify the current path. When you use this form, the first
library in the specified path is defined as the current program
library. For more information on libraries and library search
paths, enter HELP ACS Libraries and HELP ACS Library_Search_
Paths.
The SET LIBRARY command does not affect the definition of the
current default directory. The DCL SET DEFAULT command does not
affect the definition of the current program library.
The /EXCLUSIVE and /READ_ONLY qualifiers are used for temporarily
controlling access to program libraries in a shared library
environment.
When using the SET LIBRARY command with the /EXCLUSIVE or
/READ_ONLY qualifier values, you need to enter the command
interactively (not as a DCL one-line command). For example:
ACS> SET LIBRARY/EXCLUSIVE [JONES.HOTEL.ADALIB]
When you use the /EXCLUSIVE or /READ_ONLY qualifier, the
qualifier remains in effect until you exit from the program
library manager or until another SET LIBRARY command is executed.
27. 1.3 - Command Qualifiers
27. 1. 3.1 - /EXCLUSIVE
/EXCLUSIVE
/NOEXCLUSIVE (D)
Controls whether the specified program library is opened for
exclusive or shared (/NOEXCLUSIVE) access when the SET LIBRARY
command is executed. Exclusive access to a compilation library
over DECnet is not permitted.
If you execute a SET LIBRARY command without the /EXCLUSIVE
qualifier or with the /NOEXCLUSIVE qualifier, then other
processes are not denied access to the specified program library.
If you try to execute a SET LIBRARY/EXCLUSIVE command while the
specified program library is being accessed by another process,
the command will fail.
After executing a SET LIBRARY/EXCLUSIVE command, you have
exclusive access to the specified program library until you exit
from the program library manager or until another SET LIBRARY
command is executed. Other processes are denied access to the
program library until you exit from the program library manager
or another SET LIBRARY command is executed.
By default, the SET LIBRARY command provides for shared (
/NOEXCLUSIVE) access to the specified program library.
27. 1. 3.2 - /PATH
/PATH
/NOPATH (D)
Allows you to define a current path that differs from the default
path associated with the current program library.
You use this qualifier to specify the second form of the ACS SET
LIBRARY command. See the description section of this command for
more information.
27. 1. 3.3 - /LOG
/LOG (D)
/NOLOG
Controls whether the directory specification of the current
program library being defined is displayed.
By default, the directory specification is displayed.
27. 1. 3.4 - /READ_ONLY
/READ_ONLY
/NOREAD_ONLY (D)
Controls whether the program library access is restricted to
read-only access.
When you execute the SET LIBRARY/READ_ONLY command, the program
library is opened only for reading for the duration of the ACS
session. Therefore, you can only perform operations that do not
modify the library: for example, ACS CHECK, DIRECTORY, EXPORT,
EXTRACT SOURCE, LINK, SHOW LIBRARY, or SHOW PROGRAM. You can also
copy and enter units from (not to) the library.
When you execute the SET LIBRARY/NOREAD_ONLY command, the program
library is opened for reading, as well, but any subsequent
command can try to open the library for a different kind of
access.
By default, the /NOREAD_ONLY qualifier is in effect.
27. 1. 3.5 - /VERIFY
/VERIFY (D)
/NOVERIFY
Controls whether the current path is evaluated and verified when
an ACS SET LIBRARY command is entered.
By default, the current path is evaluated and verified each time
you enter an ACS SET LIBRARY command.
27. 1.4 - Examples
1.ACS> SET LIBRARY [JONES.HOTEL.ADALIB]
%I, Current program library is USER:[JONES.HOTEL.ADALIB]
Defines the program library [JONES.HOTEL.ADALIB], on the
default device, as the current program library. The library
is opened for both read and write access.
2.ACS> SET LIBRARY/PATH [JONES.HOTEL.ADALIB],@[SMITH.ADALIB]
Defines the program library [JONES.HOTEL.ADALIB] and
establishes the current path. Suppose the default path of
[SMITH.ADALIB] is as follows:
[SMITH.ADALIB]
[PROJECT.ADALIB]
In this case, the current path evaluates to the following:
[JONES.HOTEL.ADALIB]
[SMITH.ADALIB]
[PROJECT.ADALIB]
3.ACS> SET LIBRARY/READ_ONLY DISK:[SMITH.SHARE.ADALIB]
%I, Current program library is DISK:[SMITH.SHARE.ADALIB]
Defines the program library DISK:[SMITH.SHARE.ADALIB] as the
current program library, with READ_ONLY access to the library.
27.2 - PRAGMA
Redefines specified values of the program library characteristics
FLOAT_REPRESENTATION, LONG_FLOAT, MEMORY_SIZE, and SYSTEM_NAME.
Note that use of this command may make units obsolete that depend
on the previous value of a characteristic.
Format
SET PRAGMA
27. 2.1 - Description
By default, a program library or sublibrary is created with the
following system characteristics:
o FLOAT_REPRESENTATION=VAX_FLOAT
o LONG_FLOAT = G_FLOAT
o MEMORY_SIZE = 2147483647
o SYSTEM_NAME = VAX_VMS or OpenVMS_AXP
These may be changed by compiling a unit that contains the
pragmas FLOAT_REPRESENTATION, LONG_FLOAT, MEMORY_SIZE, or SYSTEM_
NAME.
The ACS SET PRAGMA command allows you to change the current
program library's characteristics without having to compile a
unit consisting of one of those pragmas.
The SET PRAGMA command may make units that depend on these
characteristics obsolete. You can use the ACS RECOMPILE command
to make obsolete units current.
27. 2.2 - Command Qualifiers
27. 2. 2.1 - /FLOAT_REPRESENTATION
/FLOAT_REPRESENTATION=VAX_FLOAT (D)
Redefines the value of the program library characteristic FLOAT_
REPRESENTATION. The possible values are either VAX_FLOAT or IEEE_
FLOAT (for Alpha systems only).
By default, the current value of FLOAT_REPRESENTATION is
unchanged.
27. 2. 2.2 - /LONG_FLOAT
/LONG_FLOAT=option
Redefines the value of the program library characteristic LONG_
FLOAT. The possible values are D_FLOAT and G_FLOAT.
By default, the current value of LONG_FLOAT is unchanged.
27. 2. 2.3 - /MEMORY_SIZE
/MEMORY_SIZE=n
Redefines the value of the program library characteristic MEMORY_
SIZE
to n.
By default, the current value of MEMORY_SIZE is unchanged.
27. 2. 2.4 - /SYSTEM_NAME
/SYSTEM_NAME=system
Redefines the value of the program library characteristic SYSTEM_
NAME to a particular target operating system. The possible system
values are VAX_VMS and VAXELN.
By default, the current value of SYSTEM_NAME is unchanged.
27. 2.3 - Example
ACS> SET PRAGMA/LONG_FLOAT=D_FLOAT
Redefines the current program library characteristic LONG_FLOAT
to the value D_FLOAT.
27.3 - SOURCE
Defines a source-file-directory search list for the ACS COMPILE
command.
Format
SET SOURCE directory-spec[,...]
27. 3.1 - Parameters
directory-spec[,...]
Specifies one or more OpenVMS directories where the ACS COMPILE
command should search for source files.
27. 3.2 - Description
The ACS COMPILE command searches the directories in the order
specified in the ACS SET SOURCE command.
The search order takes precedence over the version number or
revision date-time if different versions of a source file exist
in two or more directories. Within any one directory, the version
of a particular file that has the highest number is considered
for compilation.
The search list specified by SET SOURCE remains in effect until
another SET SOURCE command is executed, or until the process logs
out.
If no SET SOURCE command is executed, the default search order is
as follows:
1. SYS$DISK:[] (the current default directory)
2. ;0 (the directory that contained the file when it was last
compiled), or node::;0 (if the file specification of the
source file being compiled contains a node name)
27. 3.3 - Examples
1.ACS> SET SOURCE SYS$DISK:[],USER:[JONES.HOTEL],;0
Defines the source-file search list to be: first, the current
default directory (SYS$DISK:[]); second, the directory
USER:[JONES.HOTEL]; third, the directory where the particular
source file was last compiled (;0).
2.ACS> SET SOURCE SYS$DISK:[],CMS$LIB
Defines the source-file search list to be: first, the current
default directory (SYS$DISK:[]); second the current CMS
library, as defined by the most recent CMS SET LIBRARY command,
which defines the logical name CMS$LIB.
| 28 - SHOW |
28.1 - LIBRARY
Displays information about one or more Compaq Ada program libraries,
including directory specifications, library characteristics, and
units defined in each library.
Format
SHOW LIBRARY [directory-spec[,...]]
28. 1.1 - Parameters
[directory-spec[,...]]
Specifies one or more Compaq Ada program libraries for display. No
wildcard characters are allowed in the directory specifications.
If you do not specify a program library, the SHOW LIBRARY command
displays information about the current program library.
28. 1.2 - Description
The ACS SHOW LIBRARY command displays various information about
one or more specified program libraries, including the full
directory specifications, library characteristics, and units
defined in each program library.
The output of the SHOW LIBRARY command depends on whether the
/UNITS qualifier is used and, in addition, whether the /BRIEF or
/FULL formatting qualifier is used.
If you do not specify a qualifier, the SHOW LIBRARY command
displays the directory specifications of the program libraries
specified.
28. 1.3 - Command Qualifiers
28. 1. 3.1 - /BODY_ONLY
/BODY_ONLY
Displays only the bodies of the specified units when you use the
/UNITS qualifier.
You cannot append both the /BODY_ONLY qualifier and the
/SPECIFICATION_ONLY qualifier to the SHOW LIBRARY/UNITS command
string.
By default, if the /BODY_ONLY qualifier is omitted, the
specifications, as well as the bodies, are displayed.
28. 1. 3.2 - /BRIEF
/BRIEF
Displays the program library directory specifications.
If used with the /UNITS qualifier, also lists the names of all
units contained in each program library.
28. 1. 3.3 - /ENTERED
/ENTERED[=library] (D)
/NOENTERED
Controls whether entered units are displayed when you use the
/UNITS qualifier. You can use the library option to display units
that were entered from a particular library. When you specify
the /NOENTERED qualifier, only units that have been compiled
or copied into the current program library are displayed. Note
that when you specify the /ENTERED qualifier, local units are
displayed unless the /NOLOCAL qualifier is also in effect (the
defaults for these qualifiers are /LOCAL and /ENTERED).
By default, all units, as well as entered units are displayed
when you use the /UNITS qualifier.
28. 1. 3.4 - /FULL
/FULL
Displays, for each program library specified, the directory
specifications, unevaluated and evaluated forms of the current
and default paths, and the values of the program library
characteristics FLOAT_REPRESENTATION, LONG_FLOAT, MEMORY_SIZE,
and SYSTEM_NAME. For more information on paths, enter HELP ACS
Library_Search_Paths.
If used with the /UNITS qualifier, also displays, for each
program library specified, each unit's name, kind, compilation
date-time, and the file specifications of the files associated
with each unit.
28. 1. 3.5 - /LOCAL
/LOCAL (D)
/NOLOCAL
Controls whether local units (those units that were added to the
library by a compilation or a COPY UNIT command) are displayed
when you use the /UNITS qualifier. Note that when you specify
the /LOCAL qualifier, entered units are displayed unless the
/NOENTERED qualifier is also in effect (the defaults for these
qualifiers are /LOCAL and /ENTERED).
By default, all units specified, including local units, are
displayed.
28. 1. 3.6 - /OUTPUT
/OUTPUT=file-spec
Requests that the SHOW LIBRARY command output be written to the
file specified rather than to SYS$OUTPUT. Any diagnostic messages
are written to both SYS$OUTPUT and the file.
The default directory is the current default directory. If you
specify a file type but omit the file name, the default file name
is ACS. The default file type is .LIS. No wildcard characters are
allowed in the file specification.
By default, the SHOW LIBRARY command output is written to
SYS$OUTPUT.
28. 1. 3.7 - /SPECIFICATION_ONLY
/SPECIFICATION_ONLY
Displays only the specifications of the specified units when you
use the /UNITS qualifier.
You cannot append both the /SPECIFICATION_ONLY qualifier and the
/BODY_ONLY qualifier to the SHOW LIBRARY/UNITS command string.
By default, if the /SPECIFICATION_ONLY qualifier is omitted, the
bodies, as well as the specifications, are displayed.
28. 1. 3.8 - /UNITS
/UNITS
Lists each unit that is defined in the specified program
libraries. The level of information displayed depends on whether
the /BRIEF or /FULL qualifier is also used. The unit information
displayed is identical to that displayed by the DIRECTORY
command.
28. 1.4 - Examples
1.ACS> SHOW LIBRARY
%I, Current program library is USER:[JONES.HOTEL.ADALIB]
Identifies the current program library.
2.ACS> SHOW LIBRARY/FULL
Current program library DISK:[LIB2]
Current path in its original form:
DISK:[LIB2]
@DISK:[LIB1]
Current path evaluates to:
DISK:[LIB2]
DISK:[LIB1]
DISK:[LIB0]
Program library DISK:[LIB2]
Created: 4-NOV-1992 16:33:30.74, by DEC Ada V3.0
Last reorganized: 4-NOV-1992 19:47:36.13
Default path in its original form:
DISK:[LIB2]
@DISK:[LIB1]
which evaluates to:
DISK:[LIB2]
DISK:[LIB1]
DISK:[LIB0]
Pragmas that affect STANDARD and SYSTEM:
pragma FLOAT_REPRESENTATION(VAX_FLOAT)
pragma LONG_FLOAT(G_FLOAT)
pragma MEMORY_SIZE(2147483647)
pragma SYSTEM_NAME(VAX_VMS)
Identifies DISK:[LIB2] as the current program library with a
current path of DISK:[LIB2],@DISK:[LIB1]. This path evaluates
to DISK:[LIB2], DISK:[LIB1], DISK:[LIB0]. This example also
shows the pragmas that affect STANDARD and SYSTEM.
28.2 - PROGRAM
Displays information about the execution closure of one or more
units in the current program library.
Format
SHOW PROGRAM unit-name[,...]
28. 2.1 - Parameters
unit-name[,...]
Specifies one or more units, in the current program library,
about whose execution closure various information is to be shown.
You must express subunit names using selected component notation
as follows:
ancestor-unit-name{.parent-unit-name}.subunit-name
The unit names may include percent signs (%) and asterisks (*)
as wildcard characters. (See the OpenVMS User's Manual for more
information on wildcard characters.)
28. 2.2 - Description
The ACS SHOW PROGRAM command displays information about all of
the units in the execution closure of the specified units.
Units are listed by name in alphabetical order. Subunit names are
shown using selected component notation.
The output of the SHOW PROGRAM command depends on whether the
/BRIEF, /FULL, or no formatting qualifier is used.
If you do not specify a qualifier, the SHOW PROGRAM command
displays a level of information that is part way between that
displayed with the /BRIEF and /FULL qualifiers.
If you do not specify a qualifier, the SHOW PROGRAM command
displays the information provided by the /BRIEF qualifier plus
the following information for each unit in the closure:
o The list of that unit
o The duration specified with the pragma TIME_SLICE
o The names of units mentioned in one or more ELABORATE pragmas
for that unit
o The names of units that the unit has established a dependence
on as a result of subprogram inline expansion
o The names of units that the unit has established a dependence
on as a result of generic inline expansion
28. 2.3 - Command Qualifiers
28. 2. 3.1 - /BRIEF
/BRIEF
Displays the following information:
o The directory specification of the current program library.
o The values of the program library characteristics FLOAT_
REPRESENTATION, LONG_FLOAT, MEMORY_SIZE, and SYSTEM_NAME.
o For each unit in the closure of the specified units: the unit
name; the kind of unit (for example, procedure body); the date
and time of the last compilation; and the file specification
of the source file, or (if the unit was entered into the
current program library) the directory specification of the
other library.
28. 2. 3.2 - /FULL
/FULL
Displays the information provided by the SHOW PROGRAM command
when used with no qualifier plus, for each unit in the closure,
the file specifications of the associated files.
28. 2. 3.3 - /OUTPUT
/OUTPUT=file-spec
Requests that the SHOW PROGRAM command output be written to the
file specified rather than to SYS$OUTPUT. Any diagnostic messages
are written to both SYS$OUTPUT and the file.
The default directory is the current default directory. The
default file type is .LIS. If you specify a file type but
omit the file name, the default file name is ACS. No wildcard
characters are allowed in the file specification.
By default, the SHOW PROGRAM command output is written to
SYS$OUTPUT.
28. 2. 3.4 - /OBSOLETE
/OBSOLETE=(option[,...])
/NOOBSOLETE (D)
Allows you to ask what the effect on a program or a set of units
would be if some specific units were obsolete.
When the execution closure of the units in the parameter
list of the command is performed, the units named with the
UNIT,SPECIFICATION, and BODY keywords are assumed to be obsolete
as described below. If one of those units is not in the execution
closure of the units named in the command's parameter list, it is
not added to the closure.
Unit names are specified with the UNIT, SPECIFICATION, and BODY
keywords as follows:
UNIT:(unit_ The specifications and bodies of units
name[,...]) specified with the UNIT keyword are assumed
to be obsolete.
SPECIFICATION:(unit_ Only the specifications specified by the
name[,...]) SPECIFICATION keyword are assumed to be
obsolete.
BODY:(unit_ Only the bodies of units specified with the
name[,...]) BODY keyword are assumed to be obsolete.
You must specify at least one of these keywords. Unit names can
contain wildcard characters.
By default, units are identified as obsolete based on the current
state of the program library.
28. 2. 3.5 - /PROCESSING_LEVEL
/PROCESSING_LEVEL[=option]
Determines the kind of obsolete units identified. Obsolete units
are identified based on the level of processing applied to the
unit: syntax checking, design checking, or full compilation. You
can request the following options:
SYNTAX Determines whether a unit is obsolete because it
has been syntax-checked only. Because all units
in a program library are at least syntax-checked,
and because syntax-checking does not require any
particular order of compilation, generally accepts
all units as being current.
DESIGN Determines whether a unit is obsolete because
it has been design-checked only. Accepts design-
checked units and fully compiled units as being
current, unless they are otherwise obsolete (for
example, they depend on units that have been
syntax-checked only, or they depend on other
obsolete units).
FULL Determines three kinds of obsolete units: units
that are obsolete because they have been syntax-
checked only, units that have been design-checked,
and units that are obsolete as a result of the
compilation of the units they depend on. Units
that depend on obsolete units are also considered
to be obsolete.
By default, all units are fully checked (/PROCESSING_LEVEL=FULL),
and all obsolete units are identified.
28. 2. 3.6 - /SMART_RECOMPILATION
/SMART_RECOMPILATION (D)
/NOSMART_RECOMPILATION
Controls whether smart recompilation information, which is stored
in the program library, is used to identify obsolete units.
If smart recompilation is not in effect, units are identified
as obsolete and in need of recompilation based on their time of
compilation only. (See Developing Ada Programs on OpenVMS Systems
for more information.)
28. 2.4 - Example
ACS> SHOW PROGRAM ADA_CALLER
ADA_CALLER
ADA_CALLER
4-NOV-1992 08:57:12.48
Program library USER:[TEST]
Created: 1-NOV-1992 10:03:53.93, by DEC Ada V3.0
Last reorganized: <No reorganization date>
Default path in its original form:
USER:[TEST]
Default path evaluates to:
USER:[TEST]
Pragmas that affect STANDARD and SYSTEM:
pragma FLOAT_REPRESENTATION(VAX_FLOAT)
pragma LONG_FLOAT(G_FLOAT)
pragma MEMORY_SIZE(2147483647)
pragma SYSTEM_NAME(VAX_VMS)
The closure of the specified units is:
ADA_CALLER
Procedure body
Compiled: 4-NOV-1992 08:56:42.94
Source file: 31-JUL-1992 16:23:43.39 USER:[TEST]ADA_CALLER.ADA;1
With list: SQR
INTEGER_TEXT_IO
INTEGER_TEXT_IO
Package instantiation
Compiled: 2-NOV-1992 01:47:11.30
Entered from: ADA$PREDEFINED_ROOT:[ADALIB]
With list: TEXT_IO
Inline_Generic: TEXT_IO
IO_EXCEPTIONS
Package specification
Compiled: 2-NOV-1992 01:45:42.02
Entered from: ADA$PREDEFINED_ROOT:[ADALIB]
SQR
Function specification
Compiled: 4-NOV-1992 08:51:26.95
Source file: 7-NOV-1988 17:06:41.30 USER:[TEST]SQR_.ADA;2
Foreign function body
Object file: 4-NOV-1992 08:51:26.95 SQR.OBJ;1
SYSTEM
Builtin package
TEXT_IO
Package specification
Compiled: 2-NOV-1992 01:46:43.02
Entered from: ADA$PREDEFINED_ROOT:[ADALIB]
With list: IO_EXCEPTIONS
Package body
Compiled: 2-NOV-1992 01:46:56.16
Entered from: ADA$PREDEFINED_ROOT:[ADALIB]
With list: SYSTEM
Displays information about the closure of the unit ADA_CALLER,
which also includes the unit SQR and a number of Compaq Ada
predefined units.
28.3 - SOURCE
Displays the source-file-directory search list used by the ACS
COMPILE command.
Format
SHOW SOURCE
28. 3.1 - Description
The ACS SHOW SOURCE command displays the directory list specified
in the last ACS SET SOURCE command. See the description of the
SET SOURCE command.
28. 3.2 - Example
ACS> SHOW SOURCE
%I, Current source search list (ADA$SOURCE) is
USER:[JONES.HOTEL]
DISK:[SMITH.SHARE]
Shows that the directories to be searched by the ACS COMPILE
command for external source files are first the directory
USER:[JONES.HOTEL] and then the directory DISK:[SMITH.SHARE].
28.4 - VERSION
Displays the version of Compaq Ada that is installed on your system.
Format
SHOW VERSION
28. 4.1 - Description
The ACS SHOW VERSION command displays a string that gives the
version number of Compaq Ada (compiler and program library manager)
that is installed on your system.
28. 4.2 - Example
ACS> SHOW VERSION
DEC Ada V3.0-0
Shows that Version 3.0 of DEC Ada is currently running on the
user's system.
| 29 - SPAWN |
Creates a subprocess of the current process and suspends
execution of the current process.
Format
SPAWN [DCL-command]
29.1 - Parameters
[DCL-command]
Specifies an optional DCL command.
29.2 - Description
The ACS SPAWN command creates a subprocess of the current process
and suspends execution of the current process.
If you specify a DCL command, that command is executed in a
subprocess, and control is returned to the program library
manager after the command is executed.
If you do not specify a DCL command, an interactive subprocess
is created allowing you to execute a whole series of DCL commands
interactively. You can return to the program library manager by
logging out of the subprocess (by entering a DCL LOGOUT command)
or entering a DCL ATTACH command. See the description of the DCL
ATTACH command in the OpenVMS DCL Dictionary.
29.3 - Example
ACS> SPAWN MAIL ! from process JONES
MAIL>
.
.
.
MAIL> ATTACH JONES
%I, Control returned to process JONES
ACS>
.
.
.
ACS> ATTACH JONES_1
MAIL>
The ACS SPAWN MAIL command, entered from process JONES, invokes
the VMS Mail Utility in a subprocess named JONES_1. The DCL
ATTACH command entered from MAIL (subprocess JONES_1) returns
control back to process JONES. The ACS ATTACH command entered
interactively from the program library manager (process JONES)
switches control back to subprocess JONES_1.
| 30 - VERIFY |
Performs a series of consistency checks on the current program
library (or the specified library) to determine whether the
library structure and library files are in valid form. The ACS
VERIFY command optionally corrects some of the inconsistencies
detected.
Format
VERIFY [directory-spec]
30.1 - Parameters
directory-spec
Specifies the Compaq Ada program library to be verified. No wildcard
characters are allowed in the directory specification.
If you do not specify a program library, the ACS VERIFY command
verifies the current program library.
30.2 - Description
The ACS VERIFY command checks the following items (unless
otherwise stated, only files in the specified program library
are checked):
o The format of the library index file.
o Whether all files cataloged in the library index file exist
in the program library and are accessible-that is, all object
(.OBJ), compilation unit (.ACU), and copied source (.ADC)
files. In the case of entered units, the VERIFY command checks
whether the files exist in the library from which they were
entered.
o Whether all .OBJ, .ACU, and .ADC files that exist in the
program library directory are cataloged in the library index
file.
o Whether temporary files used by the REORGANIZE command are in
the program library.
o The format of the compilation unit files (.ACU).
o Whether the protection code of cataloged .OBJ, .ACU, and .ADC
files is consistent with that of the library index file (see
Developing Ada Programs on OpenVMS Systems.
If inconsistencies are found, the VERIFY command issues error
messages indicating the units or files that are erroneous.
The kinds of inconsistencies detected by the VERIFY command are
typically not detected by the ACS CHECK command, which is used to
determine whether any units in a closure are missing or obsolete.
You can use the /REPAIR qualifier to correct some of the
inconsistencies reported by the VERIFY command. When the /REPAIR
qualifier is used, the VERIFY command performs the same checks
as when the qualifier is not used, but corrective action is
taken only on the specified program library or, by default, on
the current program library. No corrective action is taken for
entered units.
30.3 - Command Qualifiers
30. 3.1 - /CONFIRM
/CONFIRM
/NOCONFIRM (D)
Controls whether the VERIFY/REPAIR command asks for confirmation
before deleting unit index entries from the library index file,
or deleting uncataloged files from the program library directory.
If you specify the /CONFIRM qualifier, the possible responses are
as follows:
o Affirmative responses are YES, TRUE, and 1.
o Negative responses are NO, FALSE, 0, and the RETURN key.
o QUIT or Ctrl/Z indicates that you want to stop processing the
command at that point.
o ALL indicates that you want to continue processing the command
without any further prompts.
You can use any combination of upper- and lowercase letters for
word responses. Word responses can be abbreviated to one or more
letters (for example, Y, YE, or YES). If you type a response
other than one of those in the list, the prompt is reissued.
By default, no confirmation is requested.
30. 3.2 - /LOG
/LOG
/NOLOG (D)
Controls whether the name of a unit or the specification of a
file is displayed as that unit or file is verified.
By default, the names of units or files being verified are not
displayed.
30. 3.3 - /OUTPUT
/OUTPUT=file-spec
Requests that the VERIFY command output be written to the file
specified rather than to SYS$OUTPUT. Any diagnostic messages are
written to both SYS$OUTPUT and the file.
The default directory is the current default directory. If you
specify a file type but omit the file name, the default file name
is ACS. The default file type is .LIS. No wildcard characters are
allowed in the file specification.
By default, the VERIFY command output is written to SYS$OUTPUT.
30. 3.4 - /REPAIR
/REPAIR
/NOREPAIR (D)
Controls whether the VERIFY command repairs some of the
inconsistencies that it has detected.
To use the /REPAIR qualifier, you must have exclusive read-write
access to the program library you are repairing. If another
user is accessing the library when you enter the VERIFY/REPAIR
command, the command will fail. One way to obtain exclusive
access is to use the ACS SET LIBRARY/EXCLUSIVE command (note that
this command will also fail if you cannot gain exclusive access
when you enter it). You must enter the SET LIBRARY/EXCLUSIVE
command interactively for it to have an effect.
Note that the SET LIBRARY/EXCLUSIVE command is not permitted for
program libraries over DECnet.
The VERIFY/REPAIR command takes the following actions:
o Identifies any files in the program library directory that
are not cataloged in the library index file. Deletes any
uncataloged files with a file type of .OBJ, .ACU, or .ADC.
Deletes any temporary files remaining from an interrupted ACS
REORGANIZE command. Deletes any other uncataloged files if
you have also specified the /CONFIRM qualifier and given an
affirmative response.
o As necessary, changes the file protection on .OBJ, .ACU, and
.ADC files to be consistent with the protection code for the
library index file.
o Marks as obsolete any unit whose .OBJ or .ACU file is
inaccessible. A later VERIFY/REPAIR command will reset any
such marks if the associated files are again available.
o Removes references to inaccessible copied source files (.ADC)
from the library index file.
o Deletes any index entry with an illegal format from the
library index file.
By default, the VERIFY command only checks for inconsistencies
and takes no corrective action.
30.4 - Examples
1.ACS> VERIFY
%I, USER:[JONES.HOTEL.ADALIB] verified
Checks the current program library. No inconsistencies have
been detected.
2.ACS> SET LIBRARY/EXCLUSIVE [PROJ.ADALIB]
%I, Current program library is USER:[PROJ.ADALIB]
ACS> VERIFY/REPAIR/LOG
.
.
.
%I, STARLET verified
%I, STR verified
%E, Inconsistent file protection [PROJ.ADALIB]SQR.OBJ;1
%W, SQR verified and repaired
.
.
.
%E, Error opening [PROJ.ADALIB]TEST_STACKS.OBJ;2 as input
-E, file not found
%W, TEST_STACKS verified and repaired
.
.
.
%I, Units with inaccessible files are obsolete. If repair
(VERIFY/REPAIR) is not possible, then recompilation of
these units is necessary; after entering a VERIFY/REPAIR
command, the CHECK command will show any obsolete units
%W, USER:[PROJ.ADALIB] verified and repaired
ACS> RECOMPILE TEST_STACKS
Defines the program library [PROJ.ADALIB] as the current
program library, with exclusive read-write access. This step
is necessary before using the VERIFY/REPAIR command.
The VERIFY/REPAIR command then notes that the protection of
file SQR.OBJ is inconsistent with that of the library index
file and changes the protection to make it consistent; marks
the unit TEST_STACKS as obsolete, because its .OBJ file (TEST_
STACKS.OBJ;2) is inaccessible; and issues a summary message
that the program library has been verified and repaired.
The RECOMPILE command then makes the obsolete unit, TEST_
STACKS, current.
|
|