VMS Help
PASCAL, Compilation Units
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
A compilation unit is a unit of Compaq Pascal code that can be
compiled independently; the term refers to either a program or a
module. Both programs and modules have declaration sections but
only programs have executable sections. A program can be
compiled, linked, and run by itself, but a module cannot be
executed unless it is linked with a main program written in
PASCAL, or another language. A module may contain routine
declarations but these cannot be executed independently of a
program.
A program is a set of instructions that can be compiled and
executed by itself.
Syntax:
[[attribute-list]]
PROGRAM comp-unit-identifier [[({file-identifier},...)]];
[[declaration-section]]
BEGIN
{statement};...
END.
The 'attribute-list' is one or more identifiers that provide
additional information about the compilation unit.
The 'comp-unit-identifier' specifies the name of the program.
The identifier appears only in the heading and has no other
purpose within the compilation unit.
The 'file-identifier' specifies the names of any file variables
associated with the external files used by the compilation unit.
The 'declaration-section' is a Compaq Pascal declaration
section.
The 'statement' is any Compaq Pascal statement.
The program heading includes all information preceding the
program block. If your program contains any input or output
routines, you must list all the external file variables that you
are using in the compilation unit's heading. File variables
listed in a heading must also be declared locally in the block,
except for the predeclared file variables INPUT, OUTPUT, or ERR.
The INPUT identifier corresponds to a predefined external file
that accepts input from the default device (usually, your
terminal); the OUTPUT identifier corresponds to a predefined
external file that sends output to the default device (usually,
your terminal); the ERR identifier corresponds to a predefined
external file that sends error messages to the default device
(usually your terminal). If you redeclare INPUT, OUTPUT, or ERR
in a nested block, you lose access to the default input, output,
and error devices.
A module is a set of instructions that can be compiled, but not
executed, by itself. Module blocks contain only a declaration
section and TO BEGIN DO and TO END DO sections.
Syntax:
[[attribute-list]]
MODULE comp-unit-identifier [[({file-identifier},...)]];
[[declaration-section]]
[[TO BEGIN DO statement;]]
[[TO END DO statement;]]
END.
The 'attribute-list' is one or more identifiers that provide
additional information about the compilation unit.
The 'comp-unit-identifier' specifies the name of the program.
The identifier appears only in the heading and has no other
purpose within the compilation unit.
The 'file-identifier' specifies the names of any file variables
associated with the external files used by the compilation unit.
The 'declaration-section' is a Compaq Pascal declaration
section.
The 'statement' is any Compaq Pascal statement.
Each module must be in a separate file; you cannot place
multiple modules (or a module and a program) in the same file.
You can compile modules and a program together or separately
(the syntax of compilation depends on the operating system
command-line interpreter you are using).
The module syntax of Compaq Pascal is slightly different than
that of Extended Pascal. However, the concepts in both
languages are the same.
The module heading includes all information preceding the module
block. If your program contains any input or output routines,
you must list all the external file variables that you are using
in the compilation unit's heading. File variables listed in a
heading must also be declared locally in the block, except for
the predeclared file variables INPUT, OUTPUT, and ERR.
The INPUT identifier corresponds to a predefined external file
that accepts input from the default device (usually, your
terminal); the OUTPUT identifier corresponds to a predefined
external file that sends output to the default device (usually,
your terminal); the ERR identifier corresponds to a predefined
external file that sends error messages to the default device
(usually your terminal). If you redeclare INPUT, OUTPUT, or ERR
in a nested block, you lose access to the default input, output,
and error devices.
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.