rocky
ed34bf9d4a
use xdis.PYTHON3 not uncompyle.PYTHON3
2021-11-02 06:53:11 -04:00
rocky
e8e006bb8c
More Python version comparison conversions
2021-10-16 11:33:03 -04:00
rocky
3fb8d90407
Revise for xdis 3.6.0 ...
...
Simplify xdis imports where we can.
Blacken (most) of those buffers too
2020-05-18 21:49:16 -04:00
rocky
f117feb585
Use new xdis...
...
Sadly there are some regressions that need to be fixed.
Deal with later.
2020-04-16 11:01:12 -04:00
rocky
869e48877c
Convert to use xdis 4.3.0 or greater
2020-04-16 08:41:53 -04:00
rocky
e8e7d2086d
whileelse in 3.6 sometimes has come froms...
...
also remove extra "L. " in token printing
2020-04-04 10:12:12 -04:00
rocky
24afe072b7
LOAD_CONST -> LOAD_CODE where appropriate
2019-06-19 14:43:07 -04:00
rocky
9b550b9dda
PEP E225 with a nod to Deepcommit
2019-04-14 06:11:16 -04:00
rocky
a2321773d7
Fix Python 3.x try/else detection
...
Fixes #155
2019-01-01 22:50:28 -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
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
f0176add7a
More bugs - note and disable tests for them
2018-06-04 15:29:04 -04:00
rocky
1cd2d1e915
DRY scanner code more...
...
Expand 2.6 testing
2018-04-03 10:35:02 -04:00
rocky
fad43feb3d
DRY instruction building code...
...
There is a little more that could be done with self.offset2inst_index
2018-04-03 04:41:36 -04:00
rocky
f18ce71e91
Replace all_instrs with inst_matches...
...
which works on 3.6+. Still should write a pytest for this.
2018-03-29 21:23:26 -04:00
rocky
631940887f
Additional Python 2.x assert vs raise testing
2018-03-25 17:35:18 -04:00
rocky
51dec051df
Slightly better assert detection
2018-03-08 08:31:50 -05:00
rocky
5d24367ef6
Small changes...
...
pysource.py: Bug fix for relative imports.
scanner2.py: Remove a debug expression
2018-03-05 21:53:49 -05:00
rocky
9e815d8d79
2.6 and before COME_FROM handling...
...
also, add in some of the test bytecode from the python-2.4 branch
2018-03-04 21:42:59 -05:00
rocky
26e1df835c
Better "continue" detection for 2.7
2018-03-01 23:34:26 -05:00
rocky
e23315b2e6
Fallout from more precise token attributes
2018-02-28 23:35:52 -05:00
rocky
c43c9a19aa
Move to GPL3 license
2018-02-27 06:40:36 -05:00
rocky
8c0f256b78
Sync python2 and python3 scanner/injest code more
2018-02-25 09:42:04 -05:00
rocky
67ad08fd4a
Beter 2.7 end_if and COME_FROM determination
...
Fixes #149
... Add more tests too
2018-02-17 07:16:14 -05:00
rocky
50e9a9102b
One more change to revert
2018-02-04 17:02:58 -05:00
rocky
a8051f049f
Revert most of last change
2018-02-04 15:08:23 -05:00
rocky
4cbba3d46e
2.7 control flow futzing.
...
Some overall cleanup. But again we need to attack all of this more head on.
Closes Issue #149
2018-02-04 14:20:11 -05:00
rocky
296fcd89ce
Add self.offset2inst_index and document more
2018-02-04 09:13:49 -05:00
rocky
106a325ef1
Fix Python 2.7 try: try: else: bug
2018-01-29 08:47:53 -05:00
rocky
185ec4e306
Fix 2.6 IF/THEN misclassification..
...
with an exception condition
2018-01-13 00:58:16 -05:00
rocky
b0d18cae6a
Fix bug in 2.5- try/else inside ifelsestmt
2018-01-06 22:19:44 -05:00
rocky
15057bed1d
Fix bugs in scanner.last_instr()...
...
And ave instruction stream self.insts like we do in Python 3 so we
can start simplifying code.
2017-12-15 20:34:34 -05:00
rocky
3ce5e0ab0e
Update comment
2017-12-14 05:22:59 -05:00
rocky
63820c4300
Continue parse2/scanner2 refactor
2017-12-14 04:00:22 -05:00
rocky
94a18c1a95
Back off of previous refactor a little bit
2017-12-13 21:26:52 -05:00
rocky
303e134359
Simplify scanner2 so it relies less on custimize dict
2017-12-13 21:02:40 -05:00
rocky
acc3e441ac
Fix "or" bug in 2.6- seen via chained comparisons
2017-12-13 07:27:10 -05:00
rocky
32f3d947bb
Grammar "COME_FROM"_from cleanups ...
...
tryelse constructs in 2.x fixed up
_come_from -> _come_froms (COME_FROM*)
consolidate come_froms rule into sincle parser.py
2017-12-03 05:10:59 -05:00
rocky
93949e8222
Small grammar isolation bugs
2017-12-02 10:57:32 -05:00
rocky
5872caee54
Correct hacky version number
2017-12-02 09:53:05 -05:00
rocky
a7005f6a77
2.7 exec stmt grammar rule isolation/reduction
2017-12-02 09:23:18 -05:00
rocky
6d0f72f13b
Fix bug in 2.6 tryelse get test_grammar working...
...
localize grammar rules
2017-12-02 01:35:43 -05:00
rocky
bf5a6237d8
Isolate listcomp rule in 2.7
2017-11-30 10:30:08 -05:00
rocky
2674ec893a
Grammar reduction
2017-11-27 04:56:01 -05:00
rocky
17f5b35b1d
More grammar isolation
2017-11-26 16:34:10 -05:00
rocky
b7003914c9
localize 2 and 3 argument BUILD_SLICE...
...
Nontermninal name matches AST anme now. Add test.
2017-11-25 21:10:11 -05:00
rocky
902941102f
2.7 continue-detection bug
2017-11-16 00:22:24 -05:00
rocky
dea17cd7f1
xdis _disassemble->disassemble
2017-11-06 00:38:22 -05:00
rocky
5df09540b5
Python 3.6-inspired instruction size cleanup
...
Revise and generalize for Python 3.6+ instructions vs < 3.6 instuctions.
Used more of the generalized methods in xdis and remove some (but not
all) of the magic numbers.
This is a lot of changes, but not all of the refactoring needed. Much
crap still remains. Also, there are still bugs in handling 3.6 bytecodes.
2017-10-29 11:46:28 -04:00
rocky
1d7a3c6444
Document hacky customize arg count better.
2017-09-30 18:02:35 -04:00