Annotation of 43BSD/contrib/apl/src/aw.c, revision 1.1.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.