From b0cbfb0492028192a28f0514fba71ec954330108 Mon Sep 17 00:00:00 2001 From: Damien George Date: Sun, 13 Nov 2016 15:32:05 +1100 Subject: py/parse: Move function to check for const parse node to parse.[ch]. --- py/parse.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'py/parse.c') 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)); -- cgit v1.2.3