{"*", NULL, SCF_OP_DEREFERENCE, 2, 1, SCF_OP_ASSOCIATIVITY_RIGHT},
{"&", NULL, SCF_OP_ADDRESS_OF, 2, 1, SCF_OP_ASSOCIATIVITY_RIGHT},
- {"*", "mul", SCF_OP_MUL, 4, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {"/", "div", SCF_OP_DIV, 4, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {"%", "mod", SCF_OP_MOD, 4, 2, SCF_OP_ASSOCIATIVITY_LEFT},
-
- {"+", "add", SCF_OP_ADD, 5, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {"-", "sub", SCF_OP_SUB, 5, 2, SCF_OP_ASSOCIATIVITY_LEFT},
-
- {"<<", NULL, SCF_OP_SHL, 6, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {">>", NULL, SCF_OP_SHR, 6, 2, SCF_OP_ASSOCIATIVITY_LEFT},
-
- {"&", "band", SCF_OP_BIT_AND, 7, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {"|", "bor", SCF_OP_BIT_OR, 7, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {"^", "bxor", SCF_OP_BIT_XOR, 7, 2, SCF_OP_ASSOCIATIVITY_LEFT},
-
- {"==", "eq", SCF_OP_EQ, 8, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {"!=", "ne", SCF_OP_NE, 8, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {">", "gt", SCF_OP_GT, 8, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {"<", "lt", SCF_OP_LT, 8, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {">=", "ge", SCF_OP_GE, 8, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {"<=", "le", SCF_OP_LE, 8, 2, SCF_OP_ASSOCIATIVITY_LEFT},
-
- {"&&", NULL, SCF_OP_LOGIC_AND, 9, 2, SCF_OP_ASSOCIATIVITY_LEFT},
- {"||", NULL, SCF_OP_LOGIC_OR, 9, 2, SCF_OP_ASSOCIATIVITY_LEFT},
-
- {"?", NULL, SCF_OP_Q_MASK, 10, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
- {":", NULL, SCF_OP_COLON, 10, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
-
- {"=", "a", SCF_OP_ASSIGN, 11, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
- {"+=", "add_", SCF_OP_ADD_ASSIGN, 11, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
- {"-=", "sub_", SCF_OP_SUB_ASSIGN, 11, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
- {"*=", "mul_", SCF_OP_MUL_ASSIGN, 11, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
- {"/=", "div_", SCF_OP_DIV_ASSIGN, 11, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
- {"%=", "mod_", SCF_OP_MOD_ASSIGN, 11, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
- {"<<=", NULL, SCF_OP_SHL_ASSIGN, 11, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
- {">>=", NULL, SCF_OP_SHR_ASSIGN, 11, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
- {"&=", "and_", SCF_OP_AND_ASSIGN, 11, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
- {"|=", "or_", SCF_OP_OR_ASSIGN, 11, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
- {"^=", "xor_", SCF_OP_XOR_ASSIGN, 11, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
-
- {",", NULL, SCF_OP_COMMA, 12, 2, SCF_OP_ASSOCIATIVITY_LEFT},
-
- {"{}", NULL, SCF_OP_BLOCK, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
- {"return", NULL, SCF_OP_RETURN, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
- {"break", NULL, SCF_OP_BREAK, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
- {"continue", NULL, SCF_OP_CONTINUE, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
- {"goto", NULL, SCF_OP_GOTO, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
- {"label", NULL, SCF_LABEL, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
-
- {"if", NULL, SCF_OP_IF, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
- {"while", NULL, SCF_OP_WHILE, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
- {"do", NULL, SCF_OP_DO, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
- {"for", NULL, SCF_OP_FOR, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
-
- {"switch", NULL, SCF_OP_SWITCH, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
- {"case", NULL, SCF_OP_CASE, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
- {"default", NULL, SCF_OP_DEFAULT, 15, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"*", "mul", SCF_OP_MUL, 3, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"/", "div", SCF_OP_DIV, 3, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"%", "mod", SCF_OP_MOD, 3, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+
+ {"+", "add", SCF_OP_ADD, 4, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"-", "sub", SCF_OP_SUB, 4, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+
+ {"<<", NULL, SCF_OP_SHL, 5, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {">>", NULL, SCF_OP_SHR, 5, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+
+ {">", "gt", SCF_OP_GT, 6, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"<", "lt", SCF_OP_LT, 6, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {">=", "ge", SCF_OP_GE, 6, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"<=", "le", SCF_OP_LE, 6, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"==", "eq", SCF_OP_EQ, 7, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"!=", "ne", SCF_OP_NE, 7, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+
+ {"&", "band", SCF_OP_BIT_AND, 8, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"|", "bor", SCF_OP_BIT_OR, 9, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"^", "bxor", SCF_OP_BIT_XOR, 10, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+
+ {"&&", NULL, SCF_OP_LOGIC_AND, 11, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"||", NULL, SCF_OP_LOGIC_OR, 12, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+
+ {"?", NULL, SCF_OP_Q_MASK, 13, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+ {":", NULL, SCF_OP_COLON, 13, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+
+ {"=", "a", SCF_OP_ASSIGN, 14, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+ {"+=", "add_", SCF_OP_ADD_ASSIGN, 14, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+ {"-=", "sub_", SCF_OP_SUB_ASSIGN, 14, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+ {"*=", "mul_", SCF_OP_MUL_ASSIGN, 14, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+ {"/=", "div_", SCF_OP_DIV_ASSIGN, 14, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+ {"%=", "mod_", SCF_OP_MOD_ASSIGN, 14, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+ {"<<=", NULL, SCF_OP_SHL_ASSIGN, 14, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+ {">>=", NULL, SCF_OP_SHR_ASSIGN, 14, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+ {"&=", "and_", SCF_OP_AND_ASSIGN, 14, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+ {"|=", "or_", SCF_OP_OR_ASSIGN, 14, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+ {"^=", "xor_", SCF_OP_XOR_ASSIGN, 14, 2, SCF_OP_ASSOCIATIVITY_RIGHT},
+
+ {",", NULL, SCF_OP_COMMA, 15, 2, SCF_OP_ASSOCIATIVITY_LEFT},
+
+ {"{}", NULL, SCF_OP_BLOCK, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"return", NULL, SCF_OP_RETURN, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"break", NULL, SCF_OP_BREAK, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"continue", NULL, SCF_OP_CONTINUE, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"goto", NULL, SCF_OP_GOTO, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"label", NULL, SCF_LABEL, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+
+ {"if", NULL, SCF_OP_IF, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"while", NULL, SCF_OP_WHILE, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"do", NULL, SCF_OP_DO, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"for", NULL, SCF_OP_FOR, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+
+ {"switch", NULL, SCF_OP_SWITCH, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"case", NULL, SCF_OP_CASE, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
+ {"default", NULL, SCF_OP_DEFAULT, 16, -1, SCF_OP_ASSOCIATIVITY_LEFT},
};
scf_operator_t* scf_find_base_operator(const char* name, const int nb_operands)