Add some mdoc markup and remove hard sentence breaks.
[dragonfly.git] / share / doc / papers / px / pxin0.n
1 .\" Copyright (c) 1979 The Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)pxin0.n     5.2 (Berkeley) 4/17/91
33 .\" $FreeBSD: src/share/doc/papers/px/pxin0.n,v 1.1.1.1.14.1 2000/11/30 17:13:59 ru Exp $
34 .\" $DragonFly: src/share/doc/papers/px/pxin0.n,v 1.2 2003/06/17 04:36:56 dillon Exp $
35 .\"
36 .RP
37 .TL
38 Berkeley Pascal
39 PX Implementation Notes
40 .br
41 Version 2.0 \- January, 1979
42 .AU
43 William N. Joy\*(Dg
44 .AU
45 M. Kirk McKusick\*(Dd
46 .AI
47 Computer Science Division
48 Department of Electrical Engineering and Computer Science
49 University of California, Berkeley
50 Berkeley, California  94720
51 .AB
52 .PP
53 Berkeley Pascal
54 is designed for interactive instructional use and runs on the
55 .SM "VAX 11/780" .
56 The interpreter
57 .I px
58 executes the Pascal binaries generated by the Pascal translator
59 .I pi .
60 .PP
61 The
62 .I
63 PX Implementation Notes
64 .R
65 describe the general organization of
66 .I px ,
67 detail the various operations of the interpreter,
68 and describe the file input/output structure.
69 Conclusions are given on the viability of an interpreter
70 based approach to language implementation for an instructional environment.
71 .AE
72 .if n 'ND
73 .SH
74 Introduction
75 .PP
76 These
77 .I
78 PX Implementation Notes
79 .R
80 have been updated from the  original 
81 .SM "PDP 11/70"
82 implementation notes to reflect the interpreter that runs on the
83 .SM "VAX 11/780" .
84 These notes consist of four major parts.
85 The first part outlines the general organization of
86 .I px .
87 Section 2 describes the operations (instructions) of the interpreter
88 while section 3 focuses on input/output related activity.
89 A final section gives conclusions about the viability of an interpreter
90 based approach to language implementation for instruction.
91 .SH
92 Related Berkeley Pascal documents
93 .PP
94 The
95 .I "PXP Implementation Notes"
96 give details of the internals of the execution profiler
97 .I pxp;
98 parts of the interpreter related to
99 .I pxp
100 are discussed in section 2.10.
101 A paper describing the syntactic error recovery mechanism used in
102 .I pi
103 was presented at the ACM Conference on Compiler Construction
104 in Boulder Colorado in August, 1979.
105 .SH
106 Acknowledgements
107 .PP
108 This version of
109 .I px
110 is a
111 .SM "PDP 11/70"
112 to
113 .SM "VAX 11/780"
114 opcode mapping of the original
115 .I px
116 that was designed and implemented by Ken Thompson,
117 with extensive modifications and additions
118 by William Joy
119 and Charles Haley.
120 Without their work, this
121 .UP
122 system would never have existed.
123 These notes were first written by William Joy for the
124 .SM "PDP 11/70"
125 implementation.
126 We would also like to thank our faculty advisor Susan L. Graham
127 for her encouragement,
128 her helpful comments and suggestions
129 relating to
130 .UP
131 and her excellent editorial assistance.
132 .FS
133 \*(dg\ The financial support of the National Science Foundation under grants
134 MCS74-07644-A03 and MCS78-07291
135 and of an \s-2IBM\s0 Graduate Fellowship are gratefully acknowledged.
136 .FE
137 .FS
138 \*(dd\ The financial support of a Howard Hughes Graduate 
139 Fellowship is gratefully acknowledged.
140 .FE
141 .bp