Annotation of researchv10dc/vol2/index/defns, revision 1.1

1.1     ! root        1: IND=../index/tools
        !             2: ISTEX=0
        !             3: ENVIRON="$ENVIRON"'
        !             4: runind(){
        !             5: F=$1
        !             6:        if test -s $1.ms
        !             7:        then
        !             8:                J=$1
        !             9:                F=$1.ms
        !            10:        else if test -s $1.m
        !            11:        then
        !            12:                J=$1
        !            13:                F=$1.m
        !            14:        else if test -s $1.tex
        !            15:        then
        !            16:                J=`basename $1 .tex`
        !            17:                F=$1.tex
        !            18:                ISTEX=1
        !            19:        else if test -s $1
        !            20:        then
        !            21:                J=$1
        !            22:        else
        !            23:                echo $1 not found
        !            24:                exit
        !            25:        fi
        !            26:        fi
        !            27:        fi
        !            28:        fi
        !            29: O=x$F
        !            30: tr A-Z a-z <$J.terms|sed -e '\''s/\([a-z/]*\)\.\([a-z][a-z]*\)/\1zz1\2/g'\'' -e '\''s/^\([0-9]\)/ \1/'\'' |sort|uniq|
        !            31: awk '\''       {
        !            32:        if(last == $0)next
        !            33:        if(last "s" == $0){
        !            34:                print last
        !            35:                last = ""
        !            36:                next
        !            37:        }
        !            38:        else if(last != "")
        !            39:                print last
        !            40:        last = $0
        !            41:        }
        !            42: END    {
        !            43:        if(last != "")print last
        !            44: }'\'' >$J.lt
        !            45: sed '\''s/\([a-z/]*\)\.\([a-z][a-z]*\)/\1zz1\2/g'\'' $F >foo
        !            46: $IND/diction -f $J.lt -o $J.hits foo >/dev/null
        !            47: tr A-Z a-z <$J.terms|awk -v file=$J.terms '\''{
        !            48:        term=$0
        !            49:        gsub(/\\/,"\\\\")
        !            50:        gsub(/\//,"\\/")
        !            51:        gsub(/\*/,"\\*")
        !            52:        gsub(/\[/,"\\[")
        !            53:        gsub(/,/," ")
        !            54:        term=$0
        !            55:        getline <file
        !            56:        gsub(/\\/,"\\\\")
        !            57:        gsub(/\//,"\\/")
        !            58:        gsub(/\&/,"\\\\\&")
        !            59:        print "s/^" term "$/" $0 "/"
        !            60:        print "s/^\\([0-9]* \\)" term "$/\\1" $0 "/"}'\'' >x$J.sed
        !            61: if test -s $J.sed
        !            62: then
        !            63:        sed '\''s/zz1/\./g'\'' $J.hits|sed -f x$J.sed|sed -f $J.sed|tr $ ~ >$J.nh
        !            64: else
        !            65:        sed '\''s/zz1/\./g'\'' $J.hits|sed -f x$J.sed|tr $ ~ >$J.nh
        !            66: fi
        !            67: if test $ISTEX -eq 0
        !            68: then
        !            69: echo troff file= $F out= $O
        !            70: awk  -v name=$J.nh '\''
        !            71: BEGIN  {
        !            72:        getterm()
        !            73:        }
        !            74: /.*/   {
        !            75:        line = $0
        !            76:        if(NR >= number){
        !            77:                putterm()
        !            78:        }
        !            79:        print line
        !            80:        if(line ~ /^\.PS[ ]*</)next
        !            81:        if(line ~ /^\.[TPI]S/){
        !            82:                while(getline > 0){
        !            83:                        save=$0
        !            84:                        if($0 ~ /^\.T\&/){
        !            85:                                if(NR >= number)
        !            86:                                        putterm()
        !            87:                        }
        !            88:                        print save
        !            89:                        if($0 ~ /^\.([PTI]E)|IF/)break
        !            90:                }
        !            91:        }
        !            92:        if(line ~ /^\.EQ/){
        !            93:                while(getline > 0){
        !            94:                        print $0
        !            95:                        if($0 ~ /^\.EN/)break
        !            96:                }
        !            97:        }
        !            98:        if(line ~ /^\|begin.figure/){
        !            99:                while(getline > 0){
        !           100:                        print $0
        !           101:                        if($0 ~ /^\|end.figure/)break
        !           102:                }
        !           103:        }
        !           104:        }
        !           105: function getterm(){
        !           106:        if((getline < name)<= 0){
        !           107:                number += 1000
        !           108:        }
        !           109:        else if($0 ~ /^[0-9]/ && NF > 1){
        !           110:                number = $1
        !           111:                sub(/^[0-9][0-9]* /,"")
        !           112:                term = $0
        !           113:        } else term=$0
        !           114: }
        !           115: function putterm(){
        !           116:        print ".Tm " term
        !           117:        getterm()
        !           118:        if(NR >= number){
        !           119:                while(NR >= number){
        !           120:                        print ".Tm " term
        !           121:                        getterm()
        !           122:                }
        !           123:        }
        !           124: }
        !           125: '\'' $F >$O
        !           126: else
        !           127: sed  '\''s/    /<tab>/g'\'' $J.nh|tr $ ~ >$J.hits
        !           128: echo tex $F $O
        !           129: awk  -v name=$J.hits '\''
        !           130: BEGIN  {
        !           131:        sawbeg = 0
        !           132:        getterm()
        !           133:        }
        !           134: /\\begin\{document/    {
        !           135:        sawbeg=1
        !           136:        print $0
        !           137:        next
        !           138:        }
        !           139: /.*/   {
        !           140:        line = $0
        !           141:        if(NR >= number && sawbeg){
        !           142:                putterm()
        !           143:        }
        !           144:        print line
        !           145:        if(line ~ /\\begin\{eg\}/){
        !           146:                while(getline > 0){
        !           147:                        print $0
        !           148:                        if($0 ~ /^\\end\{eg\}/)break
        !           149:                }
        !           150:        }
        !           151:        }
        !           152: function getterm(){
        !           153:        if((getline < name)<= 0){
        !           154:                number += 1000
        !           155:        }
        !           156:        else if($0 ~ /^[0-9]/ && NF > 1){
        !           157:                number = $1
        !           158:                sub(/^[0-9][0-9]* /,"")
        !           159:                term = $0
        !           160:        } else term=$0
        !           161: }
        !           162: function putterm(){
        !           163:        print "\\index{" term "}"
        !           164:        getterm()
        !           165:        if(NR >= number){
        !           166:                while(NR >= number){
        !           167:                        print "\\index{" term "}"
        !           168:                        getterm()
        !           169:                }
        !           170:        }
        !           171: }
        !           172: '\'' $F >$O
        !           173: fi
        !           174: rm foo $J.lt $J.hits $J.nh
        !           175: }
        !           176: 
        !           177: mkindex(){             #uses either $1.x or $2.x to make base.ind
        !           178:        if test $# -eq 0
        !           179:        then
        !           180:                echo mkindex directory file or mkindex file
        !           181:                exit
        !           182:        fi
        !           183:        if test $# -eq 1
        !           184:        then
        !           185:        j=`basename $1 .x`
        !           186:        sed -n "/^\\.XX.*$j/p" ../contents/contents.ms|awk '\''{print $2 >"name"}'\''
        !           187:        else
        !           188:        j=`basename $2 .x`
        !           189:        sed -n "/^\\.XX.*$1\\/$j/p" ../contents/contents.ms|awk '\''{print $2 >"name"}'\''
        !           190:        fi
        !           191:        FILE=$j.x
        !           192:        if test -f $j.sed2
        !           193:        then
        !           194:                sed -f $j.sed2 $FILE >x$FILE
        !           195:                FILE=x$FILE
        !           196:        fi
        !           197: S=`cat name`
        !           198: sed -e "/^[01] /d" -e "s/ #.*//" -e "s/:/;/g" -e "/^[A-Za-z.]/d" -e "/Examp/d" $FILE|
        !           199: awk '\''
        !           200: BEGIN  {FS="   " }
        !           201: NF==2  { print str ", " $2 ": " $1
        !           202:        print $2 ", " str ": " $1
        !           203:        }
        !           204: NF==3  {
        !           205:        if($NF ~ /s/ )print str ", " $2 ": " $1
        !           206:        else if($NF ~ /[SprtqxyzZY]/ )print str ", " $2 ": " $1 ":" $NF
        !           207:        else if($NF ~ /[gGPR]/) print $2 ", " str ": " $1 ":" $NF
        !           208:        else if($NF ~ /[cf]/){
        !           209:                print str ", " $2 ": " $1 ":" $NF
        !           210:                print $2 ", " str ": " $1 ":" $NF
        !           211:        }
        !           212:        else if($NF ~ /C/){
        !           213:                print str ", " $2 ": " $1 ":" $NF
        !           214:                print $2 ", " str ": " $1 
        !           215:        }
        !           216:        else print "code undefined:" $NF|"cat 1>&2"
        !           217: }'\'' str=$S | sort -f -u -t":" +0 -1 +1n |
        !           218: awk '\''
        !           219: BEGIN  {FS=":"}
        !           220:        { if($1 != laststr){
        !           221:                if(start){
        !           222:                        if(range)pages = pages "-" npage
        !           223:                        if(global != "")print laststr "," pages "       " global
        !           224:                        else print laststr "," pages
        !           225:                }
        !           226:                start=1
        !           227:                laststr=$1
        !           228:                global=$3
        !           229:                pages = " " $2
        !           230:                npage = 0 + $2
        !           231:                range=0
        !           232:        }
        !           233:        else {
        !           234:                if($2 == npage+1){
        !           235:                        range=1
        !           236:                        npage++
        !           237:                        next
        !           238:                }
        !           239:                else if(range) pages = pages "-" npage "," $2
        !           240:                else pages = pages "," $2
        !           241:                npage = 0 + $2
        !           242:                range = 0
        !           243:        }
        !           244: }
        !           245: END    {
        !           246:        if(range)pages = pages "-" npage
        !           247:        if(global != "")print laststr "," pages "       " global
        !           248:        else print laststr "," pages
        !           249:        }
        !           250: '\''|sed -e '\''s/~/\$/g'\'' -e '\''s/;/:/g'\''>$j.ind
        !           251: rm name $j.x
        !           252: }'
        !           253: 

unix.superglobalmegacorp.com

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