You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-03 00:45:53 +08:00
Address whileTrue if cond .. -> while cond .. bug
Reinstate Python standard library bisect test
This commit is contained in:
@@ -133,7 +133,7 @@ check-3.2-ok:
|
|||||||
|
|
||||||
#: Run longer Python 3.4's lib files known to be okay
|
#: Run longer Python 3.4's lib files known to be okay
|
||||||
check-3.4-ok:
|
check-3.4-ok:
|
||||||
$(PYTHON) test_pythonlib.py --ok-3.4 --weak-verify $(COMPILE)
|
$(PYTHON) test_pythonlib.py --ok-3.4 --verify $(COMPILE)
|
||||||
|
|
||||||
#: PyPy of some sort. E.g. [PyPy 5.0.1 with GCC 4.8.4]
|
#: PyPy of some sort. E.g. [PyPy 5.0.1 with GCC 4.8.4]
|
||||||
# Skip for now
|
# Skip for now
|
||||||
|
BIN
test/ok_lib3.4/bisect.pyc
Normal file
BIN
test/ok_lib3.4/bisect.pyc
Normal file
Binary file not shown.
@@ -302,16 +302,19 @@ class Python3Parser(PythonParser):
|
|||||||
stmt ::= whileTruestmt
|
stmt ::= whileTruestmt
|
||||||
ifelsestmt ::= testexpr c_stmts_opt JUMP_FORWARD else_suite _come_from
|
ifelsestmt ::= testexpr c_stmts_opt JUMP_FORWARD else_suite _come_from
|
||||||
|
|
||||||
forstmt ::= SETUP_LOOP expr _for designator for_block POP_BLOCK opt_come_from_loop
|
forstmt ::= SETUP_LOOP expr _for designator for_block POP_BLOCK opt_come_from_loop
|
||||||
forstmt ::= SETUP_LOOP expr _for designator for_block POP_BLOCK NOP opt_come_from_loop
|
whilestmt ::= SETUP_LOOP testexpr l_stmts_opt JUMP_BACK POP_BLOCK opt_come_from_loop
|
||||||
whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK POP_BLOCK opt_come_from_loop
|
whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK POP_BLOCK opt_come_from_loop
|
||||||
whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK POP_BLOCK NOP opt_come_from_loop
|
|
||||||
|
|
||||||
# Python < 3.5 no POP BLOCK
|
# Python < 3.5 no POP BLOCK
|
||||||
whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK opt_come_from_loop
|
whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK opt_come_from_loop
|
||||||
whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK NOP opt_come_from_loop
|
|
||||||
whileTruestmt ::= SETUP_LOOP return_stmts opt_come_from_loop
|
whileTruestmt ::= SETUP_LOOP return_stmts opt_come_from_loop
|
||||||
while1stmt ::= SETUP_LOOP l_stmts _come_from JUMP_BACK opt_come_from_loop
|
while1stmt ::= SETUP_LOOP l_stmts _come_from JUMP_BACK opt_come_from_loop
|
||||||
|
|
||||||
|
# FIXME: investigate - can code really produce a NOP?
|
||||||
|
whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK NOP opt_come_from_loop
|
||||||
|
whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK POP_BLOCK NOP opt_come_from_loop
|
||||||
|
forstmt ::= SETUP_LOOP expr _for designator for_block POP_BLOCK NOP opt_come_from_loop
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def p_genexpr3(self, args):
|
def p_genexpr3(self, args):
|
||||||
|
Reference in New Issue
Block a user