Annotation of src/usr.bin/awk/README, Revision 1.1
1.1 ! tholo 1: /****************************************************************
! 2: Copyright (C) AT&T and Lucent Technologies 1996
! 3: All Rights Reserved
! 4:
! 5: Permission to use, copy, modify, and distribute this software and
! 6: its documentation for any purpose and without fee is hereby
! 7: granted, provided that the above copyright notice appear in all
! 8: copies and that both that the copyright notice and this
! 9: permission notice and warranty disclaimer appear in supporting
! 10: documentation, and that the names of AT&T or Lucent Technologies
! 11: or any of their entities not be used in advertising or publicity
! 12: pertaining to distribution of the software without specific,
! 13: written prior permission.
! 14:
! 15: AT&T AND LUCENT DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
! 16: SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
! 17: FITNESS. IN NO EVENT SHALL AT&T OR LUCENT OR ANY OF THEIR
! 18: ENTITIES BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
! 19: DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
! 20: DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
! 21: OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
! 22: USE OR PERFORMANCE OF THIS SOFTWARE.
! 23: ****************************************************************/
! 24:
! 25: This is the version of awk described in "The AWK Programming Language",
! 26: by A. V. Aho, B. W. Kernighan, and P. J. Weinberger
! 27: (Addison-Wesley, 1988, ISBN 0-201-07981-X).
! 28: Changes, mostly bug fixes and occasional enhancements, are listed
! 29: in FIXES. If you distribute this code further, please please please
! 30: distribute FIXES with it. If you find errors, please report them
! 31: to bwk@bell-labs.com. Thanks.
! 32:
! 33: The program itself is created by
! 34: make
! 35: which should produce a longish sequence of messages roughly like this:
! 36:
! 37: yacc -d awkgram.y
! 38:
! 39: conflicts: 43 shift/reduce, 85 reduce/reduce
! 40: mv y.tab.c ytab.c
! 41: mv y.tab.h ytab.h
! 42: cc -O -c ytab.c
! 43: cmp -s ytab.h prevytab.h || (cp ytab.h prevytab.h; echo change maketab)
! 44: change maketab
! 45: cc -O -c b.c
! 46: cc -O -c main.c
! 47: cc -O -c parse.c
! 48: cc -O maketab.c -o maketab
! 49: ./maketab >proctab.c
! 50: cc -O -c proctab.c
! 51: cc -O -c tran.c
! 52: cc -O -c lib.c
! 53: cc -O -c run.c
! 54: lex awklex.l
! 55: mv lex.yy.c lexyy.c
! 56: cc -O -c lexyy.c
! 57: cc -O ytab.o lexyy.o b.o main.o parse.o proctab.o tran.o lib.o run.o -lm
! 58:
! 59: This produces an executable a.out; you will eventually
! 60: want to move this to some place like /usr/bin/awk.
! 61:
! 62: If your system is missing some of the components, e.g., yacc or lex,
! 63: you should be able to compile the pieces manually. We have included
! 64: yacc output in ytab.c and ytab.h, and lex output in lexyy.c.
! 65:
! 66: NOTE: This version uses ANSI C, as you should also.
! 67:
! 68: The version of malloc that comes with some systems (e.g., IRIX) is
! 69: astonishly slow. If awk seems slow, you might try fixing that.