Annotation of 41BSD/cmd/awk/README, revision 1.1

1.1     ! root        1: CHANGES as of July 12:
        !             2: 
        !             3: 1. \ddd allowed in regular expressions.
        !             4: 
        !             5: 2. exit <expression> causes the expression to
        !             6: to be the status return upon completion.
        !             7: 
        !             8: 3. a new builtin called "getline" causes the next
        !             9: input line to be read immediately.  Fields, NR, etc.,
        !            10: are all set, but you are left at exactly the same place
        !            11: in the awk program.  Getline returns 0 for end of file;
        !            12: 1 for a normal record.
        !            13: 
        !            14: 
        !            15: CHANGES SINCE MEMO:
        !            16: Update to TM of Sept 1, 1978:
        !            17: 
        !            18: 1. A new form of for loop
        !            19:        for (i in array)
        !            20:                statement
        !            21: is now available. It provides a way to walk
        !            22: along the members of an array, most usefully
        !            23: for associative arrays with non-numeric subscripts.
        !            24: Elements are accessed in an unpredictable order,
        !            25: so don't count on anything.
        !            26: Futhermore, havoc ensues if elements are created
        !            27: during this operation, or if the index variable
        !            28: is fiddled.
        !            29: 
        !            30: 2. index(s1, s2) returns the position in s1
        !            31: where s2 first occurs, or 0 if it doesn't.
        !            32: 
        !            33: 3. Multi-line records are now supported more
        !            34: conveniently. If the record separator is null
        !            35:        RS = ""
        !            36: then a blank line terminates a record, and newline
        !            37: is a default field separator, along with
        !            38: blank and tab.
        !            39: 
        !            40: 4. The syntax of split has been changed.
        !            41:        n = split(str, arrayname, sep)
        !            42: splits the string str into the array using
        !            43: the separator sep (a single character).
        !            44: If no sep field is given, FS is used instead.
        !            45: The elements are array[1] ... array[n]; n
        !            46: is the function value.
        !            47: 
        !            48: 5. some minor bugs have been fixed.
        !            49: 
        !            50: IMPLEMENTATION NOTES:
        !            51: 
        !            52: Things to watch out for when trying to make awk:
        !            53: 
        !            54: 1. The yacc -d business creates a new file y.tab.h
        !            55: with the yacc #defines in it. this is compared to
        !            56: awk.h on each successive compile, and major recompilation
        !            57: is done only if the files differ. (This permits editing
        !            58: the grammar file without causing everything in sight
        !            59: to be recompiled, so long as the definitions don't
        !            60: change.)
        !            61: 
        !            62: 2. The program proc.c is compiled into proc, which
        !            63: is used to create proctab.c. proctab.c is the
        !            64: table of function pointers used by run to actually
        !            65: execute things. Don't try to load proc.c with the
        !            66: other .c files; it also contains a "main()".
        !            67: 
        !            68: 3. Awk uses structure assignment. Be sure your
        !            69: version of the C compiler has it.
        !            70: 
        !            71: 4. The loader flag -lm is used to fetch the standard
        !            72: math library on the Research system. It is more likely
        !            73: that you will want to use -lS on yours.
        !            74: run.c also includes "math.h", which contains sensible
        !            75: definitions for log(), sqrt(), etc. If you don't have this
        !            76: include file, comment the line out, and all will be well
        !            77: anyway.
        !            78: 
        !            79: 5. The basic sequence of events (in case make doesn't
        !            80: seem to do the job) is
        !            81:        yacc -d awk.g.y
        !            82:        cc -O -c y.tab.c
        !            83:        mv y.tab.o awk.g.o
        !            84:        lex awk.lx.l
        !            85:        cc -O -c lex.yy.c
        !            86:        mv lex.yy.o awk.lx.o
        !            87:        cc -O -c b.c
        !            88:        cc -O -c main.c
        !            89:        e - <tokenscript
        !            90:        cc -O -c token.c
        !            91:        cc -O -c tran.c
        !            92:        cc -O -c lib.c
        !            93:        cc -O -c run.c
        !            94:        cc -O -c parse.c
        !            95:        cc -O -c proc.c
        !            96:        cc -o proc proc.c token.o
        !            97:        proc >proctab.c
        !            98:        cc -O -c proctab.c
        !            99:        cc -i -O awk.g.o awk.lx.o b.o main.o token.o tran.o lib.o run.o parse.o proctab.o -lm

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.