Annotation of 43BSD/contrib/icon/src/cmd/edscript.icn, revision 1.1.1.1

1.1       root        1: #      EDSCRIPT(1)
                      2: #
                      3: #      Produce script for ed(1)
                      4: #
                      5: #      Ralph E. Griswold
                      6: #
                      7: #      Last modified 4/27/83
                      8: #
                      9: 
                     10: procedure main()
                     11:    local line, image, object, char
                     12:    while line := read() do {
                     13:       line ? {
                     14:          char := move(1) | {error(line); next}
                     15:          image := tab(find(char)) | {error(line); next}
                     16:          move(1)
                     17:          object := tab(find(char)) | {error(line); next}
                     18:          }
                     19:       write("g/",xform(image),"/s//",xform(object),"/g")
                     20:    }
                     21:    write("w\nq")
                     22: end
                     23: 
                     24: #  process characters that have meaning to ed(1).
                     25: #
                     26: procedure insert()
                     27:    static special
                     28:    initial special := '\\/^&*[.$'
                     29:    suspend {
                     30:       tab(upto(special)) ||
                     31:       "\\" ||
                     32:       move(1) ||
                     33:       (insert() | tab(0))
                     34:       }
                     35: end
                     36: 
                     37: procedure error(line)
                     38:    write(&errout,"*** erroneous input: ",line)
                     39: end
                     40: 
                     41: #  transform line
                     42: #
                     43: procedure xform(line)
                     44:    line ?:= insert()
                     45:    return line
                     46: end

unix.superglobalmegacorp.com

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