rocky
4e6e38358d
3.x list comprehenions list_if_not, comp_ifnot bug
...
Saw only list_if_not bug, but might also be applicable
to comp_ifnot
2016-07-14 11:30:42 -04:00
rocky
723ba1365f
"return None" -> "pass"
...
Python 3.4 classes have what looks like a return None, but this
is invalid syntax. So for now we'll remove all "return None"s.
There may be a "pass" in there instead.
2016-07-13 13:37:07 -04:00
rocky
772c67fcd7
Debugging smutz caused verify failures
2016-07-13 09:53:51 -04:00
rocky
bc86b73cf0
Document/correct hide_internal and store_locals
2016-07-12 12:07:48 -04:00
rocky
b99f196d18
Better 3.2/33 store_locals handling
2016-07-12 09:46:46 -04:00
rocky
78f24f9c66
Python 3.2 & 3.3 handle STORE_NAME better
2016-07-11 23:24:52 -04:00
rocky
8e0413273b
Fix some Python set comprehension bugs
2016-07-11 18:23:05 -04:00
rocky
62e60817f6
Start handling Pyton 2.4 bytecodes
2016-07-08 15:00:23 -04:00
rocky
694e1edd00
More offsets captrued Add %b specifer
...
%b - associate text before specifier
pysource.py: small doc correction
2016-07-03 21:57:46 -04:00
rocky
261c60efd9
More 2.6.9 bugs fixed
...
* break loop parsing bug
* ifelsestmt semantic-action bug in handling else
2016-06-30 21:42:49 -04:00
rocky
bd5b2be8fa
Oh Python and your f*'d notions of spacing
2016-06-30 07:02:34 -04:00
rocky
73a043830c
2.6.9 list comprehension
2016-06-30 06:51:20 -04:00
rocky
4b0b7f76dc
2.6 genexpr. Some not quite right.
2016-06-29 23:32:29 -04:00
rocky
32ca0c4482
2.6 ifelse/while modifications
2016-06-29 12:46:02 -04:00
rocky
0af3dd28bc
Weird 2.6.9 list comprehension
2016-06-28 17:37:13 -04:00
rocky
40d4348757
2.6 list comprehensions
2016-06-27 17:53:06 -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
982a6010a1
WIP 2.6 redo bytecode handling
...
Don't try to convert 2.6 bytecode to 2.7 psuedo bytecode.
Instead adjust grammar and semantic actions.
Down the line we should to segregate version changes in
semantic code better.
2016-06-24 09:23:30 -04:00
rocky
493ffa62fe
Python 3.5 and setcomp_func's
...
A comprehension walk in Python 3.5 needs to include
setcomp_func's.
2016-06-22 22:21:54 -04:00
rocky
126af429fb
differing ways to do "yield from" in 3.3-3.5
2016-06-22 16:29:58 -04:00
rocky
480e6a125f
Add Python 3.5 yield from and ...
...
* fragments.py: Handle pass stmt sometimes
* scanners: regularize Python 2 scanners some
* test/test_pyenvlib.py: add python 3.5.1 option
2016-06-22 13:08:11 -04:00
rocky
faa630902d
Python 3 comprehension fixes
...
Sync up fragments.py
2016-06-22 10:50:11 -04:00
rocky
f576853f19
More 3.2 LOAD_CONST removal
...
More python3 custom grammar DRYing
2016-06-22 09:52:20 -04:00
rocky
c77e4a9dc9
Python 3.2 MAKE_FUNCTION adjustment
2016-06-22 02:11:59 -04:00
rocky
75592795b3
Python 2.6 tolerance
2016-06-22 00:05:19 -04:00
rocky
649da8fbc0
Btter Python 3 fragment set comprehensions ...
...
fragment handling for "break" and "continue"
2016-06-21 23:40:26 -04:00
rocky
cdb02fa591
Handle fragment key/value offsets better
2016-06-21 04:08:36 -04:00
rocky
051ed90185
Bang on Python 3.2 decompiling.
2016-06-20 23:05:12 -04:00
rocky
24d4cfb150
Python 3 set comprehension bug
2016-06-20 18:47:03 -04:00
rocky
80cfe62f36
For Python 3: add LOAD_CLASSDEREF op
2016-06-20 13:04:21 -04:00
rocky
8c374904f5
3.x make closure kw args handling bug
2016-06-20 10:01:18 -04:00
rocky
078f15013e
Python 3.x class decorator bug
2016-06-20 00:32:00 -04:00
rocky
efb4012087
Correct kw+pos args semantics on 3.3
...
Sync fragment make_function code
2016-06-19 21:41:40 -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
5c268ee2a6
2.7 and 3.x bug in dict comprehensions
2016-06-19 13:45:07 -04:00
rocky
5d86a4e536
Python 3 except clause parsing bug
2016-06-19 10:30:39 -04:00
rocky
ff014a8393
Cover more offsets
2016-06-19 04:22:55 -04:00
rocky
10b95cd9a8
Fix * in multi-target assignment
2016-06-19 02:31:19 -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
c4912be570
Not-quite-right 3.5+ * handling
2016-06-14 11:32:17 -04:00
rocky
fe56ca96c2
Add fragment offsets for more instructions
...
Save and restore class name across switches
2016-06-07 23:21:01 -04:00
rocky
e9c8c11071
Set comprehension code is not in 2.6
...
So we need more care in test programs.
2016-06-06 18:06:44 -04:00
rocky
bdfe14069c
Add class offset of Python3
2016-06-06 17:26:08 -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
4f8714ff4c
include offset for starting listcomp
2016-06-06 10:10:19 -04:00
rocky
ebcb1d08f4
Limited support for Python 2.3
2016-06-03 10:20:52 -04:00
rocky
eefbc40eef
option to show asm and DRY.
...
Get ready for some 2.3 support
2016-06-03 09:25:20 -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
fca233419f
Remove dis3. Fix in 3.x list if not comprehension
2016-05-28 12:05:38 -04:00