Annotation of researchv10dc/vol2/index/nmkfile, 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 ../[a-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:                mult = .2
                     65:        }
                     66:        {if($1 == term){
                     67:                ck = global = substr($2,2,index($2,",")-2)
                     68:                if(ck in names){
                     69:                        sub(/^ /, " \\fI", $2)
                     70:                        sub(/,/,"\\fP,", $2)
                     71:                        control = 6
                     72:                }
                     73:                else control=0
                     74:                if($2 ~ /[A-Z_$][A-Z_$][A-Z_$0-9& ]*/){
                     75:                        if($2 !~ /\\s/)
                     76:                                control += 8*gsub(/[A-Z_$][A-Z_$][A-Z_$0-9& ]*/,"\\s-2&\\s+2")
                     77:                }
                     78:                sub(/^ /,"",$2)
                     79:                if(NF == 3){
                     80:                        rside = ckcw($2,0,$NF)
                     81:                        if(global in names){
                     82:                        if( $3~ /[gGPR]/)
                     83:                        printit("    \\fI" global "\\fP, " names[global] "-" last[global],1,control)
                     84:                        else printit("    " $2, 1, control)
                     85:                                next
                     86:                        }
                     87:                }
                     88:                else rside = $2
                     89:                printit("    " rside, 1, control)       #removed space
                     90:        }
                     91:        else {
                     92:                term = $1
                     93:                control=0
                     94:                if(term in names){
                     95:                        newt="\\fI" term "\\fP, " names[term] "-" last[term]
                     96:                        printit(newt, 0, 0)
                     97:                        if($2 ~ /[A-Z_$][A-Z_$][A-Z_$0-9& ]*/){
                     98:                          if($2 !~ /\\s/)control=8*gsub(/[A-Z_$][A-Z_$][A-Z_$0-9& ]*/,"\\s-2&\\s+2")
                     99:                        }
                    100:                        sub(/^ /,"",$2)
                    101:                        if(NF == 3)
                    102:                                rside = ckcw($2,0,$NF)
                    103:                        else rside = $2
                    104:                        printit("    " rside, 1, control)       #removed space
                    105:                }
                    106:                else {
                    107:                        if($1 ~ /[A-Z_$][A-Z_$][A-Z_$0-9& ]*/){
                    108:                                if($1 !~ /\\s/)control=8*gsub(/[A-Z_$][A-Z_$][A-Z_$0-9& ]*/,"\\s-2&\\s+2")
                    109:                        }
                    110:                        lside = $1
                    111:                        if(NF == 3){
                    112:                                lside = ckcw($1,1,$NF)
                    113:                                if($NF ~ /[gGPR]/){
                    114:                                r = substr($2,2,index($2,",")-2)
                    115:                                if(r in names ){
                    116:                                        printit(lside ", \\fI" r "\\fP, " names[r] "-" last[r],0,control)
                    117:                                        next
                    118:                                }
                    119:                                else {
                    120:                                        print "term not in names:" r|"cat 1>&2"
                    121:                                        sub(/   ./,"")
                    122:                                }
                    123:                                }
                    124:                        }
                    125:                        sub(",","\\fP,",$2)
                    126:                        printit(lside ",\\fI" $2, 0, control)
                    127:                }
                    128:        }}
                    129:        function ckcw(rterm,first,code){
                    130:                if(rterm ~ /^-/){
                    131:                        sub(/^-/,"\\(em",rterm)
                    132:                        control += 3
                    133:                }
                    134:                if(rterm ~ /^\./){
                    135:                        sub(/^\./,"\\\\&&",rterm)
                    136:                        control += 2
                    137:                }
                    138:                if(code ~ /[GcS]/){
                    139:                        if(first)rterm = addcw( rterm,0)
                    140:                        else {
                    141:                                control -= length(rterm)*mult
                    142:                                rterm = "\\f(CW" rterm
                    143:                                sub(/,/,"\\fP,",rterm)
                    144:                        }
                    145:                }
                    146:                else if(code ~ /[pPf]/){
                    147:                        control -= length(rterm)*mult
                    148:                        rterm = "\\f(CW" rterm
                    149:                        sub(/ /,"\\fP ", rterm)
                    150:                }
                    151:                else{
                    152:                        n=split(rterm, arr, " ")
                    153:                        if(code ~ /y/)rterm = addcw( arr[1],0)
                    154:                        else rterm = arr[1]
                    155:                        for(i=2;i<=n;i++){
                    156:                                if(i==2 && code~/[rRz]/)rterm = rterm addcw( arr[i],1)
                    157:                                else if(i==3 && code~/[qy]/)rterm=rterm addcw( arr[i],1)
                    158:                                else if(i==4 && code~/[txz]/)rterm=rterm addcw( arr[i],1)
                    159:                                else if(i==6 && code~/x/)rterm=rterm addcw( arr[i],1)
                    160:                                else rterm = rterm " " arr[i]
                    161:                        }
                    162:                }
                    163:                if(code ~ /[xyz]/)control += 16
                    164:                control += 8
                    165:                return(rterm)
                    166:        }
                    167:        function addcw(term,adds,hidden){
                    168:                control -= length(term)*mult
                    169:                hidden = "\\f(CW" term "\\fP"
                    170:                if(adds) hidden = " " hidden
                    171:                return(hidden)
                    172:        }
                    173:        function printit(line, space, caps){
                    174:        limit=46+caps
                    175:        if(space == 0)limit += 2
                    176:        if(length(line)< limit)print line
                    177:        else {
                    178:                n=split(line, a, ",")
                    179:                if(length(a[1])>=limit){
                    180:                        m=split(a[1],b," ")
                    181:                        nline=b[1]
                    182:                        if(space)nline = "    " b[1]
                    183:                        for(i=2;i<=m;i++){
                    184:                                nline = nline " " b[i]
                    185:                                if(length(nline)>=limit){
                    186:                                        print nline
                    187:                                        nline = "      "
                    188:                                }
                    189:                        }
                    190:                        for(i=2; i<=n;i++){
                    191:                                if(nline == "      ")nline = nline a[i]
                    192:                                else nline = nline "," a[i]
                    193:                        }
                    194:                        print nline
                    195:                        return
                    196:                }
                    197:                nline=a[1]
                    198:                for(i=2;i<=n;i++){
                    199:                        nline = nline "," a[i]
                    200:                        if(length(nline)>= limit-6){
                    201:                                if(i < n)print nline ","
                    202:                                else print nline
                    203:                                if(i < n)nline = "      " a[++i]
                    204:                                else nline = ""
                    205:                        }
                    206:                }
                    207:                if(length(nline) > 0)print nline
                    208:        }
                    209:        }' |finddups >sindex
                    210:        wc sindex
                    211: #      troff -ms sindex.ms >tr.out
                    212: 

unix.superglobalmegacorp.com

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