|
Compiler features
The fast one-pass compiler generates 32-bit flat model code, and
provides a choice of language levels, giving compatibility with both
the Pascal and Extended Pascal standards. Other compile-time options
include a wide range of run-time checking, additional outputs
(cross-reference, assembly code), and checking mode with special
warnings.
Run-time support
Programs produced with Prospero Extended Pascal can take advantage of
a 32-bit address space and efficient arithmetic, as well as features
such as long file names, processes and threads. Exceptions can be
trapped and handled using try statements. An extensive range of
support routines is available in the library; in a number of cases
these have been chosen or named to ease transfer of existing programs.
Definitions are also provided which allow direct access from Pascal
code to API types and functions.
Some routines in the library have definitions built into the compiler
as part of the language. In other cases, the definitions are supplied
as interfaces ready to be imported; these provide access to a range of
features such as memory-mapped files, directories, the console, and
threads.
Predefined procedures and functions
get, put, update, reset, rewrite, extend, bind, unbind,
SeekWrite, SeekRead, SeekUpdate, read, readln, write, writeln,
readstr, writestr, page, new, dispose, pack, unpack, GetTimeStamp,
halt, setlength, close, connect, echo, inc, dec, newmem, dispmem,
insert, delete, assert, move, exit, return, seed, abs, sqr, sin, cos,
exp, ln, sqrt, arctan, arg, re, im, trunc, round, card, cmplx, polar,
ord, chr, succ, pred, odd, eof, eoln, empty, position, LastPosition,
binding, length, index, substr, trim, eq, lt, gt, ne, le, ge, date,
time, concat, copy, pos, max, min, tan, arcsin, arccos, sinh, cosh,
tanh, handleof, OpenRead, OpenWrite, fresult, addrof, taddrof, sizeof,
FieldOffset, ltrim, random, rand, pi, HeapUsed, StackUsed, memavail,
stkavail, IsDigit, IsAlpha, UpperCase, LowerCase, inc, dec, testbit,
setbit, clearbit, flipbit
Procedures and functions defined in interfaces
ArgC, ArgV, Beep, ChDir, CmdTail, Command, Delay, DeleteCritSect,
DispFQList, ElapsedDays, ElapsedSecs, EnterCritSect, ExecPgm,
ExecSilent, ExeKind, FileDelete, FileExists, FileRename, GetDir,
GetDrive, GetEnvs, GetFileInfo, GetPathInfo, InitCharSet,
InitializeCritSect, IOResult, LeaveCritSect, MakeFQList, MkDir,
MMFAccess, MMFClose, MMFOpenRead, MMFOpenWrite, PackFTime, ParamCount,
ParamStr, PgmName, Platform, RaedKey, RmDir, SearchPath, SetDrive,
SetFileSize, SetPathAttr, SetPathDate, Sound, SplitFileName,
StartThread, TextNote, TextSeek, UnpackFTime, Wait, AssignCrt, AttrXY,
CharXY, ClrEol, ClrScr, CursorVisible, DelLine, EndMessage, EscapeKey,
GetKeyboard, GoToXY, InitScreen, Ink, InsLine, KbdChar, KeyFlags,
KeyPressed, Paper, PutChar, PutChattr, PutCXY, PutString, ScreenFile,
ScrollDown, ScrollUp, SetCursorOff, SetCursorOn, SetCursorShape,
SetText, StartMessage, TextBackground, TextColor, TextFrame, TextMode,
TextWindow, WhereX, WhereY, Window |
Modules
Extended Pascal modules are building-blocks for programs and
libraries. They supply definitions of constants, types, variables,
procedures and functions by means of named "interfaces", and
the implementation of the procedures and functions as object files.
One or more interfaces can be exported by a module, and may then be
imported by other modules or main programs. A compiled interface takes
the form of a file, which is a self-contained representation of the
exported entities; interfaces can be amalgamated when the originating
modules are collected into a library.
Data types
The integer type is 32 bits; 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. Dynamic strings may have up to 32K characters, a
distinct shortstring type allowing up to 255 characters. Arrays may be
of any size that can be accommodated at run-time. Sets can be of any
ordinal base type, including negative integers. Various data types, in
particular arrays and strings, can have sizes that are parameterized
at run-time.
Operators
In addition to the familiar set of arithmetic and relational
operators, the standard includes exponentiation operators ** and POW,
an operator >< for set symmetric difference, and the forms
AND_THEN and OR_ELSE indicating Boolean operations which are to be
evaluated no further than needed to obtain the result. The + operator
is used to indicate string concatenation. This implementation also
provides a REM operator (remainder), shift and additional logical
operators SHL, SHR and XOR, and an aliassing notation.
Requirements: Intel based micro running
Windows NT ® or Windows 95 ®. For conventional Pascal
programming the package is self-contained. To produce programs that
use direct API calls will generally also require an SDK.
Pricing: Prospero Extended Pascal 32-bit
Edition for Windows 95/NT is available from Prospero Software for 240
pounds (excluding VAT & delivery); contact distributors for local
pricing.
OS/2 and DOS
versions of Prospero Extended Pascal are also available.
For further information, contact:
Prospero Development
Software Ltd
London SW15 6EP
England
(
Email Prospero@ProsperoSoftware.com
Distributors
United Kingdom
Grey Matter
Prigg Meadow
Ashburton
Devon TQ13 7DF
England
Email maildesk@greymatter.co.uk
System Science
1 Bradley's Close
White Lion Street
London N1 9PN
England
Germany
EDV-Beratung Friedrich Pluennecke
Hinterm Dorfe 21
D-38268 Lengede
Germany
(
Email fp@pluennecke.de
Japan
Lifeboat Inc.
3-6 Kanda-Nishikicho
Chiyoda-Ku
Tokyo 101
Japan
(
Email sales@lifeboat.co.jp
Prospero is a registered trademark of Prospero Software Ltd.
Microsoft, MS-DOS and Windows are trademarks of Microsoft Corp. IBM,
PC-DOS, OS/2 and Warp are trademarks of International Business
Machines Corp. All other trademarks are the property of their
respective owners.
Details correct as of October 1997.
Prospero Software has a policy of continuous product improvement and
reserves the right to alter specifications and prices without notice.
|