BSD 2 development
[unix-history] / doc / pascal / puman1.n
CommitLineData
1662094b
BJ
1.if \n(xx .bp
2.if !\n(xx \{\
3.so tmac.p \}
4.if n 'ND
5'nr H1 0
6.NH
7Sources of information
8.PP
9This section lists the resources available on the UC Berkeley
10campus for information about
11general features of
12.UX ,
13text editing,
14the Pascal language,
15and the
16.UP
17implementation,
18concluding with a list of references.
19The available documents include both so-called standard documents \-
20those distributed with all
21.UX
22system \-
23and documents (such as this one) written at Berkeley.
24.NH 2
25Where to get documentation
26.PP
27On the UC Berkeley campus, documentation is available at the Computer
28Center Library, room 218B Evans Hall.
29The library is open from 8:00 A.M. to 5:00 P.M. Monday through Friday.
30Current documentation for most of the
31.UX
32system is also available ``on line'' at your terminal.
33Details on getting such documentation interactively are given
34in section 1.3.
35.NH 2
36Computer Center short courses
37.PP
38For those not enrolled in Computer Science Division courses, and
39who have no prior experience using
40.UX ,
41the short-courses offered by the staff of the Computer Center
42are highly recommended.
43These courses are offered free of charge, and are usually held
44at the beginning of each quarter.
45The two most valuable short courses for the
46Berkeley
47Pascal user are the ones dealing with basic use of
48.UX ,
49and with
50text editing.
51If you are unable to attend the short courses, documents
52for these courses are available at the Computer Center Library,
53and are recommended.
54The documents are in a tutorial format, so it is possible to use them on your
55own.
56.NH 2
57Documentation describing UNIX
58.PP
59The following documents are those recommended as tutorial and
60reference material about the
61.UX
62system.
63We give the documents with the introductory and tutorial materials
64first, the reference materials last.
65.SH
66UNIX For Beginners \- Second Edition
67.PP
68This document is the basic tutorial for
69.UX
70available with the standard system.
71.SH
72Communicating with UNIX
73.PP
74This is also a basic tutorial on the system and assumes
75no previous familiarity
76with computers; it was written at Berkeley and is used in the short courses.
77.SH
78An introduction to the C shell
79.PP
80This document introduces
81.I csh,
82the shell in common use at Berkeley, and provides a good deal of general
83description about the way in which the system functions.
84It provides a useful glossary of terms used in discussing the system.
85.SH
86UNIX Programmer's Manual
87.PP
88This manual is the major source of details on the components of the
89.UX
90system.
91It consists of an Introduction,
92a permuted index,
93and eight command sections.
94Section 1 consists of descriptions of most of the ``commands''
95of
96.UX .
97Most of the other sections have limited relevance to the user
98of
99Berkeley
100Pascal, being of interest mainly to system programmers.
101The manual is available from the Computer Center Library.
102.PP
103U\s-2NIX\s0
104documentation often refers the reader to sections of the manual.
105Such a reference consists of a command name and a section number or name.
106An example of such a reference would be:
107.I ed
108(1).\(dg
109.FS
110\(dg Older systems may refer to the manual sections using roman numerals,
111e.g. \fIpi\fR (6).
112.FE
113Here
114.I ed
115is a command name \- the standard
116.UX
117text editor, and `(1)' indicates that its documentation is in section 1 of the
118manual.
119.PP
120The pieces of the
121Berkeley
122Pascal system are
123.I pi
124(6),
125.X
126(6),
127the combined Pascal translator and interpretive executor
128.IX
129(6),
130the Pascal execution profiler
131.XP
132(6),
133the Pascal cross-reference generator
134.I pxref
135(6),
136and the filter which interprets carriage control
137.I pcc
138(6).
139.PP
140It is possible to obtain a copy of a manual section
141by using the
142.I man
143(1) command.
144To get the Pascal documentation just described one could issue the
145command:
146.LS
147% \*bman new pi\fP
148.LE
149to the shell.
150The user input here is shown in
151.B "bold face" ;
152the `% ',
153which was printed by the shell as a prompt,
154is not.
155Similarly the command:
156.LS
157% \*bman man\fP
158.LE
159asks the
160.I man
161command to describe itself.
162.NH 2
163Text editing documents
164.PP
165The following documents introduce the various
166.UX
167text editors.
168Most Berkeley users will use a version of the text editor
169.I ex;
170either
171.I edit,
172which is a version of
173.I ex
174for new and casual users,
175.I ex
176itself,
177or
178.I vi
179(visual) which focuses on the display editing portion of
180.I ex.*
181.FS
182* Several other editors are available also. The standard
183.UX
184editor
185.I ed,
186the \s-2RAND\s0 editor
187.I re,
188and an (undocumented) version of
189.I teco.
190.FE
191.SH
192A Tutorial Introduction to the UNIX Text Editor
193.PP
194This document, written by Brian Kernighan of Bell Laboratories,
195is a tutorial for the standard
196.UX
197text editor
198.I ed.
199It introduces you to the basics of text editing,
200and provides enough information to meet day-to-day editing needs,
201for
202.I ed
203users.
204.SH
205Edit: A tutorial
206.PP
207This introduces the use of
208.I edit,
209an editor similar to
210.I ed
211which provides a more hospitable environment for beginning users.
212The short courses on editing taught by the Computer Center use this
213document.
214.SH
215Ex/edit Command Summary
216.PP
217This summarizes the features of the editors
218.I ex
219and
220.I edit
221in a concise form. If you have used a line oriented editor before
222this summary alone may be enough to get you started.
223.SH
224Ex Reference Manual \- Version 2.0
225.PP
226A complete reference on the features of
227.I ex
228and
229.I edit.
230.SH
231An Introduction to Display Editing with Vi
232.PP
233.I Vi
234is a display oriented text editor. It can be used on most any \s-2CRT\s0
235terminal,
236and uses the screen as a window into the file you are editing. Changes
237you make to the file are reflected in what you see. This manual serves
238both as an introduction to editing with
239.I vi
240and a reference manual.
241.SH
242Vi Quick Reference
243.PP
244This reference card is a handy quick guide to
245.I vi;
246you should get one when you get the introduction to
247.I vi.
248.NH 2
249Pascal documents \- The language
250.PP
251This section describes the documents on the Pascal language
252which are likely to be most useful to the
253Berkeley
254Pascal user.
255Complete references for these documents are given in section 1.7.
256.SH
257Pascal User Manual
258.PP
259By Kathleen Jensen and Niklaus Wirth, the
260.I "User Manual"
261provides a tutorial introduction to the features
262of the language Pascal,
263and serves as an excellent quick-reference to the language.
264The reader with no familiarity with Algol-like languages
265may prefer one of the Pascal text books listed below,
266as they provide more examples and explanation.
267Particularly important here are pages 116-118 which define the syntax
268of the language.
269Sections 13 and 14 and Appendix F pertain only to the
2706000-3.4 implementation of Pascal.
271.SH
272Pascal Report
273.PP
274By Niklaus Wirth, this document is bound with the
275.I "User Manual."
276It is the guiding reference for implementors and the fundamental
277definition of the language.
278Some programmers find this report too concise to be of practical use,
279preferring the
280.I "User Manual"
281as a reference.
282.SH
283Books on Pascal
284.PP
285Several good books which teach Pascal or use it as a medium are
286available.
287The books by Wirth
288.I "Systematic Programming"
289and
290.I "Algorithms + Data Structures = Programs"
291use Pascal as a vehicle for teaching programming and data structure
292concepts respectively.
293They are both recommended.
294Other books on Pascal are listed in the references below.
295.NH 2
296Pascal documents \- The Berkeley Implementation
297.PP
298This section describes the documentation which is available
299describing the
300Berkeley
301implementation of Pascal.
302.SH
303User's Manual
304.PP
305The document you are reading is the
306.I "User's Manual"
307for
308.UP .
309We often refer the reader to the
310Jensen-Wirth
311.I "User Manual"
312mentioned above,
313a different document with a similar name.
314.SH
315Manual sections
316.PP
317The sections relating to Pascal in the
318.I "UNIX Programmer's Manual"
319are
320.IX
321(6),
322.PI
323(6),
324.I pcc
325(6),
326.X
327(6),
328.I pxp
329(6),
330and
331.I pxref
332(6).
333These sections give a description of each program,
334summarize the available options,
335indicate files used by the program,
336give basic information on the diagnostics produced
337and include a list of known bugs.
338.SH
339Implementation notes
340.PP
341For those interested in the internal organization of the
342Berkeley
343Pascal system there are a series of
344.I "Implementation Notes"
345describing these details.
346The
347.I "Berkeley Pascal PXP Implementation Notes"
348describe the Pascal interpreter
349.X \|;
350and the
351.I "Berkeley Pascal PX Implementation Notes"
352describe the structure of the
353execution profiler
354.I pxp .
355.br
356.ne 8
357.NH 2
358References
359.de re
360.sp
361.IP
362'nf
363..
364.SH
365UNIX Documents
366.re
367.I "Communicating With UNIX"
368Computer Center
369University of California, Berkeley
370January, 1978.
371.re
372.I "Edit: a tutorial"
373Ricki Blau and James Joyce
374Computing Services Division, Computing Affairs
375University of California, Berkeley
376January, 1978.
377.re
378.I "Ex/edit Command Summary"
379Computer Center
380University of California, Berkeley
381August, 1978.
382.re
383.I "Ex Reference Manual \- Version 2.0"
384.I "An Introduction to Display Editing with Vi"
385.I "Vi Quick Reference"
386William Joy
387Computer Science Division
388Department of Electrical Engineering and Computer Science
389University of California, Berkeley
390April, 1979.
391.re
392.I "An Introduction to the C shell"
393William Joy
394Computer Science Division
395Department of Electrical Engineering and Computer Science
396University of California, Berkeley
397January, 1979.
398.re
399Brian W. Kernighan
400.I "UNIX for Beginners \- Second Edition"
401Bell Laboratories
402Murray Hill, New Jersey.
403.re
404Brian W. Kernighan
405.I "A Tutorial Introduction to the UNIX Text Editor"
406Bell Laboratories
407Murray Hill, New Jersey.
408.re
409Dennis M. Ritchie and Ken Thompson
410.I "The UNIX Time Sharing System"
411Communications of the ACM
412July 1974
413365-378.
414.re
415B. W. Kernighan and M. D. McIlroy
416.I "UNIX Programmer's Manual \- Seventh Edition"
417Bell Laboratories
418Murray Hill, New Jersey
419December, 1978.
420.ne 12
421.SH
422Pascal Language Documents
423.re
424Conway, Gries and Zimmerman
425.I "A Primer on PASCAL"
426Winthrop, Cambridge Mass.
4271976, 433 pp.
428.re
429Kathleen Jensen and Niklaus Wirth
430.I "Pascal \- User Manual and Report"
431Springer-Verlag, New York.
4321975, 167 pp.
433.re
434C. A. G. Webster
435.I "Introduction to Pascal"
436Heyden and Son, New York
4371976, 129pp.
438.re
439Niklaus Wirth
440.I "Algorithms + Data structures = Programs"
441Prentice-Hall, New York.
4421976, 366 pp.
443.re
444Niklaus Wirth
445.I "Systematic Programming"
446Prentice-Hall, New York.
4471973, 169 pp.
448.SH
449Berkeley Pascal documents
450.PP
451The following documents are available from the Computer Center Library
452at the University of California, Berkeley.
453.nf
454.re
455William N. Joy, Susan L. Graham, and Charles B. Haley
456.I "Berkeley Pascal User's Manual \- Version 1.1"
457April, 1979.
458.re
459William N. Joy
460.I "Berkeley Pascal PX Implementation Notes"
461Version 1.1, April 1979.
462.re
463William N. Joy
464.I "Berkeley Pascal PXP Implemetation Notex"
465Version 1.1, April 1979.