1. Sources of information

This section lists the resources available on the UC Berkeley campus for information about general features of UNIX, text editing, the Pascal language, and the Berkeley Pascal implementation, concluding with a list of references. The available documents include both so-called standard documents - those distributed with all UNIX system - and documents (such as this one) written at Berkeley.

1.1. Where to get documentation

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. Current documentation for most of the UNIX system is also available ``on line'' at your terminal. Details on getting such documentation interactively are given in section 1.3.

1.2. Computer Center short courses

For those not enrolled in Computer Science Division courses, and who have no prior experience using UNIX, 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 Berkeley Pascal user are the ones dealing with basic use of UNIX, and with 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.

1.3. Documentation describing UNIX

The following documents are those recommended as tutorial and reference material about the UNIX system. We give the documents with the introductory and tutorial materials first, the reference materials last.

UNIX For Beginners - Second Edition
This document is the basic tutorial for UNIX available with the standard system.

Communicating with UNIX
This is also a basic tutorial on the system and assumes no previous familiarity with computers; it was written at Berkeley and is used in the short courses.

An introduction to the C shell
This document introduces csh, the shell in common use at Berkeley, and provides a good deal of general description about the way in which the system functions. It provides a useful glossary of terms used in discussing the system.

UNIX Programmer's Manual
This manual is the major source of details on the components of the UNIX system. It consists of an Introduction, a permuted index, and eight command sections. Section 1 consists of descriptions of most of the ``commands'' of UNIX. Most of the other sections have limited relevance to the user of Berkeley Pascal, being of interest mainly to system programmers. The manual is available from the Computer Center Library.
UNIX documentation often refers the reader to sections of the manual. Such a reference consists of a command name and a section number or name. An example of such a reference would be: ed (1).

* Older systems may refer to the manual sections using roman numerals, e.g. pi (6).

Here ed is a command name - the standard UNIX text editor, and `(1)' indicates that its documentation is in section 1 of the manual.
The pieces of the Berkeley Pascal system are pi (6), px (6), the combined Pascal translator and interpretive executor pix (6), the Pascal execution profiler pxp (6), the Pascal cross-reference generator pxref (6), and the filter which interprets carriage control pcc (6).
It is possible to obtain a copy of a manual section by using the man (1) command. To get the Pascal documentation just described one could issue the command:

% man new pi

to the shell. The user input here is shown in bold face ; the `% ', which was printed by the shell as a prompt, is not. Similarly the command:

% man man

asks the man command to describe itself.

1.4. Text editing documents

The following documents introduce the various UNIX text editors. Most Berkeley users will use a version of the text editor ex; either edit, which is a version of ex for new and casual users, ex itself, or vi (visual) which focuses on the display editing portion of ex.*

* Several other editors are available also. The standard UNIX editor ed, the RAND editor re, and an (undocumented) version of teco.

A Tutorial Introduction to the UNIX Text Editor
This document, written by Brian Kernighan of Bell Laboratories, is a tutorial for the standard UNIX text editor ed. It introduces you to the basics of text editing, and provides enough information to meet day-to-day editing needs, for ed users.

Edit: A tutorial
This introduces the use of edit, an editor similar to ed which provides a more hospitable environment for beginning users. The short courses on editing taught by the Computer Center use this document.

Ex/edit Command Summary
This summarizes the features of the editors ex and edit in a concise form. If you have used a line oriented editor before this summary alone may be enough to get you started.

Ex Reference Manual - Version 2.0
A complete reference on the features of ex and edit.

An Introduction to Display Editing with Vi
Vi is a display oriented text editor. It can be used on most any \s-2CRT\s0 terminal, and uses the screen as a window into the file you are editing. Changes you make to the file are reflected in what you see. This manual serves both as an introduction to editing with vi and a reference manual.

Vi Quick Reference
This reference card is a handy quick guide to vi; you should get one when you get the introduction to vi.

1.5. Pascal documents - The language

This section describes the documents on the Pascal language which are likely to be most useful to the Berkeley Pascal user. Complete references for these documents are given in section 1.7.

Pascal User Manual
By Kathleen Jensen and Niklaus Wirth, the 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.

Pascal Report
By Niklaus Wirth, this document is bound with the 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 User Manual as a reference.

Books on Pascal
Several good books which teach Pascal or use it as a medium are available. The books by Wirth Systematic Programming and 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.

1.6. Pascal documents - The Berkeley Implementation

This section describes the documentation which is available describing the Berkeley implementation of Pascal.

User's Manual
The document you are reading is the User's Manual for Berkeley Pascal . We often refer the reader to the Jensen-Wirth User Manual mentioned above, a different document with a similar name.

Manual sections
The sections relating to Pascal in the UNIX Programmer's Manual are pix (6), pi (6), pcc (6), px (6), pxp (6), and pxref (6). 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.

Implementation notes
For those interested in the internal organization of the Berkeley Pascal system there are a series of Implementation Notes describing these details. The Berkeley Pascal PXP Implementation Notes describe the Pascal interpreter px; and the Berkeley Pascal PX Implementation Notes describe the structure of the execution profiler pxp.

1.7. References

UNIX Documents

Communicating With UNIX
Computer Center
University of California, Berkeley
January, 1978.

Edit: a tutorial
Ricki Blau and James Joyce
Computing Services Division, Computing Affairs
University of California, Berkeley
January, 1978.

Ex/edit Command Summary
Computer Center
University of California, Berkeley
August, 1978.

Ex Reference Manual - Version 2.0
An Introduction to Display Editing with Vi
Vi Quick Reference
William Joy
Computer Science Division
Department of Electrical Engineering and Computer Science
University of California, Berkeley
April, 1979.

An Introduction to the C shell
William Joy
Computer Science Division
Department of Electrical Engineering and Computer Science
University of California, Berkeley
January, 1979.

Brian W. Kernighan
UNIX for Beginners - Second Edition
Bell Laboratories
Murray Hill, New Jersey.

Brian W. Kernighan
A Tutorial Introduction to the UNIX Text Editor
Bell Laboratories
Murray Hill, New Jersey.

Dennis M. Ritchie and Ken Thompson
The UNIX Time Sharing System
Communications of the ACM
July 1974
365-378.

B. W. Kernighan and M. D. McIlroy
UNIX Programmer's Manual - Seventh Edition
Bell Laboratories
Murray Hill, New Jersey
December, 1978.

Pascal Language Documents

Conway, Gries and Zimmerman
A Primer on PASCAL
Winthrop, Cambridge Mass.
1976, 433 pp.

Kathleen Jensen and Niklaus Wirth
Pascal - User Manual and Report
Springer-Verlag, New York.
1975, 167 pp.

C. A. G. Webster
Introduction to Pascal
Heyden and Son, New York
1976, 129pp.

Niklaus Wirth
Algorithms + Data structures = Programs
Prentice-Hall, New York.
1976, 366 pp.

Niklaus Wirth
Systematic Programming
Prentice-Hall, New York.
1973, 169 pp.

Berkeley Pascal documents
The following documents are available from the Computer Center Library at the University of California, Berkeley.

William N. Joy, Susan L. Graham, and Charles B. Haley
Berkeley Pascal User's Manual - Version 1.1
April, 1979.

William N. Joy
Berkeley Pascal PX Implementation Notes
Version 1.1, April 1979.

William N. Joy
Berkeley Pascal PXP Implemetation Notes"
Version 1.1, April 1979.