Where the Pascal-U compiler (1976) implements a subset of Standard Pascal, Pascal-VU (1979) implements full ISO Standard Pascal.
The Pascal‐VU compiler produces code for an EM1 machine. There does not exist a hardware EM1 machine. Therefore, EM1 programs must be interpreted, or translated into instructions for a target machine. The following implementations exist:
- an interpreter running on a PDP‐11 (using UNIX‐6). Normally the interpreter performs some tests to detect undefined integers, integer overflow, range errors, etc. However, one of the options of the interpreter is to skip these tests.
- a translator into PDP‐11 instructions (using UNIX‐6).
Pascal-VU June 1980 si afound on a tape dump https://www.tuhs.org/Archive/Applications/Shoppa_Tapes/usenix_80_delaware.tar.gz in the folder ‘tanenbaum’.
The header of the Pascal-VU compiler source
program pem(input,output,em1); {This Pascal compiler produces EM1 code as described in - A.S.Tanenbaum, J.W.Stevenson & H. van Staveren, "Description of a experimental machine architecture for use of block structured languages" Informatika rapport xx. A description of Pascal is given in - K.Jensen & N.Wirth, "PASCAL user manual and report", Springer-Verlag. Several options may be given in the normal pascal way. Moreover, a positive number may be used instead of + and -. The options are: a: interpret assertions (+); c: C-type strings allowed (-); i: controls the number of bits in integer sets (16); l: insert code to keep track of source lines (+); o: optimize (+); r: check subranges (+); s: accept only standard pascal programs (-); t: trace procedure entry and exit (-); v: produce code for 24 bit addresses (-); } {===================================================================}
Downloads
![]() |
Pascal-VU Reference manual, 1979 |
![]() |
Pascal-VU Reference manual V2 seems to be a later version |
![]() |
Pascal-VU June 1980 tape archive + text files |
![]() |
Pascal-VU compiler test programs |
![]() |
Source of Pascal-VU compiler |
![]() |
Source of Pascal-VU compiler EM.h |
![]() |
Pascal-VU reference manual ISO standard compliance reference |
![]() |
Description of EM1 Version of 2 March 1979 |