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 |


