.nr n 0 +1
.TL
UNIX Programmer's Manual
.br
.sp .5
Volume 2 \(em Supplementary Documents
.AU
.ft B
.ps 11
Seventh Edition
.AI
January 10, 1979
.PP
This volume contains documents which supplement
the information contained in Volume 1 of 
.ul
The
.ul
.UX
.ul
Programmer's Manual.
The documents here are grouped roughly into
the areas of
basics,
editing,
language tools,
document preparation,
and
system maintenance.
Further general information may be found in
the Bell System Technical Journal
special issue on
.UX ,
July-August, 1978.
.PP
Many of the documents cited within this volume as
Bell Laboratories internal memoranda
or Computing Science Technical Reports
(CSTR) are also contained here.
.PP
These documents contain occasional localisms,
typically references to other operating systems
like
GCOS
and
IBM.
In all cases, such references may be safely ignored
by
UNIX
users.
.SH
General Works
.IP \n+n.
7th Edition UNIX \(em Summary.
.RS
A concise summary of the facilities available on
.UX .
.RE
.IP \n+n.
The UNIX Time-Sharing System.
D. M. Ritchie and K. Thompson.
.RS
The original
.UX
paper, reprinted from CACM.
.RE
.SH
Getting Started
.IP \n+n.
UNIX for Beginners \(em Second Edition.
B. W. Kernighan.
.RS
An introduction to the most basic use of the system.
.RE
.IP \n+n.
A Tutorial Introduction to the UNIX Text Editor.
B. W. Kernighan.
.RS
An easy way to get started with the editor.
.RE
.IP \n+n.
Advanced Editing on UNIX.
B. W. Kernighan.
.RS
The next step.
.RE
.IP \n+n.
An Introduction to the UNIX Shell.
S. R. Bourne.
.RS
An introduction to the capabilities of the command interpreter,
the shell.
.RE
.IP \n+n.
Learn \(em Computer Aided Instruction on UNIX.
M. E. Lesk and B. W. Kernighan.
.RS
Describes a computer-aided instruction program that walks new users
through the basics of
files, 
the editor,
and
document preparation software.
.RE
.SH
Document Preparation
.IP \n+n.
Typing Documents on the UNIX System.
M. E. Lesk.
.RS
Describes the basic use of the formatting tools.
Also describes ``\-ms'', a standardized package of formatting requests
that can be used to lay out most documents
(including those in this volume).
.RE
.IP \n+n.
A System for Typesetting Mathematics.
B. W. Kernighan and L. L. Cherry.
.RS
Describes EQN. an easy-to-learn language for doing high-quality mathematical typesetting,
.RE
.IP \n+n.
TBL \(em A Program to Format Tables.
M. E. Lesk.
.RS
A program to permit easy specification of tabular material
for typesetting.
Again, easy to learn and use.
.RE
.IP \n+n.
Some Applications of Inverted Indexes on the UNIX System.
M. E. Lesk.
.RS
Describes, among other things, the program REFER
which fills in bibliographic citations from a data base
automatically.
.RE
.RE
.IP \n+n.
NROFF/TROFF User's Manual.
J. F. Ossanna.
.RS
The basic formatting program.
.RE
.IP \n+n.
A TROFF Tutorial.
B. W. Kernighan.
.RS
An introduction to TROFF for those who
really want to know such things.
.RE
.SH
Programming
.IP \n+n.
The C Programming Language \(em Reference Manual.
D. M. Ritchie.
.RS
Official statement of the syntax and semantics of C.
Should be supplemented by
.ul
The C Programming Language,
B. W. Kernighan and D. M. Ritchie,
Prentice-Hall, 1978,
which contains a tutorial introduction and many examples.
.RE
.IP \n+n.
Lint, A C Program Checker.
S. C. Johnson.
.RS
Checks C programs
for syntax errors, type violations,
portability problems,
and a variety of probable errors.
.RE
.IP \n+n.
Make \(em A Program for Maintaining Computer Programs.
S. I. Feldman.
.RS
Indispensable tool for making sure that large programs
are properly compiled with minimal effort.
.RE
.IP \n+n.
UNIX Programming.
B. W. Kernighan and D. M. Ritchie.
.RS
Describes the programming interface to the operating system
and the standard I/O library.
.RE
.IP \n+n.
A Tutorial Introduction to ADB.
J. F. Maranzano and S. R. Bourne.
.RS
How to use the ADB debugger.
.RE
.SH
Supporting Tools and Languages
.IP \n+n.
YACC: Yet Another Compiler-Compiler.
S. C. Johnson.
.RS
Converts a BNF specification of a language
and semantic actions written in C into a compiler for the language.
.RE
.IP \n+n.
LEX \(em A Lexical Analyzer Generator.
M. E. Lesk and E. Schmidt.
.RS
Creates a recognizer for a set of regular expressions;
each regular expression can be followed by arbitrary C code
which will be executed when the regular expression is found.
.RE
.IP \n+n.
A Portable Fortran 77 Compiler.
S. I. Feldman and P. J. Weinberger.
.RS
The first Fortran 77 compiler, and still one of the best.
.RE
.IP \n+n.
Ratfor \(em A Preprocessor for a Rational Fortran.
B. W. Kernighan.
.RS
Converts a Fortran with C-like control structures and cosmetics
into real, ugly Fortran.
.RE
.IP \n+n.
The M4 Macro Processor.
B. W. Kernighan and D. M. Ritchie.
.RS
M4 is a macro processor useful as a front end for C, Ratfor,
Cobol, and in its own right.
.RE
.IP \n+n.
SED \(em A Non-interactive Text Editor.
L. E. McMahon.
.RS
A variant of the editor for processing large
inputs.
.RE
.IP \n+n.
AWK \(em A Pattern Scanning and Processing Language.
A. V. Aho, B. W. Kernighan and 
.RS
P. J. Weinberger.
.br
Makes it easy to specify many data transformation and selection operations.
.RE
.IP \n+n.
DC \(em An Interactive Desk Calculator.
R. H. Morris and L. L. Cherry.
.RS
A super HP calculator, if you don't need floating point.
.RE
.IP \n+n.
BC \(em An Arbitrary Precision Desk-Calculator Language.
L. L. Cherry and R. H. Morris.
.RS
A front end for DC
that provides infix notation, control flow, and built-in functions.
.RE
.IP \n+n.
UNIX Assembler Reference Manual.
D. M. Ritchie.
.RS
The ultimate dead language.
.RE
.SH
Implementation, Maintenance, and Miscellaneous
.IP \n+n.
Setting Up UNIX \(em Seventh Edition.
C. B. Haley and D. M. Ritchie.
.RS
How to configure and get your system running.
.RE
.IP \n+n.
Regenerating System Software.
C. B. Haley and D. M. Ritchie.
.RS
What do do when you have to change things.
.RE
.IP \n+n.
UNIX Implementation.
K. Thompson.
.RS
How the system actually works inside.
.RE
.IP \n+n.
The UNIX I/O System.
D. M. Ritchie.
.RS
How the I/O system really works.
.RE
.IP \n+n.
A Tour Through the UNIX C Compiler.
D. M. Ritchie.
.RS
How the PDP-11 compiler works inside.
.RE
.IP \n+n.
A Tour Through the Portable C Compiler.
S. C. Johnson.
.RS
How the portable C compiler works inside.
.RE
.IP \n+n.
A Dial-Up Network of UNIX Systems.
D. A. Nowitz and M. E. Lesk.
.RS
Describes UUCP, a program for communicating files
between UNIX systems.
.RE
.IP \n+n.
UUCP Implementation Description.
D. A. Nowitz.
.RS
How UUCP works, and how to administer it.
.RE
.IP \n+n.
On the Security of UNIX.
D. M. Ritchie.
.RS
Hints on how to break UNIX, and how to avoid doing so.
.RE
.IP \n+n.
Password Security: A Case History.
R. H. Morris and K. Thompson.
.RS
How the bad guys used to be able to
break the password algorithm,
and why they can't now,
at least not so easily.
.RE
