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