Commit Graph

236 Commits

Author SHA1 Message Date
Daniel Bradburn
b3182e804d showasm and showast now accept file like objects which are used for writing the the asm or ast to. 2016-06-01 10:02:04 +02:00
rocky
4398b5b2e0 Use xdis for code, magics, and marshal 2016-05-27 19:18:06 -04:00
rocky
09f6286bec Fix 3.x generator bug...
found by Daniel Brandburn. See
af61622960
2016-05-21 05:09:27 -04:00
rocky
9462e33f48 Fix Python 3.x bugs
* class definitions made via closures
* Add "make check-short" to top-level
* parse3.py: Python 3.3 uses STORE_LOGALS
2016-05-17 04:00:54 -04:00
rocky
6be6632e96 Bug in Python 3.x genexpr 2016-05-15 19:35:45 -04:00
rocky
bb31629c35 pydisassemble disassemble without grammar mangling
Some other small cleanups as well
2016-05-15 13:55:21 -04:00
rocky
56dc270145 Fix verify bug in 3.2 2016-05-15 06:40:12 -04:00
rocky
b134d08e91 add pos_arg ::= expr to make params of fns clear 2016-05-10 18:05:25 -04:00
rocky
8b9e0eca42 Some grammar cleanup 2016-05-09 11:58:05 -04:00
rocky
dddb486d78 DRY parse{2,3} code
Add test for last bug.
2016-05-08 18:15:07 -04:00
rocky
b11f6d94f7 come_from_opt handles and/or precidence properly
main.py: give a better error message when file is not found.
2016-05-08 15:51:54 -04:00
rocky
400153ea53 Yet another Python 3.x COME_FROM grammar problem 2016-05-08 13:08:12 -04:00
rocky
a65a8bb68e Fix 3.2 for/if loopback bug
problem was handling in Python 3.2

 for ...
    if ...
    else:
      ....
      jump for
    come from if
    jump for

In later Python 3's a "come from" is removed.

Also, start to DRY parser{,2,3} grammar rules.
2016-05-08 12:09:50 -04:00
rocky
c58481a9eb More Python 2 and 3 deparsing bugs fixed
* while + if break
* try + finall /pass
2016-05-05 20:56:41 -04:00
rocky
c85496a92d Handle 3.5 with [as]
scanner35.py: Fix a small variable-name typo
2016-05-04 22:15:03 -04:00
rocky
feec241da8 Misc: long lists, DRY 2/3 grammars, '%' count
parse{2,3,r}.py: DRY Python expressions between Python 2 and 3
pysource.py, fragment.py, parser.py: handle long lists by grouping in chunks of 32
and 256
bin/uncompyle6: count %s properly
2016-05-02 21:25:16 -04:00
rocky
dc80b140c6 Start to DRY Python2 and Python3 grammars
Separate out 3.2, and 3.5+ specific grammar code
2016-05-01 07:13:36 -04:00
rocky
3e49aa56bb spark -> spark_parser 2016-04-28 19:03:51 -04:00
rocky
40badefe9d Use external spark now. 2016-04-27 23:04:31 -04:00
rocky
76768c889a Start to DRY Python 2 and Python 3 grammar code
Move common code to parser.py
2016-04-18 05:32:30 -04:00
rocky
8ae7e22f2e Add simgle-mode compilation 2016-04-18 05:14:47 -04:00
rocky
7e0526d627 Towards single compilation 2016-04-17 22:47:03 -04:00
rocky
31ebe88b38 Start to DRY opcode code. Limited support for decopyling Python 3.5 2016-01-02 22:59:02 -05:00
rocky
d3a32b6877 Show details on parsing assert failures. 2015-12-30 23:17:57 -05:00
rocky
116263dd8c inspect.iscode -> hasattr for now until we write a cross-version iscode 2015-12-29 17:05:48 -05:00
rocky
44cd349cc7 DRY Python3 scanner code. Some cross version handling fixed.
Some Python 3.2 and 3.3 deparse fixes.
2015-12-27 04:43:35 -05:00
rocky
217b1b6f54 main.py, pysource.py DRY deparse_code from main. Is better on showing
exception errrors such as when a pyc file is not found
uncompyle6: Hook in --grammar option to showing grammar.
rules. Default now does not show timestamp.
2015-12-22 05:15:00 -05:00
rocky
347219a009 Python3 postional arguments. Clean up code more along the lines of uncompyle3. 2015-12-18 17:07:35 -05:00
rocky
2dc8375ed0 Supoer multiple parsers, specifically for Python2 and Python3. In the
process some OO cleanup and some global variable hacks removed.
2015-12-16 22:08:29 -05:00
rocky
a362b47b15 Add LICENSE. Add demo programs and DRY code a little 2015-12-16 16:23:18 -05:00
rocky
a04a9ec294 uncompyle6/dparser -> uncompyle6/parser 2015-12-14 15:01:57 -05:00
rocky
87a3bf1935 parser -> dparser so as not to conflict with python3's parser. 2015-12-12 08:44:21 -05:00
rocky
00d17461fc Python3 compatibility 2015-12-12 06:43:15 -05:00
rocky
39842cef1f Lint stuff 2015-12-11 18:49:23 -05:00
rocky
b3c8cbb83f More python2 -> python3 compatibility 2015-12-11 18:14:47 -05:00
rocky
d3c732298c Start process of making python3 compatible 2015-12-11 13:44:23 -05:00