Prospero Extended Pascal
for DOS
Development
Tools
Pricing information

The fast one-pass compiler provides a choice of language levels. The first two are for compatibility with the older standard (ISO 7185), the next gives the standard features of Extended Pascal, and the last adds some local supplementary definitions. Large arrays, up to the capacity of the target machine, may be declared at the outer level. Other compile-time options include:
The Extended Pascal language includes a variety of important features within the standard definition. For example, an initial value can be attached to a type as part of its definition, and this value is automatically given to any variable or record field declared with the type. In this and many other respects, the language is a great advance on ear- lier versions. However, there are also local additions enabled at the default level. The following outline gives details of some standard and all additional features.
Data types
The integer type is 32 bits (4 bytes); there are
additional predeclared subranges for bytes and 16-bit words. The real type is 8
bytes (IEEE double precision), with an additional 4-byte shortreal. The complex
type is 16 bytes (two reals). Dynamic strings may be up to 32K bytes, sets may
have up to 64K members. Subrange bounds may be constant or run-time variable
expressions, allowing dynamic array and set sizes. Records may include
dynamic-size fields.
Operators
Extended Pascal includes exponentiation operators **
and pow, and the operator >< for set symmetric difference. Substrings can
be addressed. There are additional local operators REM, SHL, SHR and XOR.
Procedures and functions
The standard definition includes file
binding, direct-access files, internal conversion, and date and time routines,
as well as the procedures and functions familiar from earlier versions. The
following additional procedures and functions are predeclared:
setlength,
ltrim, openread, openwrite, connect, handle, echo, close, arcsin, arccos, tan,
sinh, cosh, tanh, mm, max, rand, seed, newmem, dispmem, memavail, stkavail,
testbit, setbit, clearbit, flipbit, move, isdigit, isalpha, lowercase,
uppercase, exit, addrof, sizeof.
The linker supplied with the package is able to produce normal DOS
executable programs, and also programs to run in a DPMI environment which gives
access to extended memory. (OS/2 2.0 and Microsoft Windows version 3, for
example, offer the DPMI environment.)
Besides the additional predeclared language features, there are several supplied interfaces which can be imported into application code. These interfaces are a natural means of making available definitions of further types and routines.
EPDOS
Access to the DOS and hardware environment is provided by
the definitions in interface EPDOS, allowing file delete and rename, drive and
directory operations, execution of programs and commands, access to environment
strings, general DOS call and software interrupt, and port access.
EPEXCEP
The definitions contained in this interface allow an
application program to intercept the default reporting of run-time exceptions
and take control of specific classes (such as arithmetic or file conditions) or
of all exceptions.
StringCompat
The dynamic string facilities of Extended Pascal
allow new programs which manipulate strings to be written conveniently and
easily. This module assists in the conversion of existing code or data files
based on different conventions.
EPDPMI
The DPMI capability included in the package allows any
program to run in extended memory. The EPDPMI interface provides explicit access
to the functions defined by DPMI, rather as EPDOS gives access to DOS functions.
Pricing and Contact information.
Prospero Extended Pascal
for DOS
Development
Tools
Pricing information