You are here: VS Home>Products> Dr. Pascal>Specifications

Dr. Pascal Specifications

Standard Pascal.Full ISO/ANSI 7185, also known as "Classic Standard Pascal", Level 0. Conformance has been validated with the Pascal Validation Suite. Some features of Extended Pascal are also included: strings and string libraries, substring variable notation, structured function results, function results can be aliased and specified, file binding, integer constants can be represented in any base from binary through radix 36.

Comprehensive error detection. Dr. Pascal detects more errors, and gives more comprehensive error messages, than any Pascal compiler we know of. Over 300 compilation errors are detected and uniquely described. Over 45 runtime errors are detected. Runtime errors include not only no-brainers like "divide by zero", which every runtime system catches, but also difficult-to-detect errors such as "uninitialized variable" (even when a component of an array or record), and "copy of this pointer already disposed". These errors can literally take days to find on other systems--Dr. Pascal spots them the first time they occur, stops the program and pinpoints the error location.

Program size. Program size, when Dr. Pascal is fully licensed and unlocked, is limited to 64 Kb of source code and 32 Kb of intermediate code. For guidance, this is approximately 2,000 lines of source, but the limit is on bytes of source and intermediate code, not lines. Programs in the shareware, locked version of Dr. Pascal are limited to 1200 bytes of intermediate code size; for comparison, the 200-line tutorial program "EightQueens" uses 900 bytes of intermediate code. Program data is limited to 32 Kb.

Integrated programming environment. The editor is extensively integrated with compiler, specifically: 1) Only procedures changed in the editor are recompiled, 2) when compiling, automatically indents based on program structure (if desired, can be overridden by user), 3) when the cursor is on an identifier, press "Edit" to open a new editing window on the identifier's declaration (same for procedure calls), 4) The editor's "Pascal keys" type whole Pascal structures with one or two keystrokes, 5) Procedure-level editor finds, moves, or nests whole procedures or functions at a time, 6) And, of course Dr. Pascal does simple things like jumping from a compile error or runtime error directly to editing the line where the error occurred.

Technical description. Although we use the words "compile" and "compiler" for brevity, Dr. Pascal is technically a translator-interpreter. The translator converts Pascal source to an intermediate code, a modified version of "em" intermediate code, which is run by an em-interpreter. This interpretive design and Dr. Pascal's selective compilation make compilation extremely fast and facilitate the integration of editing, "compiling" and visible runtime. However, no native machine code is generated and no separate runnable file can be created by Dr. Pascal.

System Requirements

Systems requirements are modest, allowing Dr. Pascal to run on a variety of computer hardware. The on-line manual is in HTML and thus requires a web browser (not provided); pretty much any browser version 3 or higher will work.

System requirements for Macintosh Classic: Requires 1 meg free memory, about 500 Kb disk space. Requires MacOS 7.1 through 8.1--does not run on MacOS 8.6, 9.x or OSX. (Yes, we're working to update Dr. Pascal for Mac OSX. Sorry for any inconvenience.)

System requirements for Windows or MS-DOS: MS-DOS or PC-DOS version 2.1 or higher, or Windows 3.1, 95, 98, 2000, or ME. In Windows, Dr. Pascal runs in a DOS window. Requires just 512K RAM memory, and 1.5 meg of disk space. For Dr. Pascal ver 2.17 and earlier, the entire Pascal system without manual can be fit onto a 1.2 meg removable disk, and could actually be run on a two-diskette IBM-PC without hard drive. That's thrifty on system resources!

Back to Dr. Pascal page

Go on to download Dr. Pascal as shareware

VS Home page | All Products | Dr. Pascal | EP Compiler | pix | Source code | ePurchase | News | Pascal Info | Visible Software | About this site | Site Map

© 2004, Visible Software. All rights reserved.