Commit Graph

202 Commits

Author SHA1 Message Date
rocky
65b9ecee31 Fix some 2.3 bugs; add more 2.3-6. tests 2016-07-09 17:33:54 -04:00
rocky
047c95a1e5 2.3 while1stmt bug 2016-07-09 13:13:10 -04:00
rocky
ac45e5757c Redo Python 2.3 to be more like the rest 2016-07-09 09:11:04 -04:00
rocky
d6b35d57e4 DRY scanner code. Allow 2.4 decompile from 3.x 2016-07-08 21:37:09 -04:00
rocky
11eddb7940 Add more 2.4 and 2.6 tests 2016-07-08 18:24:14 -04:00
rocky
62e60817f6 Start handling Pyton 2.4 bytecodes 2016-07-08 15:00:23 -04:00
rocky
e020f8f9a9 2.5/2.6 RETURN_VALUE bug 2016-07-08 12:02:28 -04:00
rocky
b640d42113 2.5/2.6 fn name clash
fixes list conprehension problem
2016-07-08 10:38:56 -04:00
rocky
1a2aa41f7d Python 2.5 with statement 2016-07-08 10:30:49 -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
663e724788 Remove 2.7 asynchat verifcation for now 2016-07-07 13:56:04 -04:00
rocky
06023c247d while1 bug in 2.6 and 2.7 2016-07-07 13:08:00 -04:00
rocky
8b305f78f4 2.6 POP_TOP and POP_JUMP_IF bugs 2016-07-07 07:03:20 -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
a1dab0fa3a Add 10_if_else_ternary.pyc for 2.5 2016-07-04 10:21:38 -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
d87b5fe34c 2.6 conditional in list comprehension bug 2016-06-30 19:51:13 -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
ae980e4f64 Base 2.5 off of 2.6. Some other small bugs. 2016-06-28 03:31:32 -04:00
rocky
40d4348757 2.6 list comprehensions 2016-06-27 17:53:06 -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
9a2369830d Python 3.5 if handling...
Allow RETURN_END_IF in a return statement
May want to do this in other versions as well, but right now
we only need it here.
2016-06-22 22:09:06 -04:00
rocky
f999e6a33a Another kind of yield_from on 3.5 2016-06-22 16:48:03 -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
c77e4a9dc9 Python 3.2 MAKE_FUNCTION adjustment 2016-06-22 02:11:59 -04:00
rocky
1a83c849dc Python 3 needs Python2's RETURN_END_IF
Make python2 and python3 scanner look more the same
2016-06-20 22:12:29 -04:00
rocky
a6fbe4c636 previous 2.7 class decorator bug fixed in 3.x 2016-06-20 20:19:17 -04:00
rocky
24d4cfb150 Python 3 set comprehension bug 2016-06-20 18:47:03 -04:00
rocky
59780483a8 Python 3.x class bug using subclass fns 2016-06-20 17:20:47 -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
bd809dc08b Another 3.x bug involving jumps 2016-06-19 17:47:43 -04:00
rocky
109d99bc62 Revert assert test on 3.4 until we figure out how to address 2016-06-19 13:59:24 -04:00