rocky
da7421da1c
Tidy pysource and fragments a little more
2017-09-20 19:02:56 -04:00
rocky
a694601264
emgine -> template_engine
2017-09-17 12:03:49 -04:00
rocky
3003070acb
engine -> template_engine
2017-09-17 11:56:51 -04:00
rocky
51ad3fb36e
Revert one of the changes pending a better fix
2017-09-10 03:01:19 -04:00
rocky
f017acce21
More semantic action cleanup
2017-09-10 02:56:47 -04:00
rocky
0f489672b9
More merge fixups from master
2017-06-18 16:05:22 -04:00
rocky
b7d8cbfaf5
Merge branch 'master' into python-2.4
2017-06-18 15:40:40 -04:00
rocky
0cbafa6e3a
Adjust nodeInfo if it is a Token
2017-06-13 04:41:32 -04:00
rocky
4afaee2a36
Add nonterminal node in extractInfo
2017-06-13 04:17:23 -04:00
rocky
daea3c348c
Fragment tag more expressions
...
Revise make_function3 comment wrt args and kwargs
2017-06-10 16:31:56 -04:00
rocky
bf45260588
Fragment tag array subscripts
2017-06-10 08:05:18 -04:00
rocky
2e05137f2b
Set YIELD_VALUE offset in a <yield> expr
2017-06-10 02:09:58 -04:00
rocky
7b2217fda4
Mark "pass" offsets.
...
Start routine to find previous node.
2017-06-07 22:14:38 -04:00
rocky
5ca219f3d3
Remove hacky fragments try fixup...
...
hacky call_function code is also not needed or will be reinstated
properly. Better grammar structure for Python 3.6 call_function.
2017-06-06 21:58:47 -04:00
rocky
4615cda03f
Important fragments bug fix...
...
start, finish that had been adjusted wasn't getting reflected in final
returned deparsed.offsets dictionary. Redo keeping API compatibility,
i.e we still use namedtuple NodeInfo.
2017-06-05 21:17:17 -04:00
rocky
844221cd43
Small changes.
...
fragment tag EXEC_STMT
2017-06-03 23:29:46 -04:00
rocky
61810172d1
Merge branch 'master' into python-2.4
2017-06-03 05:50:42 -04:00
rocky
9a3e11a957
Fragment bugs
...
fragment.py:
* deparse_code_aorund_offset: was sometimes returning the wrong type
* capture function name offset
* lint imports
pysource.py: use a clearer variable name
2017-06-03 05:18:40 -04:00
rocky
966a4bc7dc
Track changes in ifelstmtr..
...
in fragments from pysource
2017-06-02 21:15:23 -04:00
rocky
d4dab54c7b
Merge branch 'master' into python-2.4
2017-05-30 02:18:57 -04:00
rocky
cbbf64ccd0
Python 3.6 makefunction handling for fragments
2017-05-30 01:25:33 -04:00
rocky
cf3c07e047
Add fuzzy offset deparse lookup
2017-05-23 06:10:31 -04:00
rocky
e56ab2dcd5
Sync with master
2017-05-06 07:17:04 -04:00
rocky
a06e9bf32e
Merge branch 'master' into python-2.4
2017-04-14 05:45:53 -04:00
rocky
7e8f7ba674
namedtuple25 -> namedtuple24
2017-04-14 05:42:44 -04:00
rocky
bb24df596d
Bang on 3.x annotations
2017-04-11 17:09:10 -04:00
rocky
89429339fa
Merge branch 'master' into python-2.4
2017-01-11 19:25:44 -05:00
rocky
66518baed0
Misc cleanups
...
Favor "decompile" over "uncompyle" since "decompile" is in common use
Reduce size of pysource.py by splitting out constants
2017-01-08 09:26:19 -05:00
rocky
012ff91cfb
Merge branch 'master' into python-2.4
2016-12-25 07:57:17 -05:00
rocky
e3f4beeb74
Lint
2016-12-24 07:45:02 -05:00
rocky
e2fb7ca3d2
Python 2.6/2.7 tolerance in Python 2.4 branch
2016-12-17 06:51:47 -05:00
rocky
b3bda76582
Merge branch 'master' into python-2.4
2016-12-16 22:56:07 -05:00
rocky
b43cbc050d
Was passing wrong type
2016-12-13 20:05:08 -05:00
rocky
7133540c23
Make work on 2.4
2016-11-23 08:26:12 -05:00
rocky
a9349b8f3d
Making it run on Python 2.4 and 2.5
2016-11-23 07:53:51 -05:00
rocky
c8550d5c9e
Split out print_docstring
...
move from pysource.py to new helper.py
2016-11-22 05:29:50 -05:00
rocky
80a4ad4f1b
Python 3.0 while1 if bug...
...
Is a workaround. We really need more tagging in of SETUP_LOOP and COME_FROM.
2016-11-13 01:28:36 -05:00
rocky
50c2e1bda9
Revert augassign change but..
...
Make note of what's going on and add grammar test for bad
situations we have in Python 2.6 (and perhaps others)
2016-11-11 09:08:02 -05:00
rocky
0f536b18fa
Bug in detecting 3.3 default value in lambda
2016-11-10 23:59:51 -05:00
rocky
6fb879d0d8
Detect some erroneous decompilations
...
Until we can actually prevent these in grammar rules, we will warn of
improper decompilations.
Also, we now stop when we hit a decompile error. Previously we were not.
2016-11-10 22:29:39 -05:00
rocky
2328ca7a55
Break out make_function() into its own file.
...
It is already too complex and will get worse in Python 3.6.
Note: make_function in fragments.py is still inside and
probably needs fixup.
2016-10-29 07:22:58 -04:00
rocky
fe072d8b57
DRY fragments.py preorder code
...
pysource.py: doc typo
2016-10-11 22:24:00 -04:00
rocky
c7788e4545
disassemble -> ingest where appropriate
...
As part of tokenization for (de)parsing, we need to do something like a
disassembly, but is is really a little different.
Disassembly, strictly speaking, is done by the xdis module now.
What "ingestion" does is massage the instruction tokens to a form that is
more amenable for parsing.
In sum, ingestion is different than disassembly, although disassembly is
generally the first part of ingestion.
2016-09-04 11:43:02 -04:00
rocky
3ef0325cb8
Small changes
2016-07-29 19:54:16 -04:00
rocky
f33f425692
Add is_pypy parameter to places that need it
2016-07-27 16:08:40 -04:00
rocky
c3f6fa32db
Customize tables better for specific Python versions
2016-07-27 06:56:02 -04:00
rocky
74f440bd0b
Usuability fixes
...
* try using format for __str__
* Explicitly nuke self.attr and self.pattr when no arg
* Sync pysource and format wrt make_function
2016-07-26 20:49:41 -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
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
bc86b73cf0
Document/correct hide_internal and store_locals
2016-07-12 12:07:48 -04:00