From 93afa230a42592023ba39951a48109d098f03bbe Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 6 May 2014 21:44:11 +0100 Subject: [PATCH] py, parser: Add commented-out code to discard doc strings. Doesn't help with RAM reduction because doc strings are interned as soon as they are encountered, which is too soon to do any optimisations on them. --- py/parse.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/py/parse.c b/py/parse.c index f512eea3b2..0ec336cd1a 100644 --- a/py/parse.c +++ b/py/parse.c @@ -511,6 +511,20 @@ mp_parse_node_t mp_parse(mp_lexer_t *lex, mp_parse_input_kind_t input_kind, mp_p } } +#if 0 && !MICROPY_ENABLE_DOC_STRING + // this code discards lonely statement, such as doc strings + // problem is that doc strings have already been interned, so this doesn't really help reduce RAM usage + if (input_kind != MP_PARSE_SINGLE_INPUT && rule->rule_id == RULE_expr_stmt && peek_result(parser, 0) == MP_PARSE_NODE_NULL) { + mp_parse_node_t p = peek_result(parser, 1); + if (MP_PARSE_NODE_IS_LEAF(p) && !MP_PARSE_NODE_IS_ID(p)) { + pop_result(parser); + pop_result(parser); + push_result_rule(parser, rule_src_line, rules[RULE_pass_stmt], 0); + break; + } + } +#endif + // always emit these rules, even if they have only 1 argument if (rule->rule_id == RULE_expr_stmt || rule->rule_id == RULE_yield_stmt) { emit_rule = true;