Annotation of 43BSD/contrib/icon/src/cmd/gcomp.icn, revision 1.1

1.1     ! root        1: #      GCOMP(1)
        !             2: #
        !             3: #      Produce complement of file specification
        !             4: #
        !             5: #      William H. Mitchell, revised by Thomas Hicks
        !             6: #
        !             7: #      Last modified 8/14/84
        !             8: #
        !             9: 
        !            10: procedure main(args)
        !            11:    local a, dir, ent, files
        !            12:    files := mkftbl()   
        !            13:    while a := get(args) do
        !            14:       files[a] := &null
        !            15:    every files["." | ".."] := &null
        !            16:    files := sort(files)
        !            17:    while a := get(files) do
        !            18:       write((\a[2],a[1]))              # a[1] written iff a[2] has value
        !            19: end
        !            20: 
        !            21: procedure mkftbl()                     # make a table of file names from
        !            22:    local line                          # the current directory
        !            23:    line := read(open("echo * .*","rp"))
        !            24:    return str2tbl(line,' ')
        !            25: end
        !            26: 
        !            27: procedure str2tbl(str,delim)           # convert a delmited string into
        !            28:     local tbl                          # a table
        !            29:     tbl := table(1)
        !            30:     str ? {
        !            31:        while tbl[(tab(upto(delim)))] := 1 do
        !            32:            move(1)
        !            33:        tbl["" ~== tab(0)] := 1
        !            34:        }
        !            35:     return tbl
        !            36: end

unix.superglobalmegacorp.com

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