UCSD Pascal

From Lazarus wiki
Revision as of 13:47, 6 May 2013 by Jwdietrich (talk | contribs)
Jump to navigationJump to search

UCSD Pascal was the first minicomputer implementation of the Pascal programming language. Developed at the University of California, San Diego, under the direction of Kenneth Bowes, it implemented a number of significant improvements to the standard Pascal language, including

  • Separate compilation of programs by use of the unit directive.
  • Implementation of a means to distinguish between disk files and screen files, so that interactive applications could be developed.
  • On-screen compilation including an interactive editor such that indications of errors in the program detected by the compiler could be transferred back to the editor to allow the exact line that the error occurred on to be highlighted, along with the precise error message.
  • Variable length strings, including procedures to handle them.

UCSD Pascal was implemented on

  • Terak computer system, which used the PDP-11 processor and a bit-mapped screen similar to the original Apple Macintosh computer.
  • The Apple II with the 80-character video card.
  • The IBM-PC.
  • The Texas Instruments TI 99/4A, which used the TMS 9900 processor.

UCSD Pascal used its own operating system and had its own file format for its disk directories, which was different from any other operating system's file format, as it had to handle files with longer names than the then-standard 6 + 3, and later 8 + 3 formats, and files having one or more blanks in the file name.

Most of the operating system was itself written in UCSD Pascal, apart from the machine-dependent parts. To make this possible, UCSD Pascal was also expanded with some features, mainly aimed at system programmers

  • Handling of untyped data.
  • Access to untyped files, as well as the ability to read and write blocks directly on a disk.
  • Concurrent processes.

Source code

Version I.5 of UCSD Pascal is nowadays available under a non-commercial open source license. The source code of this version can be found on the Free Pascal ftp site at ftp://ftp.freepascal.org/pub/fpc/attic/ucsd-pascal

Various Pascal Compilers:
AAEC Pascal | Alice Pascal | Apple Pascal | Borland Pascal | Clascal | Delphi | Free Pascal Compiler (FPC) | GNU Pascal | Kylix | Lisa Pascal | Mac Pascal | Metrowerks Pascal | NBS Pascal | OMSI Pascal | PascalABC.net | P32 | Sibyl | Smart Pascal | Stanford Pascal Compiler | Swedish Pascal | THINK Pascal | Turbo Pascal | UCSD Pascal | VAX Pascal | Virtual Pascal | winsoft PocketStudio
An extensive list of compilers is maintained at Pascaland.