.so tmac.p
.RP
.TL
Berkeley Pascal User's Manual
.br
Version 1.1 \- April, 1979
.AU
William N. Joy*
.AU
Susan L. Graham*
.AU
Charles B. Haley**
.AI
Computer Science Division
.if n Department of Electrical Engineering
.if n and Computer Science
.if t Department of Electrical Engineering and Computer Science
University of California, Berkeley
Berkeley, California  94720
...AI
...MH
.AB
.FS
\s-2(C)\s0 1977, 1979 William N. Joy, Susan L. Graham, Charles B. Haley
.FE
.FS
* Author's current address: Bell Laboratories, Murray Hill NJ  07974
.FE
.PP
Berkeley
Pascal
is designed for interactive instructional use
and runs on the \s-2PDP\s0 11 family of computers.
It produces interpretive code,
providing fast translation at the expense of slower execution speed.
An execution profiler and
Wirth's cross reference program are also
available with the system.
..An interpretive implementation for the \s-2VAX\s0 11/780 is nearly complete,
..and a compiled version of the system, utilizing the code generator of
..the portable C compiler, is under construction, and should be completed by
..September, 1979.
.PP
The system supports full Pascal, with the exception of
.B procedure
and
.B function
names as parameters.
The language accepted is very close to
`standard' Pascal,
with only a small number of extensions.
.PP
The
.UM
gives a list of sources relating to the
.UX
system, the Pascal language, and the
.UP
system.
Basic usage examples are provided for the Pascal
interpreter components
.PI ,
.X ,
.IX ,
and
.XP .
Errors commonly encountered in these programs are discussed.
Details are given of special considerations due to the
interactive implementation.
A number of examples are provided including many dealing with
input/output.  An appendix supplements Wirth's
.I "Pascal Report"
to form the full definition of the Berkeley implementation of the language.
.AE
.ND
.SH
'if n 'ND
Introduction
.PP
.FS
* The financial support of the first and second authors' work by
the National Science Foundation under grants
MCS74-07644-A03 and MCS78-07291,
and the first author's work by an
.SM IBM
Graduate Fellowship
are gratefully acknowledged.
.FE
.FS
** Author's present address: Bell Laboratories, Murray Hill, NJ  07974.
.FE
The
.UP
.UM
consists of five major sections and an appendix.
In section 1 we give sources of information about 
.UX ,
about the programming
language Pascal, and about the
Berkeley
implementation of the language.
Section 2 introduces the
Berkeley
implementation and provides a number of basic examples.
Section 3 discusses the error diagnostics produced by the translator
.PI
and the runtime interpreter
.X .
Section 4 describes input/output with special attention given to features
of the interactive implementation and to features unique to
.UX .
Section 5 gives details on the components of the system
and explanation of all relevant options.
The
.UM
concludes with an appendix to Wirth's
.I "Pascal Report"
with which it forms a precise definition of the implementation.
.SH
History of the implementation
.PP
The first
Berkeley
system was written by Ken Thompson in early 1976.
The main features of the present system result from the work
of Charles Haley and William Joy during the latter half of 1976.
Earlier versions of this system have been in use since January, 1977.
