Merge branch 'master' of github.com:rocky/python-uncompyle6

This commit is contained in:
rocky
2017-11-08 23:06:23 -05:00

View File

@@ -2,18 +2,26 @@
## The difficulty of the problem
There is no Python decompiler yet, that I know about that will
decompyle everything. This one probably does the best job of *any*
Python decompiler. But it is a constant work in progress: Python keeps
This decompiler is a constant work in progress: Python keeps
changing, and so does its code generation.
I have found bugs in *every* Python decompiler I have tried. Even
those where authors/maintainers claim that they have used it on
the entire Python standard library. And I don't mean that
the program doesn't come out with the same Python source instructions,
but that the program is *semantically* not equivalent.
There is no Python decompiler yet that I know about that will
decompile everything. Overall, I think this one probably does the best
job of *any* Python decompiler that handles such a wide range of
versions.
So it is likely you'll find a mistranslation in decompiling.
But at any given time, there are maybe dozens of valid Python bytecode
files that I know of that will cause problems. And when I get through
those and all the issues of decompiler bugs that are currently logged,
I could probably easily find dozens more bugs just by doing a
decompile of all the Python bytecode on any one of my
computers. Unless you want to help out by _fixing_ bugs, or are
willing to do work by isolating and narrowing bugs, don't feel you are
doing me a favor by doing scans on your favorite sets of bytecode
files.
In sum, it is not uncommon that you will find a mistranslation in
decompiling.
## Is it really a bug?
@@ -72,10 +80,11 @@ The basic requirement is pretty simple:
* Python source text
Please don't put files on download services that one has to register
for. If you can't attach it to the issue, or create a github gist,
then the code you are sending is too large.
for or can't get to by issuing curl or wget. If you can't attach it to
the issue, or create a github gist, then the code you are sending is
too large.
Please also try to narrow the bug. See below.
Also try to narrow the bug. See below.
## What to send (additional helpful information)
@@ -106,9 +115,9 @@ one fool can learn, so can another."
## Narrowing the problem
I don't need or want the entire source code base for which one file or module
can't be decompiled. I just need that one file or module only. If
there are several files, file a bug report for each file.
I don't need or want the entire source code base for which one file or
module can't be decompiled. I just need that one file or module
only. If there are several files, file a bug report for each file.
Python modules can get quite large, and usually decompilation problems
occur in a single function or maybe the main-line code but not any of