rocky
9e815d8d79
2.6 and before COME_FROM handling...
...
also, add in some of the test bytecode from the python-2.4 branch
2018-03-04 21:42:59 -05:00
rocky
def9e1676b
look for "closure" node from the end...
...
Fix previous commit. Looking from the beginning fails because there are
a variable number of default values. From the end though seems fixed.
2018-03-04 19:28:51 -05:00
rocky
35fcb1edf1
Picking out 3.3 function default values
2018-03-04 18:40:08 -05:00
rocky
ffbce9cb77
3.6 class signature problems...
...
This time getting the class name in when a "load_closure" is added.
2018-03-04 17:25:42 -05:00
rocky
dc1971f559
Prevent 3.6 call_kw deriving itself..
...
Was causing some calls to be parsed incorrectly
2018-03-04 16:30:22 -05:00
rocky
778f92b6f4
Fix a 3.6 CALL_FUNCTION_EX_KW problem..
...
and remove 3.6 customization from pysource.
2018-03-04 09:18:57 -05:00
rocky
a8260edded
3.6 function/class prototype fixes..
...
Had got the order backwards in: class Foo(a=B.c)
String defaults in default parameter tuples need to be quoted
2018-03-03 09:12:02 -05:00
rocky
7200d298a5
Back off unconditional_true test for now - Sigh
2018-03-02 10:06:38 -05:00
rocky
bb13988126
Instruction fixup broken 3.x make_func...
...
for handling default values
2018-03-02 08:03:51 -05:00
rocky
8d503682b3
Use get_inst and self.insts more..
...
needed more in 3.6 to handle EXTENDED_ARGS before JUMP_xxx
2018-03-02 07:15:23 -05:00
rocky
26e1df835c
Better "continue" detection for 2.7
2018-03-01 23:34:26 -05:00
rocky
6807015526
Better CONTINUE detection on 3.x
...
Helps when line numbers have been stripped say in optimization
2018-03-01 22:47:36 -05:00
rocky
99d9beac76
Code generation changes between 3.4.2 and 3.4.4
2018-03-01 21:23:44 -05:00
rocky
452d17a6c3
3.4 while1 bug fix
2018-03-01 18:56:08 -05:00
rocky
2edc757b6f
more deparse_code -> code_deparse API additions
2018-03-01 16:55:45 -05:00
rocky
ef076c065b
Imports yet again
2018-03-01 08:45:31 -05:00
rocky
a0e3759f76
Towards better 3.6 parameter handling
...
3.6 is still a mess though.
2018-03-01 08:09:53 -05:00
rocky
f7439f506a
Fix 3.6 MAKE_FUNCTION for kw params...
...
and remove duplicated attributies in pattr of MAKE_FUNCITON token.
2018-03-01 07:14:46 -05:00
rocky
257c3ca454
Exclude early versions of Python in last change
2018-03-01 00:00:23 -05:00
rocky
e23315b2e6
Fallout from more precise token attributes
2018-02-28 23:35:52 -05:00
rocky
413df51dfa
Token.format(), shows CONST values better...
...
We were not showing the proper value for None, or False.
Start a unit test for Token().
I think this cleans the Token class up a little more.
More work is needed for MAKE_FUNCTION...
Note: Some debug stuff is commented out in make_funciton.py for upcoming work.
2018-02-28 22:05:12 -05:00
rocky
1fe432585e
Keep pre-3.6 listcomp code patterns in 3.6
2018-02-28 16:22:33 -05:00
rocky
b128e4fde6
Fix 3.6+ nested list comprehensions
...
Modified "load_closure" rule and
changed semantic actions since LOAD_CLOSUREs are stored
inside a MAKE_TUPLE.
FIXME: Not sure if we have additional "if" clauses correct. Test and correct
2018-02-28 11:13:52 -05:00
rocky
7eb19a8617
revise API for aligner
2018-02-27 22:02:51 -05:00
rocky
b6d96929cb
Start simplifying higher-level API
2018-02-27 17:48:26 -05:00
rocky
68692abaf6
Start changing API to make version optional...
...
and use debug option dictionary
2018-02-27 11:42:29 -05:00
rocky
55a10d9e20
Remove trepan debug
2018-02-27 11:16:27 -05:00
rocky
e9d1b86a5b
Revise comprehension walking in 3.x...
...
less rigidly and with less magic and more verbiage as to what's going on
2018-02-27 11:13:55 -05:00
rocky
afb90dd12e
3.6+ try/finally bugs
...
Another day another 3.6 bug fix attempted
2018-02-27 10:37:18 -05:00
rocky
c43c9a19aa
Move to GPL3 license
2018-02-27 06:40:36 -05:00
rocky
d3f5ec6f30
Fix Bug in recalculating prev_op ...
...
in removing EXTENDED_ARG
2018-02-27 06:15:37 -05:00
rocky
5c2d0484e5
3.6 MAKE_FUNCTION workarounds
...
Still wrong, but points to diretions for improvements
2018-02-26 09:10:00 -05:00
rocky
31de0d2af5
3.6 keyword args bugs in CALL_FUNCTION_KW
2018-02-26 07:44:37 -05:00
rocky
195075ac01
3.6 while-if-while bug
2018-02-26 01:27:00 -05:00
rocky
d09e820d89
Use get_inst() to paper around EXTENDED_ARG
2018-02-25 23:02:23 -05:00
rocky
b584a0f6b0
More EXTENDED_ARGS woes on 3.6+
2018-02-25 22:42:18 -05:00
rocky
493835b8cd
bild_lines API changed. Adjust test for change
2018-02-25 21:27:09 -05:00
rocky
f6aa775d58
EXTENDED_ARG in 3.6 fixes
...
3.6 uses EXTENDED_ARG more often appearing as the targets of jump
instructions at the beginning of line statements. All of this wreaks
havoc in the current way that our instruction processing works
2018-02-25 21:06:57 -05:00
rocky
2f6a85d538
Merge branch 'master' into extended_args
2018-02-25 19:19:32 -05:00
rocky
8c0f256b78
Sync python2 and python3 scanner/injest code more
2018-02-25 09:42:04 -05:00
rocky
6e2ca8f53d
Add another guard on a test
2018-02-25 08:59:12 -05:00
rocky
c1ed6dea62
Merge branch 'master' into extended_args
2018-02-25 08:57:11 -05:00
rocky
ab1c2ec5bb
Merge branch 'master' of github.com:rocky/python-uncompyle6
2018-02-25 08:53:15 -05:00
rocky
e3d0b1b9ce
move more toward instruction-based ingest...
...
rather than bytecode-based. This cleans up code
up a little bit better by using more general instructions
2018-02-25 08:51:50 -05:00
rocky
aaf83ea35d
WIP: Handle EXTENDED_ARGS better
2018-02-25 08:22:07 -05:00
Yiming Wang
3545c7dc6f
Keep global statements in fixed order
2018-02-24 22:22:50 +08:00
rocky
8463221527
yield before 2.4 may need "None"
2018-02-22 22:26:56 -05:00
rocky
30fbdff29c
More 2.4-2.6 try vs try/else determination
2018-02-22 20:14:52 -05:00
rocky
a2b6ebc669
grammar tree -> parse tree
2018-02-22 14:34:42 -05:00
rocky
09efb24a3e
Start distinguishing AST from grammar tree
2018-02-22 11:17:09 -05:00