struct oplist { char * name; int numb;} ops[] = { "INPUTS", 57346, "OUTPUTS", 57347, "EXTERNS", 57348, "FIELDS", 57349, "INPUT", 57350, "OUTPUT", 57351, "MODULE", 57352, "EQNS", 57353, "EQN", 57354, "TYPES", 57355, "CEQN", 57356, "BOTH", 57357, "BOTHS", 57358, "BURIEDS", 57359, "BURIED", 57360, "ITER", 57361, "YUSED", 57362, "NAME", 57363, "EXTERN", 57364, "FIELD", 57365, "DCOUTPUT", 57366, "DCFIELD", 57367, "AEQN", 57368, "AOUTPUT", 57369, "CNDEQN", 57370, "XNOR", 57371, "GOTO", 57372, "END", 57373, "POP2", 57374, "NOCASE", 57375, "DNOCASE", 57376, "DSWITCH", 57377, "EQX", 57378, "NEX", 57379, "IF", 57380, "SELECT", 57381, "CASE", 57382, "SWITCH", 57383, "WHILE", 57384, "CND", 57385, "ALT", 57386, "PERM", 57387, "NOT", 57388, "COMEQU", 57389, "ALTEQU", 57390, "SUBEQU", 57391, "ADDEQU", 57392, "MULEQU", 57393, "XOREQU", 57394, "MODEQU", 57395, "PNDEQU", 57396, "DC", 57397, "COM", 57398, "NEG", 57399, "GREY", 57400, "FLONE", 57401, "FRONE", 57402, "ADD", 57403, "AND", 57404, "DIV", 57405, "EQ", 57406, "GE", 57407, "GT", 57408, "LAND", 57409, "LE", 57410, "LOR", 57411, "LS", 57412, "LT", 57413, "MOD", 57414, "MUL", 57415, "NE", 57416, "OR", 57417, "RS", 57418, "SUB", 57419, "XOR", 57420, "PND", 57421, "ELIST", 57422, "ASSIGN", 57423, "DONTCARE", 57424, "NUMBER", 57425, (char *) 0, 0 }; char buf[30]; char * getop(int n) { struct oplist* op; for(op = ops; op->numb; ++op) if(n == op->numb) return(op->name); sprintf(buf, "%s%x", "UNKNOWN OPCODE", n); return(buf); }