aboutsummaryrefslogtreecommitdiff
path: root/py/parse.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2019-07-25 12:10:45 +1000
committerDamien George <damien.p.george@gmail.com>2019-09-26 14:37:26 +1000
commit6ce7c051e853e631802aedd39cbffb14dc3f123c (patch)
treef503032cee6eb6375de62d1a0c9d878a6e616478 /py/parse.c
parent78e0e76b4f91e7c51d757779814447eeaab54f9a (diff)
py/lexer: Reorder operator tokens to match corresponding binary ops.
Diffstat (limited to 'py/parse.c')
-rw-r--r--py/parse.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/py/parse.c b/py/parse.c
index 66110e7c3..946a3b1b3 100644
--- a/py/parse.c
+++ b/py/parse.c
@@ -645,19 +645,17 @@ STATIC bool fold_constants(parser_t *parser, uint8_t rule_id, size_t num_args) {
}
mp_token_kind_t tok = MP_PARSE_NODE_LEAF_ARG(peek_result(parser, i));
static const uint8_t token_to_op[] = {
+ MP_BINARY_OP_LSHIFT,
+ MP_BINARY_OP_RSHIFT,
MP_BINARY_OP_ADD,
MP_BINARY_OP_SUBTRACT,
MP_BINARY_OP_MULTIPLY,
- 255,//MP_BINARY_OP_POWER,
- 255,//MP_BINARY_OP_TRUE_DIVIDE,
MP_BINARY_OP_FLOOR_DIVIDE,
+ 255,//MP_BINARY_OP_TRUE_DIVIDE,
MP_BINARY_OP_MODULO,
- 255,//MP_BINARY_OP_LESS
- MP_BINARY_OP_LSHIFT,
- 255,//MP_BINARY_OP_MORE
- MP_BINARY_OP_RSHIFT,
+ 255,//MP_BINARY_OP_POWER,
};
- mp_binary_op_t op = token_to_op[tok - MP_TOKEN_OP_PLUS];
+ mp_binary_op_t op = token_to_op[tok - MP_TOKEN_OP_DBL_LESS];
if (op == (mp_binary_op_t)255) {
return false;
}