Commit Graph

33 Commits

Author SHA1 Message Date
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