From 8843686b495b8c3dd50fa9be570f01a24d6bfcf9 Mon Sep 17 00:00:00 2001 From: rocky Date: Sat, 5 Nov 2022 10:31:00 -0400 Subject: [PATCH] Add generator expression Python 3.0 .. 3.2 --- uncompyle6/parsers/parse32.py | 2 +- uncompyle6/parsers/parse33.py | 3 ++- uncompyle6/parsers/parse37.py | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/uncompyle6/parsers/parse32.py b/uncompyle6/parsers/parse32.py index 29fbccf2..c6de1637 100644 --- a/uncompyle6/parsers/parse32.py +++ b/uncompyle6/parsers/parse32.py @@ -16,7 +16,7 @@ class Python32Parser(Python3Parser): """ - def p_gen_comp(self, args): + def p_gen_comp32(self, args): """ genexpr_func ::= LOAD_ARG FOR_ITER store comp_iter JUMP_BACK """ diff --git a/uncompyle6/parsers/parse33.py b/uncompyle6/parsers/parse33.py index 8135db87..fc3ed940 100644 --- a/uncompyle6/parsers/parse33.py +++ b/uncompyle6/parsers/parse33.py @@ -19,8 +19,9 @@ class Python33Parser(Python32Parser): def customize_grammar_rules(self, tokens, customize): self.remove_rules(""" # 3.3+ adds POP_BLOCKS - whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK NOP COME_FROM_LOOP + genexpr_func ::= LOAD_ARG FOR_ITER store comp_iter JUMP_BACK whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK POP_BLOCK NOP COME_FROM_LOOP + whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK NOP COME_FROM_LOOP """) super(Python33Parser, self).customize_grammar_rules(tokens, customize) return diff --git a/uncompyle6/parsers/parse37.py b/uncompyle6/parsers/parse37.py index e038f1d9..4302e247 100644 --- a/uncompyle6/parsers/parse37.py +++ b/uncompyle6/parsers/parse37.py @@ -403,7 +403,7 @@ class Python37Parser(Python37BaseParser): list_if_not ::= expr jmp_true list_iter """ - def p_gen_comp(self, args): + def p_gen_comp37(self, args): """ comp_iter ::= comp_for comp_body ::= gen_comp_body