rocky
a92e6c9688
Bugs in Python 2.6- "and" and "lambda" handling ..
...
and clean up verify output
2016-12-28 04:54:11 -05:00
rocky
6c546fe6e1
WIP : Add THEN to disambigute from "and"
2016-12-27 22:45:08 -05:00
rocky
1e324e0e8d
Misc changes
...
scanner26.py: make scanner2.py and scanner26.py more alike
scanner2.py: check that return stmt is last in list. (May change)
main.py: show filename on verify error
test/*: add more
2016-11-26 21:41:45 -05:00
rocky
31d387749b
More AST checking
...
Small fixes in output format
2016-11-16 07:28:19 -05:00
rocky
22dee55ff7
Python 2.1-2.6 bug in list comprehension
2016-10-08 19:51:57 -04:00
rocky
647248dfc8
A couple more 2.6 (and below) bugs fixed
...
* Detect "return None" inside if statement
* another case of triple ==, ==, ==
scanner2.py: detect_structure: descriminate more on parent type
2016-09-04 04:10:08 -04:00
rocky
f4ac13ef0f
Python 2.5-2.6 generator bug
...
Adjust for variable position of list iteration node in a genexpr node
2016-09-03 21:37:32 -04:00
rocky
75c718bc5c
Python 2.2..2.6 bug in a == b == c == d
...
Fix was to remove some come froms. Feels a little hacky though.
2016-09-03 10:05:55 -04:00
rocky
b6fd9088b8
Python 2.3..2.6 "return" bug
...
In Python 2.6 and possibly down to 2.3 we need to issue "return" not
"return None" inside a generator. So check for that "return None"
inside n_return and issue "return" for that.
2016-09-03 08:04:52 -04:00
rocky
52a35e6c62
Fix Python 2.4-2.6 comp_for text generation...
...
Makefile: tolerate pypy 5.3.x
Rest: fix semantic action rule for comp_for and test this
2016-09-03 00:30:48 -04:00
rocky
f1bb40f485
Python 2.6- bug: RETURN_ENDIF, POP_TOP ..
...
POP_TOP should be excluded as a potentional statement beginning
2016-09-02 21:08:44 -04:00
rocky
1d567d5d9a
Handle Python 2.6 and below "except <cond>, <var>"
2016-09-01 02:20:07 -04:00
rocky
6f2cdc164d
Handle Python 2 vs 3 raise syntax change
...
raise_stmt ::= "raise" expression "," expression
becomes:
raise_stmt ::= "raise" expression from expression
raise expr, expr -> raise
2016-08-30 00:42:24 -04:00
rocky
5ffd9b2be7
2.6 and 2.7 while1 grammar rule
...
Fixes issue #40
2016-07-27 13:19:42 -04:00
rocky
65b9ecee31
Fix some 2.3 bugs; add more 2.3-6. tests
2016-07-09 17:33:54 -04:00
rocky
11eddb7940
Add more 2.4 and 2.6 tests
2016-07-08 18:24:14 -04:00
rocky
e020f8f9a9
2.5/2.6 RETURN_VALUE bug
2016-07-08 12:02:28 -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
06023c247d
while1 bug in 2.6 and 2.7
2016-07-07 13:08:00 -04:00
rocky
f865ecaa58
2.6.9 bug: multiple COME_FROMs via "or"/"assert"
2016-07-06 21:07:40 -04:00
rocky
14b4f8e2da
2.6.9 elif with multiple COME_FROMs
2016-07-06 20:56:29 -04:00
rocky
aa65b098a4
< 2.7 bug in not distinguishing raise from assert
2016-07-06 19:52:02 -04:00
rocky
12d22c055f
Python 2.6 with as stmt
2016-07-02 22:24:28 -04:00
rocky
4dff02b19c
2.6 ifelsestmt
2016-07-01 17:15:00 -04:00
rocky
71822bf9b3
Another 2.6 return_stmt bug
2016-07-01 07:51:15 -04:00
rocky
fa6ae76a64
2.6 return_stmt bug
2016-07-01 06:50:06 -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
73a043830c
2.6.9 list comprehension
2016-06-30 06:51:20 -04:00
rocky
da9aeecc60
<= 2.6 weird jump out of try block
...
Allow COME_FROMs to appare via JUMP_FORWARD in
tey/except blocks
2016-06-30 06:21:13 -04:00
rocky
4b0b7f76dc
2.6 genexpr. Some not quite right.
2016-06-29 23:32:29 -04:00
rocky
d7f7748000
2.6.9 assert 2-arg bug
2016-06-29 22:28:52 -04:00
rocky
5b2198a4a6
A 2.6 comprehension bug
2016-06-29 21:24:19 -04:00
rocky
32ca0c4482
2.6 ifelse/while modifications
2016-06-29 12:46:02 -04:00
rocky
36432c7488
Add more come_from_pops
2016-06-28 14:43:58 -04:00
rocky
74c6b38fd8
2.6. with fn()
2016-06-28 10:54:01 -04:00
rocky
460ad129cc
WIP 2.6 j{f,b}_pop fix
2016-06-27 16:16:35 -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
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
rocky
9f7d36f8fb
Handle Ternary "or". Remove mention of uncompyle3
...
uncompyle3 removed per Mysterie's request
[Fixes Issue #5 ]
2016-04-07 07:18:46 -04:00
rocky
6bd61deccc
Add verify tests. Add Python 2.6 bytecode and use.
2015-12-26 19:14:53 -05:00
rocky
97f48f1322
Frank Ebersoll's grammar fix to make "assert isinstance(1, int)" work.
2015-12-17 21:41:47 -05:00