Annotation of researchv10dc/cmd/icon/src/iconx/idata.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Various interpreter data tables.
                      3:  */
                      4: 
                      5: #include "../h/rt.h"
                      6: 
                      7: /*
                      8:  * External declarations for blocks of built-in procedures.
                      9:  */
                     10: extern struct b_proc
                     11: #define FncDef(p) Cat(B,p),
                     12: #include "../h/fdef.h"
                     13:    Xnoproc; /* Hack to avoid ,; at end */
                     14: #undef FncDef
                     15: struct b_proc Xnoproc;
                     16: 
                     17: /*
                     18:  * Array of addresses of blocks for built-in procedures.  It is important
                     19:  *  that this table and the one in link/builtin.c agree; the linker
                     20:  *  supplies iconx with indices into this array.
                     21:  */
                     22: struct b_proc *functab[] = {
                     23: #define FncDef(p) Cat(&B,p),
                     24: #include "../h/fdef.h"
                     25: #undef FncDef
                     26:    0
                     27:    };
                     28:  
                     29: asgn(), bang(), bscan(), cat(), compl(), create(),
                     30: diff(), div(), eqv(), err(), escan(), field(), inter(), lconcat(),
                     31: lexeq(), lexge(), lexgt(), lexle(), lexlt(), lexne(),
                     32: minus(), mod(), mult(), neg(), neqv(), nonnull(), null(), number(),
                     33: numeq(), numge(), numgt(), numle(), numlt(), numne(), plus(), power(),
                     34: random(), rasgn(), refresh(), rswap(), sect(), size(),
                     35: subsc(), swap(), tabmat(), toby(), unions(), value();
                     36: /*
                     37:  * When an opcode n has a subroutine call associated with it, the
                     38:  *  nth word here is the routine to call.
                     39:  */
                     40: int (*optab[])() = {
                     41:        err,            asgn,           bang,           cat,
                     42:        compl,          diff,           div,            eqv,
                     43:        inter,          lconcat,        lexeq,          lexge,
                     44:        lexgt,          lexle,          lexlt,          lexne,
                     45:        minus,          mod,            mult,           neg,
                     46:        neqv,           nonnull,        null,           number,
                     47:        numeq,          numge,          numgt,          numle,
                     48:        numlt,          numne,          plus,           power,
                     49:        random,         rasgn,          refresh,        rswap,
                     50:        sect,           size,           subsc,          swap,
                     51:        tabmat,         toby,           unions,         value,
                     52:        bscan,          err,            err,            err,
                     53:        err,            err,            create,         err,
                     54:        err,            err,            err,            escan,
                     55:        err,            field,          err,            err
                     56:        };

unix.superglobalmegacorp.com

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