HP 3000 Manuals

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