| 1 | This directory contains the source code for the Version 7 VAX |
| 2 | interpreter for Pascal. Following standard convensions, the makefile |
| 3 | contains four commands: |
| 4 | |
| 5 | px - compile and load px. |
| 6 | |
| 7 | install - compile px and install it in /usr/ucb |
| 8 | |
| 9 | clean - clean out directory |
| 10 | |
| 11 | print - print out a listing of px |
| 12 | |
| 13 | |
| 14 | |
| 15 | Bugs and Limitations: |
| 16 | |
| 17 | Output of reals of value less than 1 does not print out a leading |
| 18 | zero. (eg 1.0e-01 prints as .1 rather than 0.1) |
| 19 | |
| 20 | Pi does not compute stdio format strings, so they must be computed |
| 21 | at run time. (see 31writeold.s for details) |
| 22 | |
| 23 | Runtime error messages could give far more information than they |
| 24 | currently do. (eg the actual value of a subscript which is out |
| 25 | of range) |
| 26 | |
| 27 | It should be possible to resume execution following many of |
| 28 | the runtime errors. (eg fixed overflow, interrupt, etc) |
| 29 | |
| 30 | |
| 31 | |
| 32 | Comparison of Pascal interpreter with C compiler |
| 33 | |
| 34 | In an attempt to compare compiled versus interpreted execution speeds |
| 35 | the 'Tower of Hanoi' benchmark (see hanoi.p, hanoi.c) was run with |
| 36 | the following results: |
| 37 | |
| 38 | Data: |
| 39 | number of disks: 16 |
| 40 | number of moves required: 65535 |
| 41 | |
| 42 | Program Run Time Factor |
| 43 | C, optimized 2.5 1.0 |
| 44 | C, unoptimized 2.8 1.1 |
| 45 | Pascal, no tests 38.2 15.3 |
| 46 | Pascal, full tests 57.1 22.8 |
| 47 | |
| 48 | Note: The times for the C programs were obtained by running |
| 49 | larger problems and scaling them down appropriately. |
| 50 | |
| 51 | Berkeley is developing a Pascal compiler which should improve the |
| 52 | runtime by about a factor of 10. |