diff options
author | Damien George <damien.p.george@gmail.com> | 2014-02-01 23:04:09 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-02-01 23:04:09 +0000 |
commit | 9aa2a527b532e31c77592cede3b38c018c83ac64 (patch) | |
tree | ea2c5431a7b645f4aba7d573086ada1109cbcdd1 /py/emitcpy.c | |
parent | 7e5fb24e3bdd8a07e2c7f317ad44b62e85082547 (diff) | |
download | micropython-9aa2a527b532e31c77592cede3b38c018c83ac64.tar.gz micropython-9aa2a527b532e31c77592cede3b38c018c83ac64.zip |
py: Tidy up BINARY_OPs; negation done by special NOT bytecode.
IS_NOT and NOT_IN are now compiled to IS + NOT and IN + NOT, with a new
special NOT bytecode.
Diffstat (limited to 'py/emitcpy.c')
-rw-r--r-- | py/emitcpy.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/py/emitcpy.c b/py/emitcpy.c index 1e507a5819..bf8abd1c93 100644 --- a/py/emitcpy.c +++ b/py/emitcpy.c @@ -545,10 +545,10 @@ static void emit_cpy_unary_op(emit_t *emit, rt_unary_op_t op) { emit_pre(emit, 0, 1); if (emit->pass == PASS_3) { switch (op) { - case RT_UNARY_OP_NOT: printf("UNARY_NOT\n"); break; case RT_UNARY_OP_POSITIVE: printf("UNARY_POSITIVE\n"); break; case RT_UNARY_OP_NEGATIVE: printf("UNARY_NEGATIVE\n"); break; case RT_UNARY_OP_INVERT: printf("UNARY_INVERT\n"); break; + case RT_UNARY_OP_NOT: printf("UNARY_NOT\n"); break; default: assert(0); } } @@ -589,17 +589,17 @@ static void emit_cpy_binary_op(emit_t *emit, rt_binary_op_t op) { case RT_BINARY_OP_INPLACE_TRUE_DIVIDE: printf("INPLACE_TRUE_DIVIDE\n"); break; case RT_BINARY_OP_INPLACE_MODULO: printf("INPLACE_MODULO\n"); break; case RT_BINARY_OP_INPLACE_POWER: printf("INPLACE_POWER\n"); break; - case RT_COMPARE_OP_LESS: printf("COMPARE_OP <\n"); break; - case RT_COMPARE_OP_MORE: printf("COMPARE_OP >\n"); break; - case RT_COMPARE_OP_EQUAL: printf("COMPARE_OP ==\n"); break; - case RT_COMPARE_OP_LESS_EQUAL: printf("COMPARE_OP <=\n"); break; - case RT_COMPARE_OP_MORE_EQUAL: printf("COMPARE_OP >=\n"); break; - case RT_COMPARE_OP_NOT_EQUAL: printf("COMPARE_OP !=\n"); break; - case RT_COMPARE_OP_IN: printf("COMPARE_OP in\n"); break; - case RT_COMPARE_OP_NOT_IN: printf("COMPARE_OP not in\n"); break; - case RT_COMPARE_OP_IS: printf("COMPARE_OP is\n"); break; - case RT_COMPARE_OP_IS_NOT: printf("COMPARE_OP is not\n"); break; - case RT_COMPARE_OP_EXCEPTION_MATCH: printf("COMPARE_OP exception match\n"); break; + case RT_BINARY_OP_LESS: printf("COMPARE_OP <\n"); break; + case RT_BINARY_OP_MORE: printf("COMPARE_OP >\n"); break; + case RT_BINARY_OP_EQUAL: printf("COMPARE_OP ==\n"); break; + case RT_BINARY_OP_LESS_EQUAL: printf("COMPARE_OP <=\n"); break; + case RT_BINARY_OP_MORE_EQUAL: printf("COMPARE_OP >=\n"); break; + case RT_BINARY_OP_NOT_EQUAL: printf("COMPARE_OP !=\n"); break; + case RT_BINARY_OP_IN: printf("COMPARE_OP in\n"); break; + case RT_BINARY_OP_IS: printf("COMPARE_OP is\n"); break; + case RT_BINARY_OP_EXCEPTION_MATCH: printf("COMPARE_OP exception match\n"); break; + case RT_BINARY_OP_NOT_IN: printf("COMPARE_OP not in\n"); break; + case RT_BINARY_OP_IS_NOT: printf("COMPARE_OP is not\n"); break; default: assert(0); } } |