.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 , 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. 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. .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 Berkeley Pascal user are the ones dealing with basic use of .UX , 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. .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 UNIX For Beginners \- Second Edition .PP This document is the basic tutorial for .UX available with the standard system. .SH Communicating with UNIX .PP 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. .SH An introduction to the C shell .PP This document introduces .I 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. .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 1 consists of descriptions of most of the ``commands'' of .UX . 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. .PP U\s-2NIX\s0 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: .I ed (1). Here .I ed is a command name \- the standard .UX text editor, and `(1)' indicates that its documentation is in section 1 of the manual. .PP The pieces of the Berkeley Pascal system are .I pi (1), .X (1), the combined Pascal translator and interpretive executor .IX (1), the Pascal execution profiler .XP (1), and the Pascal cross-reference generator .I pxref (1). .PP It is possible to obtain a copy of a manual section by using the .I man (1) 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. Most Berkeley users will use a version of the text editor .I ex; either .I edit, which is a version of .I ex for new and casual users, .I ex itself, or .I vi (visual) which focuses on the display editing portion of .I ex. .SH A Tutorial Introduction to the UNIX Text Editor .PP This document, written by Brian Kernighan of Bell Laboratories, is a tutorial for the standard .UX text editor .I ed. It introduces you to the basics of text editing, and provides enough information to meet day-to-day editing needs, for .I ed users. .SH Edit: A tutorial .PP This introduces the use of .I edit, an editor similar to .I ed which provides a more hospitable environment for beginning users. The short courses on editing taught by the Computer Center use this document. .SH Ex/edit Command Summary .PP This summarizes the features of the editors .I ex and .I edit in a concise form. If you have used a line oriented editor before this summary alone may be enough to get you started. .SH Ex Reference Manual \- Version 3.1 .PP A complete reference on the features of .I ex and .I edit. .SH An Introduction to Display Editing with Vi .PP .I 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 .I vi and a reference manual. .SH Vi Quick Reference .PP This reference card is a handy quick guide to .I vi; you should get one when you get the introduction to .I vi. .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 Berkeley 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 Berkeley Implementation .PP This section describes the documentation which is available describing the Berkeley 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 (1), .PI (1), .X (1), .I pxp (1), and .I pxref (1). 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 Berkeley Pascal system there are a series of .I "Implementation Notes" describing these details. The .I "Berkeley Pascal PXP Implementation Notes" describe the Pascal interpreter .X \|; and the .I "Berkeley Pascal PX 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 .I "Communicating With UNIX" Computer Center University of California, Berkeley January, 1978. .re .I "Edit: a tutorial" Ricki Blau and James Joyce Computing Services Division, Computing Affairs University of California, Berkeley January, 1978. .re .I "Ex/edit Command Summary" Computer Center University of California, Berkeley August, 1978. .re .I "Ex Reference Manual \- Version 3.1" .I "An Introduction to Display Editing with Vi" .I "Vi Quick Reference" William Joy Computer Science Division Department of Electrical Engineering and Computer Science University of California, Berkeley April, 1979. .re .I "An Introduction to the C shell" William Joy Computer Science Division Department of Electrical Engineering and Computer Science University of California, Berkeley January, 1979. .re Brian W. Kernighan .I "UNIX for Beginners \- Second Edition" Bell Laboratories Murray Hill, New Jersey. .re Brian W. Kernighan .I "A Tutorial Introduction to the UNIX Text Editor" 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. .re B. W. Kernighan and M. D. McIlroy .I "UNIX Programmer's Manual \- Seventh Edition" Bell Laboratories Murray Hill, New Jersey December, 1978. .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 Berkeley Pascal documents .PP The following documents are available from the Computer Center Library at the University of California, Berkeley. .nf .re William N. Joy, Susan L. Graham, and Charles B. Haley .I "Berkeley Pascal User's Manual \- Version 1.1" April, 1979. .re William N. Joy .I "Berkeley Pascal PX Implementation Notes" Version 1.1, April 1979. (Vax-11 Version By Kirk McKusick, December, 1979) .re William N. Joy .I "Berkeley Pascal PXP Implemetation Notex" Version 1.1, April 1979.