Commit Graph

158 Commits

Author SHA1 Message Date
rocky
ad00b9a4ee Use xdis pattr extraction for LOAD_NAME 2023-04-15 07:31:35 -04:00
rocky
62760eb556 Deal with 2.x EXTENDED_ARGS on JUMP_ABSOLUTE
in scanner2's "continue" detection

Fixes #310
2022-09-18 21:12:27 -04:00
rocky
656a9aa290 Bugs in 2.x relative import '.' and 1.x bytecode 2022-05-14 17:46:48 -04:00
rocky
8e5faa933f Handle long 2.x bytecode literals more efficiently 2022-04-27 13:47:56 -04:00
rocky
c6642f5899 Revise "ingest" docstring 2022-04-25 07:42:56 -04:00
rocky
f6f0e344d0 Python 3.6+ specialization 2021-11-03 02:23:19 -04:00
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