HP Pascal for OpenVMS
HP Pascal For OpenVMS
Pascal Extensions:
• DOUBLE (VAX D_floating and VAX G_floating on
OpenVMS VAX, OpenVMS Alpha, and OpenVMS I64
and IEEE T_floating on OpenVMS Alpha and I64)
data type that supports the Alpha double range and
double precision floating point architectural features
• QUADRUPLE (VAX H_floating on OpenVMS VAX
and IEEE X_floating on OpenVMS Alpha and I64)
data type that supports the Alpha extended range
and extended precision floating point architectural
features
• Support for null-terminated strings via the C_STR_T
predefined type and the MALLOC_C_STR, C_STR,
PAS_STRCPY, and PAS_STR predefined functions
• VARYING data type denoting variable-length charac-
ter strings up to 65,535 characters
• Language elements providing sequential and ran-
dom access to RMS relative files, and sequential and
keyed access to RMS multikey indexed files
• Optional attributes specification on constants, vari-
ables, types, type identifiers, routines, routine param-
eters, schema discriminants, and compilation units
• MODULE capability for combining procedures, func-
tions, and other declarations for compilation separate
from the main program
• ENVIRONMENT and INHERIT attributes to control
separate and independent compilation
• UNSIGNED, CARDINAL, INTEGER_ADDRESS, IN-
TEGERnn, UNSIGNEDnn, POINTER, and SINGLE
predefined types
• VALUE initialization section and optional value initial-
ization in declaration section program level
• External procedure and function declarations
• Nonpositional passing of parameters
• RETURN, BREAK, CONTINUE, EXIT and NEXT
statements
• SELECT, SELECTONE statements (OpenVMS Al-
pha and OpenVMS I64 systems only)
• Default values for parameters
• Double-quoted character strings with backslash con-
stants
• 31-character identifiers that can include dollar sign
($) and underscore (_)
• Conditional compilation facility including the %IF di-
rective and the /CONSTANT command line qualifier
to provide for compilation of code that has many vari-
ants or configurations.
• Many compiler directives such as %ARCH_NAME,
%SYSTEM_NAME, %COMPILER_VERSION, %FILE,
etc. to allow compile-time information to be inserted
into the compiled program.
• Compiler directives such as %F_FLOAT, %S_FLOAT,
etc. to allow fine grained control of floating literal for-
mats (OpenVMS Alpha and OpenVMS I64 systems
only)
As a native-mode language, HP Pascal is integrated into
the Common Language Environment. This integration
provides HP Pascal users with:
• Support for OpenVMS interlanguage calling standard
• Access to all OpenVMS system services
• Access to the facilities of the OpenVMS Symbolic
Debugger
• Callable interfaces to the OpenVMS Common Run-
time Library
• Oracle CDD/Repository support
• Support for the Language-Sensitive Editor/Source
Code Analyzer to provide error diagnostics to
Language-Sensitive Editor component, cross refer-
ence information for Source Code Analyzer compo-
nent, and support for low-level program design, in-
cluding the processing of pseudocode. In addition,
HP Pascal for OpenVMS VAX Systems also supports
the extraction of design information from comments.
• Ability for functions to return structured types (other
than file types)
Options available to Pascal users at compile time in-
clude:
• Run-time checks for array, character string, and sub-
range bounds
• Run-time checks for arithmetic overflow, valid case
selector values, and null pointer variables
• Run-time checks for invalid declarations and illegal
GOTO usage
• Generation of information for use by the OpenVMS
Symbolic Debugger and the run-time error traceback
mechanism
• Creation of an environment file facilitating separate
compilation
• Cross-reference listing
• Creating in the listing file a representation of the ob-
ject code generated by the compiler
• Printing of information-level messages including flag-
ging uses of extensions to the ISO and ANSI Pascal
standards
2