rocky
62e60817f6
Start handling Pyton 2.4 bytecodes
2016-07-08 15:00:23 -04:00
rocky
6f5dce342f
Start going over Python 2.5 bytecode
...
Fix 2.6 with bug
2016-07-08 07:01:48 -04:00
rocky
974b11ff55
Another 2.6 while stmt. Clean up grammar a little
2016-07-03 10:50:19 -04:00
rocky
fa6ae76a64
2.6 return_stmt bug
2016-07-01 06:50:06 -04:00
rocky
ae980e4f64
Base 2.5 off of 2.6. Some other small bugs.
2016-06-28 03:31:32 -04:00
rocky
21216b4eb1
2.6 try except hadnling works now
2016-06-27 21:54:29 -04:00
rocky
fa7d8f955a
WIP Python-2.6 but don't remove opcodes
...
The scheme for turning 2.6 bytecode into 2.7 psuedo bytecode
I think is a lose.
I won't work for fragment handling.
Instead, change the grammar and syntax rules
This also has the benefits:
* We see how code generation changed over releases
by looking at grammar and semantic rules rather
than arbitrary code
* We can better assocate with what's running
(in a sense this is a restatement of broken fragment
handling)
* With the right structure in place we are in a better position to
handle 2.5, 2.4, etc. That is, after a while, the incremental changes
to get say from python 2.3 bytecode to python 2.7 are great.
Conflicts:
uncompyle6/parsers/astnode.py
2016-06-24 18:15:59 -04:00
rocky
dc88bcf69f
DRY parse grammar a little
...
More LOAD_CONST grammar removal in 3.2
2016-06-22 08:36:01 -04:00
rocky
f215888374
DRY redundant custom rule checking code
2016-06-20 19:06:45 -04:00
rocky
8b50dda9ef
Start 3.3 positional and kw parameters
...
Semantic routines need more work.
2016-06-19 19:18:45 -04:00
rocky
f8ccb8065e
3.4 tryifelse bug
2016-06-19 11:15:36 -04:00
rocky
5d86a4e536
Python 3 except clause parsing bug
2016-06-19 10:30:39 -04:00
rocky
d7b79c2b59
3.4 dictionary comprehension bug
...
Sync up fragment code with recent changesa
2016-06-19 00:49:22 -04:00
rocky
73df5f3737
3.4 set comprehension if bug
2016-06-18 23:43:50 -04:00
rocky
724faf9a3a
Go over grammars..
...
* Reduce duplication
* Remove unused grammar rules
* Add grammar checking when parsers run as standalone
2016-06-17 22:59:17 -04:00
rocky
70d4841a6a
Fix python 3 set comprehension and ...
...
Add a few set/list comprehension offsets for Python 3
2016-06-06 17:04:59 -04:00
rocky
ebcb1d08f4
Limited support for Python 2.3
2016-06-03 10:20:52 -04:00
rocky
3da4c9ce77
Start custom grammar for 2.6 and ...
...
fix a python 2.6.9 deparse with lc if+and+not
2016-06-02 19:16:27 -04:00
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