Annotation of researchv10dc/vol2/index/smkfile, revision 1.1.1.1

1.1       root        1: < ../ADM/defns
                      2: <../index/defns
                      3: 
                      4: all:V: index.out
                      5: 
                      6: pg:    index.out
                      7:        count index.ms index.out
                      8: 
                      9: spell:VQ:
                     10:        dospell index.ms
                     11: 
                     12: lp:    index.out
                     13:        $LP $newprereq && touch $target
                     14: 
                     15: index.out:D:   index.ms
                     16:        $PREFER $prereq | pic | troff -mpm > $target
                     17: 
                     18: index:V:
                     19:        touch index.ind
                     20: pindex:V:
                     21:        touch index.ind
                     22: 
                     23: PAPERS=`cd /usr/vol2;echo [a-z]*`
                     24: INDEX=${PAPERS:%=%.index}
                     25: incindex:V:    $INDEX
                     26: 
                     27: %.index:VQ:
                     28:        cd ../$stem; mk index
                     29: PINDEX=${PAPERS:%=%.pindex}
                     30: pincindex:V:   $PINDEX
                     31: 
                     32: %.pindex:VQ:
                     33:        cd ../$stem; mk pindex
                     34: 
                     35: restart:V:
                     36:        for i in  ../[c-z]*
                     37:        do
                     38:        cd $i
                     39:        mk index
                     40:        done
                     41: 
                     42: sindex:VQ:
                     43:        wc sindex
                     44:        awk '
                     45:        /^\.XX/ {
                     46:        if($2 ~ /[a-z]/){
                     47:                name=$2
                     48:                first=$3
                     49:                str = "..\/" $4 ".pg"
                     50:                getline <str
                     51:                last=$1 + first -1
                     52:                print name " " first " " last
                     53:                close(str)
                     54:        }
                     55:        }' ../contents/contents.ms >contents
                     56:        sed -e 's/\\f(..//g' -e 's/\\f[a-z0-9A-Z]//g' -e 's/\\em//' -e 's/ ,/,/' -e 's/\\\&//g' -e 's/,/        /' -e 's/^ //' ../[a-z]*/*.ind|sort -f|
                     57:        awk  '
                     58:        BEGIN   {
                     59:                while((getline<"contents") > 0){
                     60:                        names[$1] = $2
                     61:                        last[$1] = $3
                     62:                }
                     63:                FS="    "
                     64:        }
                     65:        {if($1 == term){
                     66:                ck = global = substr($2,2,index($2,",")-2)
                     67:                if(ck in names){
                     68:                        sub(/^ /, " \\fI", $2)
                     69:                        sub(/,/,"\\fP,", $2)
                     70:                }
                     71:                caps=0
                     72:                if($2 ~ /[A-Z_$][A-Z_$][A-Z_$0-9& ]*/){
                     73:                        if($2 !~ /\\s/)caps=gsub(/[A-Z_$][A-Z_$][A-Z_$0-9& ]*/,"\\s-2&\\s+2")
                     74:                }
                     75:                sub(/^ /,"",$2)
                     76:                rside = ckcw($2,0)
                     77:                if(NF == 3){
                     78:                        if(global in names){
                     79:                        printit("    \\fI" global "\\fP, " names[global] "-" last[global],1,caps*8)
                     80:                                next
                     81:                        }
                     82:                }
                     83:                printit("    " rside, 1, caps*8)        #removed space
                     84:        }
                     85:        else {
                     86:                term = $1
                     87:                caps=0
                     88:                if(term in names){
                     89:                        newt="\\fI" term "\\fP, " names[term] "-" last[term]
                     90:                        printit(newt, 0, 0)
                     91:                        if($2 ~ /[A-Z_$][A-Z_$][A-Z_$0-9& ]*/){
                     92:                          if($2 !~ /\\s/)caps=gsub(/[A-Z_$][A-Z_$][A-Z_$0-9& ]*/,"\\s-2&\\s+2")
                     93:                        }
                     94:                        sub(/^ /,"",$2)
                     95:                        rside = ckcw($2,0)
                     96:                        printit("    " rside, 1, caps*8)        #removed space
                     97:                }
                     98:                else {
                     99:                        if($1 ~ /[A-Z_$][A-Z_$][A-Z_$0-9& ]*/){
                    100:                                if($1 !~ /\\s/)caps=gsub(/[A-Z_$][A-Z_$][A-Z_$0-9& ]*/,"\\s-2&\\s+2")
                    101:                        }
                    102:                        lside = ckcw($1,1)
                    103:                        if(NF == 3){
                    104:                                r = substr($2,2,index($2,",")-2)
                    105:                                if(r in names){
                    106:                                        printit($1 ", \\fI" r "\\fP, " names[r] "-" last[r],0,caps*8)
                    107:                                        next
                    108:                                }
                    109:                                else {
                    110:                                        print "term not in names:" r|"cat 1>&2"
                    111:                                        sub(/   XXG/,"")
                    112:                                }
                    113:                        }
                    114:                        sub(",","\\fP,",$2)
                    115:                        printit(lside ",\\fI" $2, 0, caps*8)
                    116:                }
                    117:        }}
                    118:        function ckcw(rterm,first){
                    119:        if((rterm ~ /[\/\.$]/ && rterm !~ /(I\/O)|(Input\/Output)|(reduce)|(TCP)/)||rterm ~ /^-/){
                    120:                        sub(/^-/,"\\(em",rterm)
                    121:                        rterm = "\\f(CW" rterm
                    122:                        if(first)rterm = rterm "\\fP"
                    123:                        if(index(" ",rterm)<index(",",rterm))
                    124:                                sub(/ /,"\\fP ",rterm)
                    125:                        else sub(/,/,"\\fP,",rterm)
                    126:                        caps += 1
                    127:                }
                    128:                return(rterm)
                    129:        }
                    130:        function printit(line, space, caps){
                    131:        limit=46+caps
                    132:        if(length(line)< limit)print line
                    133:        else {
                    134:                n=split(line, a, ",")
                    135:                if(length(a[1])>=limit){
                    136:                        m=split(a[1],b," ")
                    137:                        nline=b[1]
                    138:                        if(space)nline = "    " b[1]
                    139:                        for(i=2;i<=m;i++){
                    140:                                nline = nline " " b[i]
                    141:                                if(length(nline)>=limit){
                    142:                                        print nline
                    143:                                        nline = "      "
                    144:                                }
                    145:                        }
                    146:                        for(i=2; i<=n;i++){
                    147:                                if(nline == "      ")nline = nline a[i]
                    148:                                else nline = nline "," a[i]
                    149:                        }
                    150:                        print nline
                    151:                        return
                    152:                }
                    153:                nline=a[1]
                    154:                for(i=2;i<=n;i++){
                    155:                        nline = nline "," a[i]
                    156:                        if(length(nline)>= limit-6){
                    157:                                if(i < n)print nline ","
                    158:                                else print nline
                    159:                                if(i < n)nline = "      " a[++i]
                    160:                                else nline = ""
                    161:                        }
                    162:                }
                    163:                if(length(nline) > 0)print nline
                    164:        }
                    165:        }' >sindex
                    166:        wc sindex
                    167: #      troff -ms sindex.ms >tr.out
                    168: 

unix.superglobalmegacorp.com

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