1 /* 2 $Id: oper_e.h 2593 2021-04-18 13:00:11Z soci $ 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 2 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along 15 with this program; if not, write to the Free Software Foundation, Inc., 16 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 18 */ 19 #ifndef OPER_TYPES_E_H 20 #define OPER_TYPES_E_H 21 22 typedef enum Oper_types { 23 O_TUPLE, /* ) */ 24 O_LIST, /* ] */ 25 O_DICT, /* } */ 26 O_RPARENT, /* ) */ 27 O_RBRACKET, /* ] */ 28 O_RBRACE, /* } */ 29 O_FUNC, /* a( */ 30 O_INDEX, /* a[ */ 31 O_BRACE, /* {a} */ 32 O_BRACKET, /* [a] */ 33 O_PARENT, /* (a) */ 34 O_COMMA, /* , */ 35 O_ASSIGN, /* = */ 36 O_COLON_ASSIGN, /* := */ 37 O_MIN_ASSIGN, /* <?= */ 38 O_MAX_ASSIGN, /* >?= */ 39 O_OR_ASSIGN, /* |= */ 40 O_XOR_ASSIGN, /* ^= */ 41 O_AND_ASSIGN, /* &= */ 42 O_BLS_ASSIGN, /* <<= */ 43 O_BRS_ASSIGN, /* >>= */ 44 O_ADD_ASSIGN, /* += */ 45 O_SUB_ASSIGN, /* -= */ 46 O_MUL_ASSIGN, /* *= */ 47 O_DIV_ASSIGN, /* /= */ 48 O_MOD_ASSIGN, /* %= */ 49 O_EXP_ASSIGN, /* **= */ 50 O_CONCAT_ASSIGN, /* ..= */ 51 O_X_ASSIGN, /* x= */ 52 O_MEMBER_ASSIGN, /* .= */ 53 O_LOR_ASSIGN, /* ||= */ 54 O_LAND_ASSIGN, /* &&= */ 55 O_COND_ASSIGN, /* :?= */ 56 O_QUEST, /* ? */ 57 O_DQUEST, /* ?? */ 58 O_COLON, /* : */ 59 O_COND, /* ? */ 60 O_DCOND, /* ?? */ 61 O_COLON2, /* : */ 62 O_HASH, /* # */ 63 O_HASH_SIGNED, /* #+ */ 64 O_WORD, /* <> */ 65 O_HWORD, /* >` */ 66 O_BSWORD, /* >< */ 67 O_LOWER, /* < */ 68 O_HIGHER, /* > */ 69 O_BANK, /* ` */ 70 O_STRING, /* ^ */ 71 O_LOR, /* || */ 72 O_LXOR, /* ^^ */ 73 O_LAND, /* && */ 74 O_IDENTITY, /* === */ 75 O_IN, /* in */ 76 O_CMP, /* <=> */ 77 O_EQ, /* == */ 78 O_NE, /* != */ 79 O_LT, /* < */ 80 O_GT, /* > */ 81 O_GE, /* >= */ 82 O_LE, /* <= */ 83 O_MIN, /* <? */ 84 O_MAX, /* >? */ 85 O_OR, /* | */ 86 O_XOR, /* ^ */ 87 O_AND, /* & */ 88 O_LSHIFT, /* << */ 89 O_RSHIFT, /* >> */ 90 O_ADD, /* + */ 91 O_SUB, /* - */ 92 O_MUL, /* * */ 93 O_DIV, /* / */ 94 O_MOD, /* % */ 95 O_EXP, /* ** */ 96 O_NEG, /* - */ 97 O_POS, /* + */ 98 O_INV, /* ~ */ 99 O_LNOT, /* ! */ 100 O_SPLAT, /* * */ 101 O_CONCAT, /* .. */ 102 O_X, /* x */ 103 O_COMMAX, /* ,x */ /* there's a check for */ 104 O_COMMAY, /* ,y */ /* O_COMMAX to O_COMMAK */ 105 O_COMMAZ, /* ,z */ /* in eval.c */ 106 O_COMMAS, /* ,s */ 107 O_COMMAR, /* ,r */ 108 O_COMMAD, /* ,d */ 109 O_COMMAB, /* ,b */ 110 O_COMMAK, /* ,k */ 111 O_MEMBER, /* . */ 112 O_NONE 113 } Oper_types; 114 115 #endif 116