-char *p2opnames[] = {
- "",
- "P2UNDEFINED", /* 1 */
- "P2NAME", /* 2 */
- "P2STRING", /* 3 */
- "P2ICON", /* 4 */
- "P2FCON", /* 5 */
- "P2PLUS", /* 6 */
- "",
- "P2MINUS", /* 8 also unary == P2NEG */
- "",
- "P2NEG",
- "P2MUL", /* 11 also unary == P2INDIRECT */
- "",
- "P2INDIRECT",
- "P2AND", /* 14 also unary == P2ADDROF */
- "",
- "P2ADDROF",
- "P2OR", /* 17 */
- "",
- "P2ER", /* 19 */
- "",
- "P2QUEST", /* 21 */
- "P2COLON", /* 22 */
- "P2ANDAND", /* 23 */
- "P2OROR", /* 24 */
- "", /* 25 */
- "", /* 26 */
- "", /* 27 */
- "", /* 28 */
- "", /* 29 */
- "", /* 30 */
- "", /* 31 */
- "", /* 32 */
- "", /* 33 */
- "", /* 34 */
- "", /* 35 */
- "", /* 36 */
- "", /* 37 */
- "", /* 38 */
- "", /* 39 */
- "", /* 40 */
- "", /* 41 */
- "", /* 42 */
- "", /* 43 */
- "", /* 44 */
- "", /* 45 */
- "", /* 46 */
- "", /* 47 */
- "", /* 48 */
- "", /* 49 */
- "", /* 50 */
- "", /* 51 */
- "", /* 52 */
- "", /* 53 */
- "", /* 54 */
- "", /* 55 */
- "P2LISTOP", /* 56 */
- "",
- "P2ASSIGN", /* 58 */
- "P2COMOP", /* 59 */
- "P2DIV", /* 60 */
- "",
- "P2MOD", /* 62 */
- "",
- "P2LS", /* 64 */
- "",
- "P2RS", /* 66 */
- "",
- "P2DOT", /* 68 */
- "P2STREF", /* 69 */
- "P2CALL", /* 70 also unary */
- "",
- "P2UNARYCALL",
- "P2FORTCALL", /* 73 also unary */
- "",
- "P2UNARYFORTCALL",
- "P2NOT", /* 76 */
- "P2COMPL", /* 77 */
- "P2INCR", /* 78 */
- "P2DECR", /* 79 */
- "P2EQ", /* 80 */
- "P2NE", /* 81 */
- "P2LE", /* 82 */
- "P2LT", /* 83 */
- "P2GE", /* 84 */
- "P2GT", /* 85 */
- "P2ULE", /* 86 */
- "P2ULT", /* 87 */
- "P2UGE", /* 88 */
- "P2UGT", /* 89 */
- "P2SETBIT", /* 90 */
- "P2TESTBIT", /* 91 */
- "P2RESETBIT", /* 92 */
- "P2ARS", /* 93 */
- "P2REG", /* 94 */
- "P2OREG", /* 95 */
- "P2CCODES", /* 96 */
- "P2FREE", /* 97 */
- "P2STASG", /* 98 */
- "P2STARG", /* 99 */
- "P2STCALL", /* 100 also unary */
- "",
- "P2UNARYSTCALL",
- "P2FLD", /* 103 */
- "P2SCONV", /* 104 */
- "P2PCONV", /* 105 */
- "P2PMCONV", /* 106 */
- "P2PVCONV", /* 107 */
- "P2FORCE", /* 108 */
- "P2CBRANCH", /* 109 */
- "P2INIT", /* 110 */
- "P2CAST", /* 111 */
+
+struct p2op {
+ int op;
+ char *name;
+};
+
+static struct p2op p2opnames[] = {
+ PCC_ERROR, "PCC_ERROR",
+ PCC_NAME, "PCC_NAME",
+ PCC_STRING, "PCC_STRING",
+ PCC_ICON, "PCC_ICON",
+ PCC_FCON, "PCC_FCON",
+ PCC_PLUS, "PCC_PLUS",
+ PCC_MINUS, "PCC_MINUS",
+ PCC_UMINUS, "PCC_UMINUS",
+ PCC_MUL, "PCC_MUL",
+ PCC_DEREF, "PCC_DEREF",
+ PCC_AND, "PCC_AND",
+ PCC_ADDROF, "PCC_ADDROF",
+ PCC_OR, "PCC_OR",
+ PCC_ER, "PCC_ER",
+ PCC_QUEST, "PCC_QUEST",
+ PCC_COLON, "PCC_COLON",
+ PCC_ANDAND, "PCC_ANDAND",
+ PCC_OROR, "PCC_OROR",
+ PCC_CM, "PCC_CM",
+ PCC_ASSIGN, "PCC_ASSIGN",
+ PCC_COMOP, "PCC_COMOP",
+ PCC_DIV, "PCC_DIV",
+ PCC_MOD, "PCC_MOD",
+ PCC_LS, "PCC_LS",
+ PCC_RS, "PCC_RS",
+ PCC_DOT, "PCC_DOT",
+ PCC_STREF, "PCC_STREF",
+ PCC_CALL, "PCC_CALL",
+ PCC_UCALL, "PCC_UCALL",
+ PCC_FORTCALL, "PCC_FORTCALL",
+ PCC_UFORTCALL, "PCC_UFORTCALL",
+ PCC_NOT, "PCC_NOT",
+ PCC_COMPL, "PCC_COMPL",
+ PCC_INCR, "PCC_INCR",
+ PCC_DECR, "PCC_DECR",
+ PCC_EQ, "PCC_EQ",
+ PCC_NE, "PCC_NE",
+ PCC_LE, "PCC_LE",
+ PCC_LT, "PCC_LT",
+ PCC_GE, "PCC_GE",
+ PCC_GT, "PCC_GT",
+ PCC_ULE, "PCC_ULE",
+ PCC_ULT, "PCC_ULT",
+ PCC_UGE, "PCC_UGE",
+ PCC_UGT, "PCC_UGT",
+ PCC_REG, "PCC_REG",
+ PCC_OREG, "PCC_OREG",
+ PCC_CCODES, "PCC_CCODES",
+ PCC_FREE, "PCC_FREE",
+ PCC_STASG, "PCC_STASG",
+ PCC_STARG, "PCC_STARG",
+ PCC_STCALL, "PCC_STCALL",
+ PCC_USTCALL, "PCC_USTCALL",
+ PCC_FLD, "PCC_FLD",
+ PCC_SCONV, "PCC_SCONV",
+ PCC_PCONV, "PCC_PCONV",
+ PCC_PMCONV, "PCC_PMCONV",
+ PCC_PVCONV, "PCC_PVCONV",
+ PCC_FORCE, "PCC_FORCE",
+ PCC_CBRANCH, "PCC_CBRANCH",
+ PCC_INIT, "PCC_INIT",
+ PCC_CAST, "PCC_CAST",
+ -1, ""