HP Pascal/iX Reference Manual (31502-90022)

1- 1
Chapter 1 Introduction
HP Pascal originates from the Pascal language developed by Nicklaus Wirth
in 1968. Wirth's Pascal is based on the ALGOL 60 programming language.
His objective was to introduce Computer Science students to "good
programming practices." Since then, Pascal has undergone extensions,
particularly in its input-output capabilities. This has helped it become
a dominant language not only in the academic world, but also in major
commercial software projects. Commercial attraction for Pascal stems
from its structured nature that makes Pascal programs readable and self
documenting. Because maintenance typically forms a large portion of
software costs, the structuring is an attractive feature, particularly
for large systems and subsystems.
Although Pascal differs from vendor to vendor, it is easy to program for
portability by conforming to a reasonably large and effective subset of
Pascal that is standard across several vendors. The standardization is
achieved as a result of the ANSI/IEEE 770 X3.97-1983 and ISO 7185-1983
standards that exist for Pascal today. HP Pascal is a superset of these
standards. It is based on HP's standard for the Pascal language.
The Pascal on the HP Precision Architecture Series of Computer Systems
includes system programming extensions to the HP Pascal standard. These
extensions have lead to widespread use of Pascal within HP for systems
level applications. This trend is also expected to be observed by our
customers. In addition to its past usages, Pascal may be used for
applications traditionally written in Assembly or SPL. These applications
will have a higher degree of portability across HP systems in the future.
This chapter is divided into several sections. The first section covers
the conventions used in this manual. This is followed by a discussion
about the HP Pascal Extensions to the ANSI/IEEE 770 X3.97-1983 and ISO
7185-1983 standards for Pascal.
Extensions to ANSI/IEEE and ISO Pascal
This section describes HP Pascal features that are extensions of
ANSI/IEEE 770 X3.97-1983 and ISO 7185-1983 Pascal. For the full
description of a feature, refer to the appropriate keyword or topic in
this manual.
Type Compatibility
NOTE In the ISO 7185-1983 or ANSI/IEEE 770 X3.97-1983 standards for
Pascal, the term "string" refers to any PACKED ARRAY of CHAR with a
starting index of 1. HP Pascal, however, supports the standard
type string. To avoid confusion, the term PAC is used for the type
PACKED ARRAY [1..n] of CHAR with a starting index of 1.
Pascal defines a set of compatibility requirements for the operands of
each operator, based both on the operator itself and the types of its
operands, and a set of assignment compatibility rules. HP Pascal extends