diff options
author | Damien George <damien.p.george@gmail.com> | 2016-11-13 15:32:05 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-11-15 16:48:48 +1100 |
commit | b0cbfb0492028192a28f0514fba71ec954330108 (patch) | |
tree | 192dd21167f8b140a33afb89d1a1ecc26e7e26cd /py/parse.c | |
parent | 3f8bb80eb2da1c2b5228a69f7c580d0bc2d37219 (diff) | |
download | micropython-b0cbfb0492028192a28f0514fba71ec954330108.tar.gz micropython-b0cbfb0492028192a28f0514fba71ec954330108.zip |
py/parse: Move function to check for const parse node to parse.[ch].
Diffstat (limited to 'py/parse.c')
-rw-r--r-- | py/parse.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/py/parse.c b/py/parse.c index 397d46d9f0..aa6034a6a0 100644 --- a/py/parse.c +++ b/py/parse.c @@ -234,6 +234,16 @@ mp_parse_node_t mp_parse_node_new_leaf(size_t kind, mp_int_t arg) { return (mp_parse_node_t)(kind | (arg << 4)); } +bool mp_parse_node_is_const_false(mp_parse_node_t pn) { + return MP_PARSE_NODE_IS_TOKEN_KIND(pn, MP_TOKEN_KW_FALSE) + || (MP_PARSE_NODE_IS_SMALL_INT(pn) && MP_PARSE_NODE_LEAF_SMALL_INT(pn) == 0); +} + +bool mp_parse_node_is_const_true(mp_parse_node_t pn) { + return MP_PARSE_NODE_IS_TOKEN_KIND(pn, MP_TOKEN_KW_TRUE) + || (MP_PARSE_NODE_IS_SMALL_INT(pn) && MP_PARSE_NODE_LEAF_SMALL_INT(pn) != 0); +} + bool mp_parse_node_get_int_maybe(mp_parse_node_t pn, mp_obj_t *o) { if (MP_PARSE_NODE_IS_SMALL_INT(pn)) { *o = MP_OBJ_NEW_SMALL_INT(MP_PARSE_NODE_LEAF_SMALL_INT(pn)); |