Commit Graph

414 Commits

Author SHA1 Message Date
rocky
ebb0342b38 WIP pypy3.6 handling 2019-10-28 13:20:51 -04:00
rocky
0b3d6b8add Get ready for release 3.5.0 2019-10-12 19:53:17 -04:00
rocky
24afe072b7 LOAD_CONST -> LOAD_CODE where appropriate 2019-06-19 14:43:07 -04:00
rocky
e2d7f01298 Handle 2-arg asserts in 3.6+ish
Changed files have also been reformatted via the blacken formatter
2019-06-18 22:09:16 -04:00
rocky
002720988c Formatting in < 3.0 is different for name ops 2019-06-11 14:08:50 -04:00
rocky
08f23567a6 Nicer assembly display...
Fewer extraneous quotes and remove pattrs that don't mean anything.
Base more on OP poperties like varargs and NAME_OPS
2019-06-11 12:44:29 -04:00
rocky
5981c7eae9 Fix LOAD_STR messing up docstring comparision 2019-06-11 10:33:49 -04:00
rocky
9811c5bc42 Nicer assembly output 2019-06-09 12:21:45 -04:00
rocky
fd5f4fa5b8 Nicer LOAD_STR assembly output 2019-06-09 09:53:21 -04:00
rocky
622d6f849c Merge branch 'master' into string-const 2019-06-09 01:20:53 -04:00
rocky
117b4ff4f1 Add kwonly parsing.
* annotation parsing for kwonly args is missing.
* Start filling out runnable tests. More work is needed on tests.
* refresh incorrect bytecode_3.3_run/15_assert.pyc
2019-06-08 15:29:18 -04:00
rocky
44d7cbcf6f LOAD_CONST->LOAD_STR for Python 3.x 2019-06-08 02:28:27 -04:00
rocky
46acb74745 Only add forward-jumping COME_FROM in 3.6+
Is this a repeat commit?
2019-05-14 06:28:29 -04:00
rocky
44e1288e2f Less dishonest COME_FROMs
Addresses all of the problems seen in 3.7 datetime.py.

However we limit COME_FROMs only to forward jumps, not back (which in the case of Python code right now means looping) jumps.
2019-05-13 23:15:55 -04:00
rocky
b94cce7b12 Revise format string handling
fstring_single{1,2} -> format_value{1,2} to match Python AST names
better
2019-05-13 09:40:32 -04:00
rocky
86dd321256 Accept x0ret's suggestion for 3.6+ if detection..
in the presense of a try block.

Fixes #229
2019-05-10 19:36:16 -04:00
rocky
af816c9e60 Administrivia 2019-05-03 23:25:25 -04:00
rocky
e2c5a79346 Add pypy3.6 scanner 2019-05-02 06:46:07 -04:00
rocky
fac365f216 Better fstring handling for FORMAT_VALUE | 0x4 2019-04-30 23:05:47 -04:00
rocky
a981db884c Pypy 3.6 tolerance 2019-04-30 05:12:42 -04:00
rocky
05db6194ec Use up right 3.x opcodes in jump detection...
A small but pervasive, and I guess important change. More correct COME_FROMs
are now coming out. A number of grammar changes then in 3.0, 3.5, and 3.8
2019-04-23 05:14:29 -04:00
rocky
b4c66d4307 Was missing some 3.7 and 3.7 semantic actions...
Possibly some as a result of the last refactor?
2019-04-15 08:11:31 -04:00
rocky
9b550b9dda PEP E225 with a nod to Deepcommit 2019-04-14 06:11:16 -04:00
rocky
5e1340a2fc 3.8 exception handling 2019-04-11 12:09:24 -04:00
rocky
7f65a8a6dd 3.8 SETUP_EXCEPT removal workaround; reinstate option -c | --compile 2019-04-11 07:19:35 -04:00
rocky
8b65cc7275 Small changes - bump required xdis version 2019-04-09 21:45:28 -04:00
rocky
82fb9426af [WIP] - move forward a tad on Python 3.8 2019-03-28 12:10:08 -04:00
rocky
98b91db8e6 Another 3.6->3.7 typo (in comment this time) 2019-03-28 11:22:07 -04:00
rocky
ce3f815b08 opcode import typo 2019-03-28 11:16:06 -04:00
rocky
cd64156708 Fix else detection bug in Python 3.6+ 2019-03-23 08:57:34 -04:00
rocky
dcad6cf6ce Fix if return boundary in 3.6+
Fixes #209
2019-03-10 05:59:15 -04:00
cclauss
6cbaef4ba5 Travis CI: Run more f-string tests on Python 3.7 2019-01-12 20:24:08 +01:00
rocky
a2321773d7 Fix Python 3.x try/else detection
Fixes #155
2019-01-01 22:50:28 -05:00
rocky
acd0e5fea6 Note weirdness in try/else 2019-01-01 09:40:59 -05:00
rocky
a7ceedb62c Python 3.6+ control flow 2018-12-15 09:17:54 -05:00
rocky
616e5c82f6 Reinstat expr32 and expr1024 rules...
to speed up handling long literal lists. See also issue #188

Update issue forms to simplfy via putting instructions as comments.
2018-09-19 20:14:42 -04:00
rocky
c6b3e20b47 Remove some of the 3.0 3.x instruction hackiness 2018-06-24 18:23:38 -04:00
rocky
4cbd136635 Make Python 3.0 control flow more like 3.x 2018-06-24 12:56:43 -04:00
rocky
fb31fe1f35 Another Python 3.0 (while) parse bug 2018-06-23 05:48:14 -04:00
rocky
1350f4c899 Some bugs...
Python 3 compiling Python 2 tolerance. Fixes issue #180.
pytest test_grammar.py and validate.py fixes for 3.6 testing
2018-06-22 21:06:54 -04:00
rocky
b7942bc5f2 Add Python 1.3 decompilation ..
Reduced checking via "make check-short"
2018-06-13 12:26:21 -04:00
rocky
d32e67891b More 3.0 bug fixing and tollerance and...
add some 1.4 bytecode tests
2018-06-12 12:19:43 -04:00
rocky
600e56b1d7 Better "continue" detection on Python 3.0 2018-06-12 04:47:29 -04:00
rocky
f0176add7a More bugs - note and disable tests for them 2018-06-04 15:29:04 -04:00
rocky
096563cf91 Fix Python 1.5- bug in handling unpack list 2018-06-04 10:49:20 -04:00
rocky
82bc294995 Improve Python 1.4 bytecode coverage 2018-06-04 08:54:09 -04:00
rocky
a9515c7aab Add bytecode 1.4 small tests
Many bugs in 1.4 exist. For a future release
2018-05-19 11:31:23 -04:00
rocky
e5f3d803a8 Start Python 1.4 decompilation ...
Tidy up test code for issue 162 and comments for some disassembly massaging.
2018-05-19 07:14:00 -04:00
rocky
c481d97866 A more uniform way to track opcodes seen...
use a set rather than these boolean variables. Done in 3.x
only for now. May do more later..
2018-04-18 12:01:46 -04:00
rocky
1890aad660 Small 3.7 steps 2018-04-13 07:26:32 -04:00