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
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
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
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
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
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
rocky
4398b5b2e0
Use xdis for code, magics, and marshal
2016-05-27 19:18:06 -04:00
Daniel Bradburn
ebee84228b
Fixed bug in pysource / fragments where the use of deparse_code from fragments could break subsequent calls to deparse_code from pysource due to amending to the global TABLE_DIRECT.
2016-05-25 20:48:35 +02:00
rocky
79f4893cd9
final RETURN removal bug
...
We want to remove a final return from a module, but otherwise not.
Note we'll no lonager be able to verify functools.pyc as there
is now a return after a raise statement. That will have to be
delt with separately.
May address Issue #17 .
2016-05-23 22:41:46 -04:00
rocky
f834b46b84
Fragment fixes
...
fragments.py:
* Use "%x" specifier if for iterators
* Add '%D' interpretation
pysource.py:
TABLE_DIRECT can get messed up from running fragments
duplicate "%x" specifier to igore fragment stuff
2016-05-20 06:18:41 -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
09a01dc783
Correct bugs in Python 3.2 source generation
2016-05-16 15:50:45 -04:00
rocky
6be6632e96
Bug in Python 3.x genexpr
2016-05-15 19:35:45 -04:00
rocky
2c121545f0
Fix bug in Python 3 lambda expression handling
...
Some other small cleanup changes
2016-05-15 18:14:22 -04:00
rocky
2fdcdcb154
Fix bug in kvlist handling on Python 2.7
...
Created from previous DRY code in Python 3
2016-05-15 03:47:30 -04:00
rocky
b9692c9b1f
DRY scanner34 and scanner35
...
handle 3.0..3.4 build maps as key/value pairs
2016-05-15 03:29:08 -04:00
Teyut
ca10f5652f
Fix for class decorators
2016-05-13 17:59:12 +02:00
rocky
6f6f1db576
Misc fixups/cleanups
...
* parse3.py Had botched if-for-else test by grammar addition
* semantics/*.py: Show errorstack in failed parse when -g (requires sparck 1.2.0)
* some optimization in scanner3
2016-05-12 09:27:25 -04:00