   This directory contains the source code for the Version 7 VAX
interpreter for Pascal. Following standard convensions, the makefile
contains four commands:

	px - compile and load px.

	install - compile px and install it in /usr/ucb

	clean - clean out directory

	print - print out a listing of px



Bugs and Limitations:

   Output of reals of value less than 1 does not print out a leading
zero. (eg 1.0e-01 prints as .1 rather than 0.1)

   Pi does not compute stdio format strings, so they must be computed
at run time. (see 31writeold.s for details)

   Runtime error messages could give far more information than they
currently do. (eg the actual value of a subscript which is out
of range)

   It should be possible to resume execution following many of
the runtime errors. (eg fixed overflow, interrupt, etc)



Comparison of Pascal interpreter with C compiler

In an attempt to compare compiled versus interpreted execution speeds
the 'Tower of Hanoi' benchmark (see hanoi.p, hanoi.c) was run with 
the following results:

Data:
	number of disks: 		   16
	number of moves required:	65535

Program			Run Time	Factor
C, optimized		   2.5		  1.0
C, unoptimized		   2.8		  1.1
Pascal, no tests	  38.2		 15.3
Pascal, full tests	  57.1		 22.8

Note: The times for the C programs were obtained by running
larger problems and scaling them down appropriately.

Berkeley is developing a Pascal compiler which should improve the
runtime by about a factor of 10.
