[BACK]Return to README CVS log [TXT][DIR] Up to [local] / src / usr.bin / awk

Annotation of src/usr.bin/awk/README, Revision 1.7

1.7     ! millert     1: /*     $OpenBSD: README,v 1.6 2004/12/30 01:52:48 millert Exp $        */
1.1       tholo       2: /****************************************************************
1.2       kstailey    3: Copyright (C) Lucent Technologies 1997
1.1       tholo       4: All Rights Reserved
                      5:
                      6: Permission to use, copy, modify, and distribute this software and
                      7: its documentation for any purpose and without fee is hereby
                      8: granted, provided that the above copyright notice appear in all
                      9: copies and that both that the copyright notice and this
                     10: permission notice and warranty disclaimer appear in supporting
1.2       kstailey   11: documentation, and that the name Lucent Technologies or any of
                     12: its entities not be used in advertising or publicity pertaining
                     13: to distribution of the software without specific, written prior
                     14: permission.
                     15:
                     16: LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
                     17: INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
                     18: IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
                     19: SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
                     20: WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
                     21: IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
                     22: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
                     23: THIS SOFTWARE.
1.1       tholo      24: ****************************************************************/
                     25:
                     26: This is the version of awk described in "The AWK Programming Language",
1.2       kstailey   27: by Al Aho, Brian Kernighan, and Peter Weinberger
1.1       tholo      28: (Addison-Wesley, 1988, ISBN 0-201-07981-X).
1.2       kstailey   29:
1.1       tholo      30: Changes, mostly bug fixes and occasional enhancements, are listed
                     31: in FIXES.  If you distribute this code further, please please please
                     32: distribute FIXES with it.  If you find errors, please report them
1.7     ! millert    33: to bwk@cs.princeton.edu.  Thanks.
1.1       tholo      34:
                     35: The program itself is created by
                     36:        make
1.2       kstailey   37: which should produce a sequence of messages roughly like this:
1.1       tholo      38:
1.2       kstailey   39:        yacc -d awkgram.y
1.1       tholo      40:
1.4       millert    41: conflicts: 43 shift/reduce, 85 reduce/reduce
1.2       kstailey   42:        mv y.tab.c ytab.c
                     43:        mv y.tab.h ytab.h
1.5       millert    44:        cc -c ytab.c
                     45:        cc -c b.c
                     46:        cc -c main.c
                     47:        cc -c parse.c
                     48:        cc maketab.c -o maketab
1.2       kstailey   49:        ./maketab >proctab.c
1.5       millert    50:        cc -c proctab.c
                     51:        cc -c tran.c
                     52:        cc -c lib.c
                     53:        cc -c run.c
                     54:        cc -c lex.c
                     55:        cc ytab.o b.o main.o parse.o proctab.o tran.o lib.o run.o lex.o -lm
1.1       tholo      56:
1.3       millert    57: This produces an executable a.out; you will eventually want to
                     58: move this to some place like /usr/bin/awk.
1.1       tholo      59:
1.6       millert    60: If your system does not have yacc or bison (the GNU
1.2       kstailey   61: equivalent), you must compile the pieces manually.  We have
                     62: included yacc output in ytab.c and ytab.h, and backup copies in
1.3       millert    63: case you overwrite them.  We have also included a copy of
                     64: proctab.c so you do not need to run maketab.
1.2       kstailey   65:
                     66: NOTE: This version uses ANSI C, as you should also.  We have
                     67: compiled this without any changes using gcc -Wall and/or local C
                     68: compilers on a variety of systems, but new systems or compilers
                     69: may raise some new complaint; reports of difficulties are
                     70: welcome.
                     71:
1.5       millert    72: This also compiles with Visual C++ on all flavors of Windows,
1.3       millert    73: *if* you provide versions of popen and pclose.  The file
                     74: missing95.c contains versions that can be used to get started
                     75: with, though the underlying support has mysterious properties,
1.6       millert    76: the symptom of which can be truncated pipe output.  Beware.  The
                     77: file makefile.win gives hints on how to proceed; if you run
                     78: vcvars32.bat, it will set up necessary paths and parameters so
                     79: you can subsequently run nmake -f makefile.win.  Beware also that
                     80: when running on Windows under command.com, various quoting
                     81: conventions are different from Unix systems: single quotes won't
                     82: work around arguments, and various characters like % are
                     83: interpreted within double quotes.
1.3       millert    84:
1.5       millert    85: This compiles without change on Macintosh OS X using gcc and
                     86: the standard developer tools.
                     87:
                     88: This is also said to compile on Macintosh OS 9 systems, using the
1.3       millert    89: file "buildmac" provided by Dan Allen (danallen@microsoft.com),
1.5       millert    90: to whom many thanks.
1.1       tholo      91:
1.2       kstailey   92: The version of malloc that comes with some systems is sometimes
                     93: astonishly slow.  If awk seems slow, you might try fixing that.
1.5       millert    94: More generally, turning on optimization can significantly improve
                     95: awk's speed, perhaps by 1/3 for highest levels.