ZurückZurück Development Tools

Prospero Extended Pascal
32-bit Edition for Windows NT and 95

Implementation summary

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.


ZurückZurück Development Tools