Annotation of researchv10dc/cmd/icon/src/iconx/idata.c, revision 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.