1BSD/puman/puman1.n

.if \n(xx .bp
.if !\n(xx \{\
.so tmac.p \}
.if n 'ND
'nr H1 0
.NH
Sources of information
.PP
This section lists the resources available on the UC Berkeley
campus for information about
general features of
.UX ,
.UX
text editing,
the Pascal language,
and the
.UP
implementation,
concluding with a list of references.
The available documents include both so-called standard documents \-
those distributed with all
.UX
system \-
and documents (such as this one) written at Berkeley.
.NH 2
Where to get documentation
.PP
On the UC Berkeley campus, documentation is available at the Computer
Center Library, room 218B Evans Hall.
The library is open from 8:00 A.M. to 5:00 P.M. Monday through Friday.
For classes in the Computer Science Division, Pascal documentation
is usually available through a department office.
The best source for general
.UX
documentation is, however,
the Computer Center Library.
.PP
Current documentation for most of the
.UX
system is also available ``on line'' at your terminal.
Details on getting such documentation interactively are given
in section 1.3 on
.UX
documentation.
.NH 2
Computer Center short courses
.PP
For those not enrolled in Computer Science Division courses, and
who have no prior experience using
.UX ,
the short-courses offered by the staff of the Computer Center
are highly recommended.
These courses are offered free of charge, and are usually held
at the beginning of each quarter.
The two most valuable short courses for the
.UX
Pascal user are the ones dealing with basic use of
.UX ,
and with
.UX
text editing.
If you are unable to attend the short courses, documents
for these courses are available at the Computer Center Library,
and are recommended.
The documents are in a tutorial format, so it is possible to use them on your
own.
.NH 2
Documentation describing UNIX
.PP
The following documents are those recommended as tutorial and
reference material about the
.UX
system.
We give the documents with the introductory and tutorial materials
first, the reference materials last.
.SH
Communicating with UNIX
.PP
This set of documents should be read by every new
.UX
user.
The documents, written by
Ricki Blau of the Computer Center Staff,
introduce the basic use of
the
.UX
command language processor (the ``shell''),
and the most commonly used commands.
The author makes no assumptions about prior experience with
interactive computing or with
.UX .
The six documents which comprise the set
introduce most of the 
.UX
system features which will be needed by
the new Pascal user in order to survive with
.UX
Pascal.
.SH
UNIX For Beginners
.PP
This document is the basic tutorial for 
.UX
available with the standard system.
It is a useful introduction to
.UX
but does not provide as much explanation as
.I "Communicating with UNIX."
The document is not up-to-date
with the current status of the Berkeley system,
but is very useful as a supplement to 
.I "Communicating with UNIX."
.SH
The UNIX Time Sharing System
.PP
By the primary authors of
.UX ,
Dennis Ritchie and Ken Thompson,
this excellent award-winning
article appeared in the
.I "Communications of the ACM"
in July, 1974
and describes the general features of
.UX
in an advanced setting.
It provides useful details on the design philosophy and inner
workings of the
.UX
system.
It makes interesting reading after you have experimented with the system for a
while.
.SH
UNIX Programmer's Manual
.PP
This manual is the major source of details on the components of the
.UX
system.
It consists of an Introduction,
a permuted index,
and eight command sections.
Section I consists of descriptions of most of the ``commands''
of
.UX .
Most of the other sections have limited relevance to the user
of
.UX
Pascal, being of interest mainly to system programmers.
Portions of the manual are available from the Computer Center Library.
.PP
.UX
documentation often refers the reader to sections of the manual.
Such a reference consists of a command name and a section number.
An example of such a reference would be:
.PI
(VI).
Here
.PI
is a command name \- the Pascal interpretive translator, and `(VI)'
indicates that the command is part of Section VI of the manual.
The other pieces of the
.UX
Pascal system are the Pascal interpretive executor
.X
(VI),
the combined Pascal translator and interpretive executor
.IX
(VI),
the Pascal execution profiler
.XP
(VI),
the Pascal cross-reference generator
.I pxref
(VI),
and the filter which interprets carriage control
.I pcc
(VI).
.PP
It is possible to obtain a copy of a manual section
by using the
.I man
(VI) command.
To get the Pascal documentation just described one could issue the
command:
.LS
% \*bman pi\fP
.LE
to the shell.
The user input here is shown in
.B "bold face" ;
the `% ',
which was printed by the shell as a prompt,
is not.
Similarly the command:
.LS
% \*bman man\fP
.LE
asks the
.I man
command to describe itself.
.NH 2
Text editing documents
.PP
The following documents introduce the various
.UX
text editors.
In addition to the documents described here, there is an implementation
of the text editor
.I teco
available locally.
No documentation on this editor is available currently however.
.SH
Text editing with UNIX
.PP
This series of documents is used for the short course given at the
Computer Center on text editing.
It can also be used for self-study, and is the best tutorial currently
available on basic text editing.
For those not in Computer Science Division courses, the associated
short course at the Computer Center on text editing is strongly recommended.
.SH
A Tutorial Introduction to the UNIX Text Editor
.PP
This document, written by Brian Kernighan of Bell Laboratories,
is the standard tutorial for the
.UX
text editor
.I ed.
This document also introduces you to the very basics of text editing,
but does not discuss using the system itself at the same time.
For this reason, this document is recommended as supplemental reading,
along with the document
.I "Text editing with UNIX."
.SH
Ex Reference Manual
.PP
The text editor
.I ex
is an enhanced version of the text editor
.I ed.
It is designed for use
by people who have not used a text editor before as well as those
experienced editor users who wish to use its new features.
This document summarizes the features of
.I ex .
For persons with little previous editor experience, the tutorials
listed above are also recommended.
.bp
.NH 2
Pascal documents \- The language
.PP
This section describes the documents on the Pascal language
which are likely to be most useful to the
.UX
Pascal user.
Complete references for these documents are given in section 1.7.
.SH
Pascal User Manual
.PP
By Kathleen Jensen and Niklaus Wirth, the
.I "User Manual"
provides a tutorial introduction to the features
of the language Pascal,
and serves as an excellent quick-reference to the language.
The reader with no familiarity with Algol-like languages 
may prefer one of the Pascal text books listed below,
as they provide more examples and explanation.
Particularly important here are pages 116-118 which define the syntax
of the language.
Sections 13 and 14 and Appendix F pertain only to the
6000-3.4 implementation of Pascal.
.SH
Pascal Report
.PP
By Niklaus Wirth, this document is bound with the
.I "User Manual."
It is the guiding reference for implementors and the fundamental
definition of the language.
Some programmers find this report too concise to be of practical use,
preferring the
.I "User Manual"
as a reference.
.SH
Books on Pascal
.PP
Several good books which teach Pascal or use it as a medium are
available.
The books by Wirth
.I "Systematic Programming"
and
.I "Algorithms + Data Structures = Programs"
use Pascal as a vehicle for teaching programming and data structure
concepts respectively.
They are both recommended.
Other books on Pascal are listed in the references below.
.NH 2
Pascal documents \- The UNIX Implementation
.PP
This section describes the documentation which is available
describing the
.UX
implementation of Pascal.
.SH
User's Manual
.PP
The document you are reading is the 
.I "User's Manual"
for
.UP .
We often refer the reader to the
Jensen-Wirth
.I "User Manual"
mentioned above,
a different document with a similar name.
.SH
Manual sections
.PP
The sections relating to Pascal in the
.I "UNIX Programmer's Manual"
are
.IX
(VI),
.PI
(VI),
.I pcc
(VI),
.X
(VI),
.I pxp
(VI),
and
.I pxref
(VI).
These sections give a description of each program,
summarize the available options,
indicate files used by the program,
give basic information on the diagnostics produced 
and include a list of known bugs.
.SH
Implementation notes
.PP
For those interested in the internal organization of the
.UX
Pascal system there are a series of
.I "Implementation Notes"
describing these details.
The
.I "PI 1.0 Implementation Notes"
describe the structure of the Pascal translator
.PI \|;
the
.I "PX 1.0 Implementation Notes"
describe the Pascal interpreter
.X \|;
and the
.I "PXP 1.0 Implementation Notes"
describe the structure of the
execution profiler
.I pxp .
.br
.ne 8
.NH 2
References
.de re
.sp
.IP
'nf
..
.SH
UNIX Documents
.re
Ricki Blau
.I "Communicating With UNIX"
Computer Center and Computer Science Division
University of California, Berkeley
July, 1977.
.re
William N. Joy
.I "Ex Reference Manual \- Version 1.1"
Computer Center
University of California, Berkeley
November, 1977.
.re
James Joyce
.I "Text editing with UNIX"
Computer Center
University of California, Berkeley
July, 1977.
.re
Brian W. Kernighan
.I "A Tutorial Introduction to the UNIX Text Editor"
Bell Laboratories
Murray Hill, New Jersey.
.re
Brian W. Kernighan
.I "UNIX for Beginners"
Bell Laboratories
Murray Hill, New Jersey.
.re
Dennis M. Ritchie and Ken Thompson
.I "The UNIX Time Sharing System"
Communications of the ACM
July 1974
365-378.
.KS
.re
Ken Thompson and Dennis M. Ritchie\*(dg
.I "UNIX Programmer's Manual \- Version 6"
Bell Laboratories
Murray Hill, New Jersey
May 1975.
.FS
\*(dgAt Berkeley a
revised version of this manual is available and to be preferred.
.FE
.KE
.ne 12
.SH
Pascal Language Documents
.re
Conway, Gries and Zimmerman
.I "A Primer on PASCAL"
Winthrop, Cambridge Mass.
1976, 433 pp.
.re
Kathleen Jensen and Niklaus Wirth
.I "Pascal \- User Manual and Report"
Springer-Verlag, New York.
1975, 167 pp.
.re
C. A. G. Webster
.I "Introduction to Pascal"
Heyden and Son, New York
1976, 129pp.
.re
Niklaus Wirth
.I "Algorithms + Data structures = Programs"
Prentice-Hall, New York.
1976, 366 pp.
.re
Niklaus Wirth
.I "Systematic Programming"
Prentice-Hall, New York.
1973, 169 pp.
.SH
UNIX Pascal documents
.PP
The following documents are available from the Computer Center Library
at the University of California, Berkeley.
.nf
.re
Charles B. Haley and William N. Joy
.I "PI 1.0 Implementation Notes"
In preparation: November, 1977.
.re
William N. Joy, Susan L. Graham, and Charles B. Haley
.I "UNIX Pascal User's Manual \- Version 1.0"
November, 1977.
.re
William N. Joy
.I "PX 1.0 Implementation Notes"
In preparation: November, 1977.
.re
William N. Joy
.I "PXP 1.0 Implementation Notes"
In preparation: November, 1977.