Annotation of 43BSD/contrib/apl/src/aw.c, revision 1.1

1.1     ! root        1: static char Sccsid[] = "aw.c @(#)aw.c  1.1     10/1/82 Berkeley ";
        !             2: #include "apl.h"
        !             3: 
        !             4: char *opname[] = {
        !             5: 
        !             6:        "eol",          /* 0 */
        !             7:        "add",          /* 1 */
        !             8:        "plus",         /* 2 */
        !             9:        "sub",          /* 3 */
        !            10:        "minus",        /* 4 */
        !            11:        "mul",          /* 5 */
        !            12:        "sgn",          /* 6 */
        !            13:        "div",          /* 7 */
        !            14:        "recip",        /* 8 */
        !            15:        "mod",          /* 9 */
        !            16:        "abs",          /* 10 */
        !            17:        "min",          /* 11 */
        !            18:        "floor",        /* 12 */
        !            19:        "max",          /* 13 */
        !            20:        "ceil",         /* 14 */
        !            21:        "pwr",          /* 15 */
        !            22:        "exp",          /* 16 */
        !            23:        "log",          /* 17 */
        !            24:        "loge",         /* 18 */
        !            25:        "cir",          /* 19 */
        !            26:        "pi",           /* 20 */
        !            27:        "comb",         /* 21 */
        !            28:        "fac",          /* 22 */
        !            29:        "deal",         /* 23 */
        !            30:        "rand",         /* 24 */
        !            31:        "drho",         /* 25 */
        !            32:        "mrho",         /* 26 */
        !            33:        "diot",         /* 27 */
        !            34:        "miot",         /* 28 */
        !            35:        "rot0",         /* 29 */
        !            36:        "rev0",         /* 30 */
        !            37:        "dtrn",         /* 31 */
        !            38:        "mtrn",         /* 32 */
        !            39:        "dibm",         /* 33 */
        !            40:        "mibm",         /* 34 */
        !            41:        "gdu",          /* 35 */
        !            42:        "gduk",         /* 36 */
        !            43:        "gdd",          /* 37 */
        !            44:        "gddk",         /* 38 */
        !            45:        "exd",          /* 39 */
        !            46:        "scan",         /* 40 */
        !            47:        "exdk",         /* 41 */
        !            48:        "scank",        /* 42 */
        !            49:        "iprod",        /* 43 */
        !            50:        "oprod",        /* 44 */
        !            51:        "quad",         /* 45 */
        !            52:        "qquad",        /* 46 */
        !            53:        "br0",          /* 47 */
        !            54:        "br",           /* 48 */
        !            55:        "ddom",         /* 49 */
        !            56:        "mdom",         /* 50 */
        !            57:        "com",          /* 51 */
        !            58:        "red",          /* 52 */
        !            59:        "comk",         /* 53 */
        !            60:        "redk",         /* 54 */
        !            61:        "rot",          /* 55 */
        !            62:        "rev",          /* 56 */
        !            63:        "rotk",         /* 57 */
        !            64:        "revk",         /* 58 */
        !            65:        "cat",          /* 59 */
        !            66:        "rav",          /* 60 */
        !            67:        "catk",         /* 61 */
        !            68:        "ravk",         /* 62 */
        !            69:        "print",        /* 63 */
        !            70:        "quot",         /* 64 */
        !            71:        "elid",         /* 65 */
        !            72:        "cquad",        /* 66 */
        !            73:        "comnt",        /* 67 */
        !            74:        "index",        /* 68 */
        !            75:        "hprint",       /* 69 */
        !            76:        0,              /* 70 */
        !            77:        "lt",           /* 71 */
        !            78:        "le",           /* 72 */
        !            79:        "gt",           /* 73 */
        !            80:        "ge",           /* 74 */
        !            81:        "eq",           /* 75 */
        !            82:        "ne",           /* 76 */
        !            83:        "and",          /* 77 */
        !            84:        "or",           /* 78 */
        !            85:        "nand",         /* 79 */
        !            86:        "nor",          /* 80 */
        !            87:        "not",          /* 81 */
        !            88:        "eps",          /* 82 */
        !            89:        "meps",         /* 83 */
        !            90:        "rep",          /* 84 */
        !            91:        "take",         /* 85 */
        !            92:        "drop",         /* 86 */
        !            93:        "exd0",         /* 87 */
        !            94:        "asgn",         /* 88 */
        !            95:        "immed",        /* 89 */
        !            96:        "name",         /* 90 */
        !            97:        "const",        /* 91 */
        !            98:        "fun",          /* 92 */
        !            99:        "arg1",         /* 93 */
        !           100:        "arg2",         /* 94 */
        !           101:        "auto",         /* 95 */
        !           102:        "rest",         /* 96 */
        !           103:        "com0",         /* 97 */
        !           104:        "red0",         /* 98 */
        !           105:        "exd0",         /* 99 */
        !           106:        "scan0",        /*100 */
        !           107:        "base",         /*101 */
        !           108:        "format",       /*102 */        /*      format          */
        !           109:        "label",        /*103 */
        !           110:        "psi",          /*104 */
        !           111:        "psi1",         /*105 */
        !           112:        "psi2",         /*106 */
        !           113:        "isp",          /*107 */
        !           114:        "isp1",         /*108 */
        !           115:        "isp2",         /*109 */
        !           116:        "Lwidth",       /*110 */
        !           117:        "Lfuzz",        /*111 */
        !           118:        "Lrun",         /*112 */
        !           119:        "Lfork",        /*113 */
        !           120:        "Lwait",        /*114 */
        !           121:        "Lexec",        /*115 */
        !           122:        "Lfx",          /*116 */
        !           123:        "Lexit",        /*117 */
        !           124:        "Lpipe",        /*118 */
        !           125:        "Lchdir",       /*119 */
        !           126:        "Lopen",        /*120 */
        !           127:        "Lclose",       /*121 */
        !           128:        "Lread",        /*122 */
        !           129:        "Lwrite",       /*123 */
        !           130:        "Lcreat",       /*124 */
        !           131:        "Lseek",        /*125 */
        !           132:        "Lrm",          /*126 */
        !           133:        "Lrd",          /*127 */
        !           134:        "Ldup",         /*128 */
        !           135:        "Lap",          /*129 */
        !           136:        "Lkill",        /*130 */
        !           137:        "Lcr",          /*131 */
        !           138:        "dfmt",         /*132 */
        !           139:        "mfmt",         /*133 */
        !           140:        "Lnc",          /*134 */
        !           141:        "nilret",       /*135 */
        !           142:        "Llx",          /*136 */
        !           143:        "ibr",          /*137 */
        !           144:        "ibr0",         /*138 */
        !           145:        "rval",         /*139 */
        !           146:        "Lsig",         /*140 */
        !           147:        "Lfloat",       /*141 */
        !           148:        "Lnl",          /*142 */
        !           149: };
        !           150: 
        !           151: dump(cp, flag)
        !           152: char *cp;
        !           153: {
        !           154:        register char *s, *t;
        !           155:        register i;
        !           156: 
        !           157:        s = cp;
        !           158:        if(flag)
        !           159:                printf("[ ");
        !           160: 
        !           161: loop:
        !           162:        putchar(' ');
        !           163:        if(column > 50)
        !           164:                if(flag)
        !           165:                        printf(" ]\n[ ");
        !           166:                else
        !           167:                        putchar('\n');
        !           168:        i = *s++;
        !           169:        if(i != EOF)
        !           170:                i &= 0377;
        !           171:        if(i >= 0 && i <= 140 && opname[i]) {
        !           172:                t = opname[i];
        !           173:                while(*t)
        !           174:                        putchar(*t++);
        !           175:        } else if(i != EOF)
        !           176:                printf("%d ", i);
        !           177:        switch(i) {
        !           178: 
        !           179:        case EOL:
        !           180:                if(*s != EOL)
        !           181:                        break;
        !           182:        case EOF:
        !           183:                printf(".");
        !           184:                if(flag)
        !           185:                        printf(" ].");
        !           186:                putchar('\n');
        !           187:                return;
        !           188: 
        !           189:        case QUOT:
        !           190:                i = *s++;
        !           191:                s += i;
        !           192:                break;
        !           193: 
        !           194:        case CONST:
        !           195:                i = *s++;
        !           196:                s += i*SDAT;
        !           197:                break;
        !           198: 
        !           199:        case NAME:
        !           200:        case FUN:
        !           201:        case ARG1:
        !           202:        case ARG2:
        !           203:        case AUTO:
        !           204:        case REST:
        !           205:        case RVAL:
        !           206:                s += copy(IN, s, &cp, 1);
        !           207:                putchar('-');
        !           208:                t = ((struct nlist *)cp)->namep;
        !           209:                while(*t)
        !           210:                        putchar(*t++);
        !           211:                break;
        !           212: 
        !           213:        case INDEX:
        !           214:        case IMMED:
        !           215:                s++;
        !           216:                break;
        !           217:        }
        !           218:        goto loop;
        !           219: }

unix.superglobalmegacorp.com

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