home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / Icon 8.1 / msm-1 / icont.sit / opcode.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-19  |  2.4 KB  |  129 lines  |  [TEXT/MPS ]

  1. #include "link.h"
  2. #include "tproto.h"
  3. #include "opcode.h"
  4.  
  5. /*
  6.  * Opcode table.
  7.  */
  8.  
  9. struct opentry optable[] = {
  10.    "asgn",    Op_Asgn,
  11.    "bang",    Op_Bang,
  12.  
  13. #ifdef Xver
  14. xver(opcode.1)
  15. #endif                    /* Xver */
  16.  
  17.    "bscan",    Op_Bscan,
  18.  
  19. #ifdef Xver
  20. xver(opcode.2)
  21. #endif                    /* Xver */
  22.  
  23.    "cat",    Op_Cat,
  24.    "ccase",    Op_Ccase,
  25.    "chfail",    Op_Chfail,
  26.    "coact",    Op_Coact,
  27.    "cofail",    Op_Cofail,
  28.    "colm",    Op_Colm,        /* always recognized, possibly ignored*/
  29.    "compl",    Op_Compl,
  30.    "con",    Op_Con,
  31.    "coret",    Op_Coret,
  32.    "create",    Op_Create,
  33.    "cset",    Op_Cset,
  34.    "declend",    Op_Declend,
  35.    "diff",    Op_Diff,
  36.    "div",    Op_Div,
  37.    "dup",    Op_Dup,
  38.    "efail",    Op_Efail,
  39.    "end",    Op_End,
  40.    "eqv",    Op_Eqv,
  41.    "eret",    Op_Eret,
  42.    "error",    Op_Error,
  43.    "escan",    Op_Escan,
  44.    "esusp",    Op_Esusp,
  45.    "field",    Op_Field,
  46.    "filen",    Op_Filen,
  47.  
  48. #ifdef Xver
  49. xver(opcode.3)
  50. #endif                    /* Xver */
  51.  
  52.    "global",    Op_Global,
  53.    "goto",    Op_Goto,
  54.    "impl",    Op_Impl,
  55.    "init",    Op_Init,
  56.    "int",    Op_Int,
  57.    "inter",    Op_Inter,
  58.    "invoke",    Op_Invoke,
  59.    "keywd",    Op_Keywd,
  60.    "lab",    Op_Lab,
  61.    "lconcat",    Op_Lconcat,
  62.    "lexeq",    Op_Lexeq,
  63.    "lexge",    Op_Lexge,
  64.    "lexgt",    Op_Lexgt,
  65.    "lexle",    Op_Lexle,
  66.    "lexlt",    Op_Lexlt,
  67.    "lexne",    Op_Lexne,
  68.    "limit",    Op_Limit,
  69.    "line",    Op_Line,
  70.    "link",    Op_Link,
  71.    "llist",    Op_Llist,
  72.    "local",    Op_Local,
  73.    "lsusp",    Op_Lsusp,
  74.    "mark",    Op_Mark,
  75.    "mark0",    Op_Mark0,
  76.    "minus",    Op_Minus,
  77.    "mod",    Op_Mod,
  78.    "mult",    Op_Mult,
  79.    "neg",    Op_Neg,
  80.    "neqv",    Op_Neqv,
  81.    "nonnull",    Op_Nonnull,
  82.  
  83. #ifdef LineCodes
  84.    "noop",    Op_Noop,
  85. #endif                    /* LineCodes */
  86.  
  87.    "null",    Op_Null,
  88.    "number",    Op_Number,
  89.    "numeq",    Op_Numeq,
  90.    "numge",    Op_Numge,
  91.    "numgt",    Op_Numgt,
  92.    "numle",    Op_Numle,
  93.    "numlt",    Op_Numlt,
  94.    "numne",    Op_Numne,
  95.    "pfail",    Op_Pfail,
  96.    "plus",    Op_Plus,
  97.    "pnull",    Op_Pnull,
  98.    "pop",    Op_Pop,
  99.    "power",    Op_Power,
  100.    "pret",    Op_Pret,
  101.    "proc",    Op_Proc,
  102.    "psusp",    Op_Psusp,
  103.    "push1",    Op_Push1,
  104.    "pushn1",    Op_Pushn1,
  105.    "random",    Op_Random,
  106.    "rasgn",    Op_Rasgn,
  107.    "real",    Op_Real,
  108.    "record",    Op_Record,
  109.    "refresh",    Op_Refresh,
  110.    "rswap",    Op_Rswap,
  111.    "sdup",    Op_Sdup,
  112.    "sect",    Op_Sect,
  113.    "size",    Op_Size,
  114.    "str",    Op_Str,
  115.    "subsc",    Op_Subsc,
  116.    "swap",    Op_Swap,
  117.    "tabmat",    Op_Tabmat,
  118.    "tally",    Op_Tally,
  119.    "toby",    Op_Toby,
  120.    "trace",    Op_Trace,
  121.    "unions",    Op_Unions,
  122.    "unmark",    Op_Unmark,
  123.    "value",    Op_Value,
  124.    "var",    Op_Var,
  125.    "version",    Op_Version,
  126.    };
  127.  
  128. int NOPCODES = sizeof(optable) / sizeof(struct opentry);
  129.