diff options
Diffstat (limited to 'py/parse.h')
-rw-r--r-- | py/parse.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/py/parse.h b/py/parse.h index ee28665636..65ca0f4d48 100644 --- a/py/parse.h +++ b/py/parse.h @@ -76,7 +76,6 @@ typedef struct _mp_parse_node_struct_t { #define MP_PARSE_NODE_STRUCT_NUM_NODES(pns) ((pns)->kind_num_nodes >> 8) mp_parse_node_t mp_parse_node_new_leaf(mp_int_t kind, mp_int_t arg); -void mp_parse_node_free(mp_parse_node_t pn); int mp_parse_node_extract_list(mp_parse_node_t *pn, mp_uint_t pn_kind, mp_parse_node_t **nodes); void mp_parse_node_print(mp_parse_node_t pn, mp_uint_t indent); @@ -86,8 +85,14 @@ typedef enum { MP_PARSE_EVAL_INPUT, } mp_parse_input_kind_t; +typedef struct _mp_parse_t { + mp_parse_node_t root; + struct _mp_parse_chunk_t *chunk; +} mp_parse_tree_t; + // the parser will raise an exception if an error occurred // the parser will free the lexer before it returns -mp_parse_node_t mp_parse(struct _mp_lexer_t *lex, mp_parse_input_kind_t input_kind); +mp_parse_tree_t mp_parse(struct _mp_lexer_t *lex, mp_parse_input_kind_t input_kind); +void mp_parse_tree_clear(mp_parse_tree_t *tree); #endif // __MICROPY_INCLUDED_PY_PARSE_H__ |