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
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
4f8714ff4c
include offset for starting listcomp
2016-06-06 10:10:19 -04:00
rocky
b6e7f365c5
Remove the JUMP_ABSOLUTE in comp_for altogether
...
Supposition is this was added as a result of a bug in my code from
earlier.
If we find we need it, we'll add it back again.
2016-05-21 05:45:56 -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
09bf364d89
Fix Python 3.x bug in function VAR and KW args
2016-05-16 20:41:22 -04:00
rocky
bdd7df6040
Python 2 loop scanner detection in Python 3
...
scanner*.py: Make scanner27 and scanner3 more aligned
Makefile: we can run py.test on Python 3.5
HISTORY.md: grammar changes
2016-05-16 13:40:55 -04:00
rocky
ebfe5e3ba8
Python3 mklambda bug
2016-05-15 21:16:53 -04:00
rocky
b5eaa9445d
Python 3 genexpr bug
2016-05-15 20:59:28 -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
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
4cba5a28ef
3.4 if/while bug
2016-05-15 05:37:44 -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
rocky
5babde61c4
Misc changes
...
Back off of some validation tests for now.
2016-05-12 11:22:00 -04: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
rocky
631d7be921
Redo make_function for *, arg
...
main(*, file='foo') and things like that now work
2016-05-11 20:34:20 -04:00
rocky
b134d08e91
add pos_arg ::= expr to make params of fns clear
2016-05-10 18:05:25 -04:00
rocky
8a66fd0be3
* call WIP
2016-05-09 20:23:54 -04:00
rocky
9ae45b363f
3.2 class bug
2016-05-09 20:11:25 -04:00
rocky
b287a305ea
3.2 WhileTrue grammar bug
2016-05-09 19:39:37 -04:00
rocky
d823dfb5d3
Python 3 "while True" bug
2016-05-09 14:44:34 -04:00
rocky
8b9e0eca42
Some grammar cleanup
2016-05-09 11:58:05 -04:00
rocky
41f9e9e53e
Track recent lc changes in fragment semantics
2016-05-09 06:57:13 -04:00
rocky
e63bcd54e9
Another Python 3 closure grammar bug
2016-05-09 06:21:57 -04:00
rocky
e37b197db9
Fix Python 3 list comprehansion closure bug
2016-05-09 05:03:49 -04:00
rocky
196495c40e
Python 3 DUP_TOP_TWO bug
2016-05-08 18:41:59 -04:00
rocky
dddb486d78
DRY parse{2,3} code
...
Add test for last bug.
2016-05-08 18:15:07 -04:00
rocky
ce2ae463c4
Fix another if/loop parse bug
2016-05-08 18:07:04 -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
406df297df
Python 3 build class parsing
2016-05-07 23:32:59 -04:00
rocky
36ffd4c31f
Handle Python 3 yield from
...
Start dealing with MAKE_FUNCTION flags - not done yet.
2016-05-07 11:33:18 -04:00
rocky
039c115679
More Python3 deparsing
...
- grammar rule genexpr
- More Python3 docstring formatted
2016-05-06 23:51:25 -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
05733c6171
Python 3.5 abc.py bug distilled
2016-05-05 04:11:53 -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
dcbf8d2cf7
Bug in 3.5 constant map parsing
2016-05-01 20:54:42 -04:00
rocky
313e468bdc
Forgot to define Python3ParserSingle
2016-05-01 07:18:29 -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
0a32a16d88
Python 3.0..3.2 bug in LOAD_FAST/STORE_LOCAL
...
LOAD_FAST '__locals__'
STORE_LOCALS ''
Also have to adjust doc constants for this crap
astnode.py: minor format change
2016-04-30 09:12:03 -04:00
rocky
f3a4e6ee54
Pevious commit grammar change is Python 3.5 and up
2016-04-30 04:03:38 -04:00
rocky
43f5c5dcca
Python 3.5 if statments decompyle
...
Sometimes it doesn't need JUMP_FORWARD _come_from _come_from
For example:
def handle2(module):
if module == 'foo':
try:
module = 1
except ImportError as exc:
module = exc
return module
And:
if __name__:
for i in (1, 2):
x = 3
2016-04-30 03:51:54 -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