Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
e0722ee9
Commit
e0722ee9
authored
Jan 25, 2014
by
Damien George
Browse files
Merge branch 'free-parse-tree' of github.com:pfalcon/micropython into pfalcon-free-parse-tree
parents
28eb5778
aee2ba70
Changes
3
Hide whitespace changes
Inline
Side-by-side
py/parse.c
View file @
e0722ee9
...
...
@@ -135,6 +135,20 @@ mp_parse_node_struct_t *parse_node_new_struct(int src_line, int rule_id, int num
return
pn
;
}
int
parse_node_free_struct
(
mp_parse_node_t
pn_in
)
{
int
cnt
=
0
;
if
(
MP_PARSE_NODE_IS_STRUCT
(
pn_in
))
{
mp_parse_node_struct_t
*
pn
=
(
mp_parse_node_struct_t
*
)
pn_in
;
int
n
=
pn
->
kind_num_nodes
>>
8
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
{
cnt
+=
parse_node_free_struct
(
pn
->
nodes
[
i
]);
}
m_del_var
(
mp_parse_node_struct_t
,
mp_parse_node_t
,
n
,
pn
);
cnt
++
;
}
return
cnt
;
}
#if MICROPY_DEBUG_PRINTERS
void
mp_parse_node_print
(
mp_parse_node_t
pn
,
int
indent
)
{
if
(
MP_PARSE_NODE_IS_STRUCT
(
pn
))
{
...
...
py/parse.h
View file @
e0722ee9
...
...
@@ -53,6 +53,7 @@ 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
(
machine_int_t
kind
,
machine_int_t
arg
);
int
parse_node_free_struct
(
mp_parse_node_t
pn_in
);
void
mp_parse_node_print
(
mp_parse_node_t
pn
,
int
indent
);
...
...
unix/main.c
View file @
e0722ee9
...
...
@@ -62,6 +62,7 @@ static void execute_from_lexer(mp_lexer_t *lex, mp_parse_input_kind_t input_kind
*/
mp_obj_t
module_fun
=
mp_compile
(
pn
,
source_name
,
is_repl
);
parse_node_free_struct
(
pn
);
if
(
module_fun
==
mp_const_none
)
{
// compile error
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment