#include "ilink.h" #include "opcode.h" /* * Opcode table. */ struct opentry optable[] = { "asgn", OP_ASGN, "bang", OP_BANG, "bscan", OP_BSCAN, "cat", OP_CAT, "ccase", OP_CCASE, "chfail", OP_CHFAIL, "coact", OP_COACT, "cofail", OP_COFAIL, "compl", OP_COMPL, "con", OP_CON, "coret", OP_CORET, "create", OP_CREATE, "cset", OP_CSET, "declend", OP_DECLEND, "diff", OP_DIFF, "div", OP_DIV, "dup", OP_DUP, "efail", OP_EFAIL, "end", OP_END, "eqv", OP_EQV, "eret", OP_ERET, "error", OP_ERROR, "escan", OP_ESCAN, "esusp", OP_ESUSP, "field", OP_FIELD, "file", OP_FILE, "global", OP_GLOBAL, "goto", OP_GOTO, "impl", OP_IMPL, "incres", OP_INCRES, "init?", OP_INIT, "int", OP_INT, "inter", OP_INTER, "invoke", OP_INVOKE, "keywd", OP_KEYWD, "lab", OP_LAB, "lconcat", OP_LCONCAT, "lexeq", OP_LEXEQ, "lexge", OP_LEXGE, "lexgt", OP_LEXGT, "lexle", OP_LEXLE, "lexlt", OP_LEXLT, "lexne", OP_LEXNE, "limit", OP_LIMIT, "line", OP_LINE, "link", OP_LINK, "llist", OP_LLIST, "local", OP_LOCAL, "lsusp", OP_LSUSP, "mark", OP_MARK, "minus", OP_MINUS, "mod", OP_MOD, "mult", OP_MULT, "neg", OP_NEG, "neqv", OP_NEQV, "nonnull", OP_NONNULL, "null", OP_NULL, "number", OP_NUMBER, "numeq", OP_NUMEQ, "numge", OP_NUMGE, "numgt", OP_NUMGT, "numle", OP_NUMLE, "numlt", OP_NUMLT, "numne", OP_NUMNE, "pfail", OP_PFAIL, "plus", OP_PLUS, "pnull", OP_PNULL, "pop", OP_POP, "power", OP_POWER, "pret", OP_PRET, "proc", OP_PROC, "psusp", OP_PSUSP, "push1", OP_PUSH1, "pushn1", OP_PUSHN1, "random", OP_RANDOM, "rasgn", OP_RASGN, "real", OP_REAL, "record", OP_RECORD, "refresh", OP_REFRESH, "rswap", OP_RSWAP, "sdup", OP_SDUP, "sect", OP_SECT, "size", OP_SIZE, "str", OP_STR, "subsc", OP_SUBSC, "swap", OP_SWAP, "tabmat", OP_TABMAT, "toby", OP_TOBY, "trace", OP_TRACE, "unioncs", OP_UNIONCS, "unmark", OP_UNMARK, "value", OP_VALUE, "var", OP_VAR, }; int NOPCODES = sizeof(optable) / sizeof(struct opentry);