William N. Joy**
M. Kirk McKusick***
Computer Science Division
Department of Electrical Engineering and Computer Science
University of California, Berkeley
Berkeley, California 94720
Berkeley Pascal is designed for interactive instructional use and runs on the 11/780"" VAX 11/780. The interpreter px executes the Pascal binaries generated by the Pascal translator pi.
The PX Implementation Notes describe the general organization of px, detail the various operations of the interpreter, and describe the file input/output structure. Conclusions are given on the viability of an interpreter based approach to language implementation for an instructional environment.
These PX Implementation Notes have been updated from the original 11/70"" PDP 11/70 implementation notes to reflect the interpreter that runs on the 11/780"" VAX 11/780. These notes consist of four major parts. The first part outlines the general organization of px. Section 2 describes the operations (instructions) of the interpreter while section 3 focuses on input/output related activity. A final section gives conclusions about the viability of an interpreter based approach to language implementation for instruction.
The PXP Implementation Notes give details of the internals of the execution profiler pxp; parts of the interpreter related to pxp are discussed in section 2.10. A paper describing the syntactic error recovery mechanism used in pi was presented at the ACM Conference on Compiler Construction in Boulder Colorado in August, 1979.
This version of
px
is a
11/70"" PDP 11/70
to
11/780"" VAX 11/780
opcode mapping of the original
px
that was designed and implemented by Ken Thompson,
with extensive modifications and additions
by William Joy
and Charles Haley.
Without their work, this
Berkeley Pascal
system would never have existed.
These notes were first written by William Joy for the
11/70"" PDP 11/70
implementation.
We would also like to thank our faculty advisor Susan L. Graham
for her encouragement,
her helpful comments and suggestions
relating to
Berkeley Pascal
and her excellent editorial assistance.
** The financial support of the National Science Foundation under grants
MCS74-07644-A03 and MCS78-07291
and of an IBM Graduate Fellowship are gratefully acknowledged.
*** The financial support of a Howard Hughes Graduate
Fellowship is gratefully acknowledged.