PASCAL COMPILER CONVENTIONS [ MPE Segmenter Reference Manual ] MPE/iX 5.0 Documentation
MPE Segmenter Reference Manual
Appendix E PASCAL COMPILER CONVENTIONS
When the option PRIVATE-PROC is ON (default):
* One RBM for the outer block and for each level 1 procedure or
function and its nested non-level 1 procedures or functions.
* The names of the non-level 1 procedures or functions do not appear in
the USL directory.
* The names of the level 1 procedures or functions do appear in the USL
directory and must be unique within 15 characters to meet the
requirements of the Segmenter.
* The name of the outer block and of each procedure or function can be
15 alphanumeric characters in length, starting with an alphabetic
character.
When the option PRIVATE-PROC is OFF:
* One RBM for the outer block, for each level 1 procedure or function,
and for each non-level 1 procedure or function.
* The names of the non-level 1 procedures or functions, as well as of
the level 1 procedures or functions, appear in the USL directory and
must be unique within 15 characters to meet the requirements of the
Segmenter.
* The name of the outer block and of each procedure or function can be
15 alphanumeric characters in length, starting with an alphabetic
character.
$SEGMENT s$
* A segment name (s = segmentname) may be up to 15 alphanumeric
characters in length, starting with an alphabetic character. Each
name must be unique within 15 characters.
* Used to assign an RBM to a specified segment.
* In effect until the next $SEGMENT s$ command.
* If a segment with the specified name exists, the compiler places the
object code in it. Otherwise, it creates a new segment with the name
indicated by s.
* $SEGMENT s$ command may appear anywhere in source code, but the
compiler puts the object code for entire compilation block in the
last-named segment. Not possible to place part of a compilation
block in a particular segment.
If no $SEGMENT s$ command appears, the compiler uses SEG' as the default
name of the current segment and places all RBMs into SEG'.
$SUBPROGRAM s$
* Permits compilation of a subset of level 1 procedures or functions.
* Allows programmer to select parts of a large program for compilation
(and subsequent preparation and execution).
* Minimizes the number of entries in the USL directory.
* s = list_of_procedure_names.
$EXTERNAL$
* Used in conjunction with the option $GLOBAL$, this option permits the
separate compilation of procedures and functions.
* When EXTERNAL appears in source code, the compiler generates
information about variables declared in the outer block that will
allow them to be matched up with variables of the same name and type
in an outer block compiled with the GLOBAL option.
* The compiler generates object code only for procedures and functions,
not for the statement part of the outer block.
* Global variables in a program compiled with the EXTERNAL option must
be unique within 15 characters to meet the requirements of the
Segmenter.
$GLOBAL$
* Used in conjunction with the option EXTERNAL, this option permits the
separate compilation of procedures and functions.
* When GLOBAL is specified, the compiler prepares information about the
variables declared in the outer block which will allow them to be
matched with variables of the same name and type used in a procedure
or function compiled with EXTERNAL.
* The compiler emits object code for the outer block as well as for all
procedures or functions.
* Global variables in a program compiled with the GLOBAL option must be
unique within 15 characters to meet the requirements of the
Segmenter.
CHECK_ACTUAL_PARM n$
* This option specifies the level of checking the Segmenter will
perform when a program calls a procedure or function. The level
specified, n, is an integer in the range 0 to 3. It determines the
amount of information placed in the USL file. The Segmenter uses
this information to check the actual parameters against the formal
parameters of the function or procedure.
* Level 3 is the default setting (check function type, number of
procedure or function parameters, and the type of each parameter).
* If the procedure or function has a lower checking level, the
Segmenter ignores the level indicated by CHECK_ACTUAL_PARM and uses
the lower level.
CHECK_FORMAL_PARM n$
* This option specifies the level of checking the Segmenter will
perform when a program calls a procedure or function. The level
specified, n, is an integer in the range 0 to 3. It determines the
amount of information placed in the USL. The Segmenter uses this
information to check the formal parameters against the actual
parameters of the function or procedure.
* Level 3 is the default setting (check function type, number of
procedure or function parameters, and the type of each parameter).
* If the procedure or function has a lower checking level, the
Segmenter ignores the level indicated by CHECK_FORMAL_PARM and uses
the lower level.
MPE/iX 5.0 Documentation