1: /*
   2:  * Opcode table structure.
   3:  */
   4: 
   5: struct opentry {
   6:    char *op_name;       /* name of opcode */
   7:    int   op_code;       /* opcode number */
   8:    };
   9: 
  10: /*
  11:  * External definitions.
  12:  */
  13: 
  14: extern struct opentry optable[];
  15: extern int NOPCODES;
  16: 
  17: /*
  18:  * Opcode definitions used in icode.  These values must agree with those
  19:  *  used in iconx/interp.s.
  20:  */
  21: 
  22: /* Operators. */
  23: 
  24: #define OP_ASGN       1
  25: #define OP_BANG       2
  26: #define OP_CAT        3
  27: #define OP_COMPL      4
  28: #define OP_DIFF       5
  29: #define OP_DIV        6
  30: #define OP_EQV        7
  31: #define OP_INTER      8
  32: #define OP_LCONCAT    9
  33: #define OP_LEXEQ     10
  34: #define OP_LEXGE     11
  35: #define OP_LEXGT     12
  36: #define OP_LEXLE     13
  37: #define OP_LEXLT     14
  38: #define OP_LEXNE     15
  39: #define OP_MINUS     16
  40: #define OP_MOD       17
  41: #define OP_MULT      18
  42: #define OP_NEG       19
  43: #define OP_NEQV      20
  44: #define OP_NONNULL   21
  45: #define OP_NULL      22
  46: #define OP_NUMBER    23
  47: #define OP_NUMEQ     24
  48: #define OP_NUMGE     25
  49: #define OP_NUMGT     26
  50: #define OP_NUMLE     27
  51: #define OP_NUMLT     28
  52: #define OP_NUMNE     29
  53: #define OP_PLUS      30
  54: #define OP_POWER     31
  55: #define OP_RANDOM    32
  56: #define OP_RASGN     33
  57: #define OP_REFRESH   34
  58: #define OP_RSWAP     35
  59: #define OP_SECT      36
  60: #define OP_SIZE      37
  61: #define OP_SUBSC     38
  62: #define OP_SWAP      39
  63: #define OP_TABMAT    40
  64: #define OP_TOBY      41
  65: #define OP_UNIONCS   42
  66: #define OP_VALUE     43
  67: 
  68: /* Instructions. */
  69: 
  70: #define OP_BSCAN     44
  71: #define OP_CCASE     45
  72: #define OP_CHFAIL    46
  73: #define OP_COACT     47
  74: #define OP_COFAIL    48
  75: #define OP_CORET     49
  76: #define OP_CREATE    50
  77: #define OP_CSET      51
  78: #define OP_DUP       52
  79: #define OP_EFAIL     53
  80: #define OP_ERET      54
  81: #define OP_ESCAN     55
  82: #define OP_ESUSP     56
  83: #define OP_FIELD     57
  84: #define OP_FILE      58
  85: #define OP_GOTO      59
  86: #define OP_INCRES    60
  87: #define OP_INIT      61
  88: #define OP_INT       62
  89: #define OP_INVOKE    63
  90: #define OP_KEYWD     64
  91: #define OP_LAB       65
  92: #define OP_LIMIT     66
  93: #define OP_LINE      67
  94: #define OP_LLIST     68
  95: #define OP_LSUSP     69
  96: #define OP_MARK      70
  97: #define OP_PFAIL     71
  98: #define OP_PNULL     72
  99: #define OP_POP       73
 100: #define OP_PRET      74
 101: #define OP_PSUSP     75
 102: #define OP_PUSH1     76
 103: #define OP_PUSHN1    77
 104: #define OP_REAL      78
 105: #define OP_SDUP      79
 106: #define OP_STR       80
 107: #define OP_UNMARK    81
 108: #define OP_VAR       82
 109: 
 110: /* Declarations. */
 111: 
 112: #define OP_PROC      83
 113: #define OP_LOCAL     84
 114: #define OP_CON       85
 115: #define OP_DECLEND   86
 116: #define OP_END       87
 117: /* See below for OP_LINK. */
 118: 
 119: /* Global symbol table declarations. */
 120: 
 121: #define OP_RECORD    88
 122: #define OP_IMPL      89
 123: #define OP_ERROR     90
 124: #define OP_TRACE     91
 125: #define OP_GLOBAL    92
 126: 
 127: /* Interpreter instructions not defined above. */
 128: 
 129: #define OP_ARG       93
 130: #define OP_STATIC    94
 131: #define OP_MARK0     95
 132: #define OP_LINK      96
 133: /*
 134:  * The following opcodes cannot be renumbered easily, for example, the
 135:  *  interpreter assumes that OP_GLOBX is a multiple of 16.
 136:  */
 137: #define OP_GLOBX    112 /* 16 opcodes */
 138: #define OP_LOCX     128 /* 16 opcodes */
 139: #define OP_INTX     144 /* 16 opcodes */
 140: #define OP_STATX    160 /*  8 opcodes */
 141: #define OP_ARGX     168 /*  8 opcodes */
 142: #define OP_UNMKX    176 /*  8 opcodes */
 143: #define OP_INVKX    184 /*  8 opcodes */
 144: #define OP_LINEX    192 /* 64 opcodes */

Defined struct's

opentry defined in line 5; used 8 times

Defined macros

OP_ARG defined in line 129; used 1 times
OP_ARGX defined in line 141; used 1 times
OP_ASGN defined in line 24; used 1 times
OP_BANG defined in line 25; used 1 times
OP_BSCAN defined in line 70; used 1 times
OP_CAT defined in line 26; used 1 times
OP_CCASE defined in line 71; used 1 times
OP_CHFAIL defined in line 72; used 1 times
OP_COACT defined in line 73; used 1 times
OP_COFAIL defined in line 74; used 1 times
OP_COMPL defined in line 27; used 1 times
OP_CON defined in line 114; used 2 times
OP_CORET defined in line 75; used 1 times
OP_CREATE defined in line 76; used 1 times
OP_CSET defined in line 77; used 1 times
OP_DECLEND defined in line 115; used 1 times
OP_DIFF defined in line 28; used 1 times
OP_DIV defined in line 29; used 1 times
OP_DUP defined in line 78; used 1 times
OP_EFAIL defined in line 79; used 1 times
OP_END defined in line 116; used 1 times
OP_EQV defined in line 30; used 1 times
OP_ERET defined in line 80; used 1 times
OP_ERROR defined in line 123; used 1 times
OP_ESCAN defined in line 81; used 1 times
OP_ESUSP defined in line 82; used 1 times
OP_FIELD defined in line 83; used 1 times
OP_FILE defined in line 84; used 1 times
OP_GLOBAL defined in line 125; used 2 times
OP_GLOBX defined in line 137; used 1 times
OP_GOTO defined in line 85; used 1 times
OP_IMPL defined in line 122; used 1 times
OP_INCRES defined in line 86; used 1 times
OP_INIT defined in line 87; used 1 times
OP_INT defined in line 88; used 1 times
OP_INTER defined in line 31; used 1 times
OP_INTX defined in line 139; used 1 times
OP_INVKX defined in line 143; used 1 times
OP_INVOKE defined in line 89; used 1 times
OP_KEYWD defined in line 90; used 1 times
OP_LAB defined in line 91; used 1 times
OP_LCONCAT defined in line 32; used 1 times
OP_LEXEQ defined in line 33; used 1 times
OP_LEXGE defined in line 34; used 1 times
OP_LEXGT defined in line 35; used 1 times
OP_LEXLE defined in line 36; used 1 times
OP_LEXLT defined in line 37; used 1 times
OP_LEXNE defined in line 38; used 1 times
OP_LIMIT defined in line 92; used 1 times
OP_LINE defined in line 93; used 1 times
OP_LINEX defined in line 144; used 1 times
OP_LINK defined in line 132; used 1 times
OP_LLIST defined in line 94; used 1 times
OP_LOCX defined in line 138; used 1 times
OP_LSUSP defined in line 95; used 1 times
OP_MARK defined in line 96; used 1 times
OP_MARK0 defined in line 131; used 1 times
OP_MINUS defined in line 39; used 1 times
OP_MOD defined in line 40; used 1 times
OP_MULT defined in line 41; used 1 times
OP_NEG defined in line 42; used 1 times
OP_NEQV defined in line 43; used 1 times
OP_NONNULL defined in line 44; used 1 times
OP_NULL defined in line 45; used 1 times
OP_NUMBER defined in line 46; used 1 times
OP_NUMEQ defined in line 47; used 1 times
OP_NUMGE defined in line 48; used 1 times
OP_NUMGT defined in line 49; used 1 times
OP_NUMLE defined in line 50; used 1 times
OP_NUMLT defined in line 51; used 1 times
OP_NUMNE defined in line 52; used 1 times
OP_PFAIL defined in line 97; used 1 times
OP_PLUS defined in line 53; used 1 times
OP_PNULL defined in line 98; used 1 times
OP_POP defined in line 99; used 1 times
OP_POWER defined in line 54; used 1 times
OP_PRET defined in line 100; used 1 times
OP_PROC defined in line 112; used 1 times
OP_PSUSP defined in line 101; used 1 times
OP_PUSH1 defined in line 102; used 1 times
OP_PUSHN1 defined in line 103; used 1 times
OP_RANDOM defined in line 55; used 1 times
OP_RASGN defined in line 56; used 1 times
OP_REAL defined in line 104; used 1 times
OP_RECORD defined in line 121; used 1 times
OP_REFRESH defined in line 57; used 1 times
OP_RSWAP defined in line 58; used 1 times
OP_SDUP defined in line 105; used 1 times
OP_SECT defined in line 59; used 1 times
OP_SIZE defined in line 60; used 1 times
OP_STATIC defined in line 130; used 1 times
OP_STATX defined in line 140; used 1 times
OP_STR defined in line 106; used 1 times
OP_SUBSC defined in line 61; used 1 times
OP_SWAP defined in line 62; used 1 times
OP_TABMAT defined in line 63; used 1 times
OP_TOBY defined in line 64; used 1 times
OP_TRACE defined in line 124; used 1 times
OP_UNIONCS defined in line 65; used 1 times
OP_UNMARK defined in line 107; used 1 times
OP_UNMKX defined in line 142; used 1 times
OP_VALUE defined in line 66; used 1 times
OP_VAR defined in line 108; used 1 times

Usage of this include

Last modified: 1984-11-18
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1925
Valid CSS Valid XHTML 1.0 Strict