rocky
ecbbc7dfea
Custom PyPy rules for tryfinallysmt, assign{2,3}
2016-07-26 16:49:14 -04:00
rocky
6c5bd6289f
More PyPy grammar rules
...
* assert one and two-arg form
* trystmt
Simplify adding multiple grammar rules
2016-07-26 10:21:12 -04:00
rocky
f0a8505887
Add grammar for PyPy 2-arg assert
2016-07-25 22:36:02 -04:00
rocky
04cc80b0d6
PyPy BUILD_MAP_n. Reinstate bytecode tests
2016-07-25 21:53:56 -04:00
rocky
476eb50868
Handle PyPy JUMP_IF_NOT_DEBUG
...
Update README.rst to note PyPY and reorganize a little
2016-07-25 09:18:03 -04:00
rocky
1c50e34c30
PyPy support
...
* Use proper PYPY 32 opcodes
* handle opcodes LOOKUP_METHOD and CALL_METHOD
* Administrative stuff for PyPy
2016-07-24 18:54:51 -04:00
rocky
7c4316d4fb
Start handling pypy 2.7
...
Need to understand whether we care compiling pypy.
Pypy 2.7 list comprehensions are different and use
its own opcode.
2016-07-21 02:58:50 -04:00
rocky
063e517a7c
Better parse error formatting
...
Start to move away for compiler-oriented terminology:
Favor "instructions" over "tokens".
Syntax error -> Parse error.
2016-07-17 16:27:17 -04:00
rocky
cd8cbf9200
Add 3.5 matrix mult ops
...
We now run 3.5 verifycation so we need to remove some
of the tests that fail to verify pending fixing.
2016-07-15 12:12:19 -04:00
rocky
0ee52aeeef
Isolate pseudo op IMPORT_NAME_CONT
...
I think this is a holdover from pre 2.3 days. Possibly it can be dropped altogether.
2016-07-14 21:05:09 -04:00
rocky
c9d1f72424
Attempt to get 3.5 RETURN_END_IF working
...
This feels hacky and I'm not sure is quite right.
Untili we understand better what to do though, we'll
go with it.
2016-07-14 14:49:57 -04:00
rocky
29990c8da0
3.x __qualname__ = supression
...
Class names have become more complicated so the pattern test
needs to be more complex as well. Sigh
2016-07-14 12:57:48 -04:00
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
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