forsyth20121205-174063a80cc13 years agoHistory
83 lines · 3.3 KB · Text
RawDownload
/****************************************************************Copyright (C) Lucent Technologies 1997All Rights Reserved Permission to use, copy, modify, and distribute this software andits documentation for any purpose and without fee is herebygranted, provided that the above copyright notice appear in allcopies and that both that the copyright notice and thispermission notice and warranty disclaimer appear in supportingdocumentation, and that the name Lucent Technologies or any ofits entities not be used in advertising or publicity pertainingto distribution of the software without specific, written priorpermission. LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANYSPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGESWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHERIN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OFTHIS SOFTWARE.****************************************************************/ This is the version of awk described in "The AWK Programming Language",by Al Aho, Brian Kernighan, and Peter Weinberger(Addison-Wesley, 1988, ISBN 0-201-07981-X). Changes, mostly bug fixes and occasional enhancements, are listedin FIXES.  If you distribute this code further, please please pleasedistribute FIXES with it.  If you find errors, please report themto bwk@bell-labs.com.  Thanks. The program itself is created by	makewhich should produce a sequence of messages roughly like this: 	yacc -d awkgram.y conflicts: 43 shift/reduce, 85 reduce/reduce	mv y.tab.c ytab.c	mv y.tab.h ytab.h	cc -O -c ytab.c	cc -O -c b.c	cc -O -c main.c	cc -O -c parse.c	cc -O maketab.c -o maketab	./maketab >proctab.c	cc -O -c proctab.c	cc -O -c tran.c	cc -O -c lib.c	cc -O -c run.c	cc -O -c lex.c	cc -O ytab.o b.o main.o parse.o proctab.o tran.o lib.o run.o lex.o -lm This produces an executable a.out; you will eventually want tomove this to some place like /usr/bin/awk. If your system is does not have yacc or bison (the GNUequivalent), you must compile the pieces manually.  We haveincluded yacc output in ytab.c and ytab.h, and backup copies incase you overwrite them.  We have also included a copy ofproctab.c so you do not need to run maketab. NOTE: This version uses ANSI C, as you should also.  We havecompiled this without any changes using gcc -Wall and/or local Ccompilers on a variety of systems, but new systems or compilersmay raise some new complaint; reports of difficulties arewelcome. This also compiles with Visual C++ on Windows 95 and Windows NT,*if* you provide versions of popen and pclose.  The filemissing95.c contains versions that can be used to get startedwith, though the underlying support has mysterious properties,the symptom of which can be truncated pipe output.  Beware. This is also said to compile on Macintosh systems, using thefile "buildmac" provided by Dan Allen (danallen@microsoft.com),to whom many thanks.  Dan also provided buildwin.bat, a simplescript for compiling on NT if you prefer. The version of malloc that comes with some systems is sometimesastonishly slow.  If awk seems slow, you might try fixing that.