Files
python-uncompyle6/ChangeLog
2016-05-18 12:46:23 -04:00

2527 lines
93 KiB
Plaintext

2016-05-18 rocky <rocky@gnu.org>
* DECOMPYLE-2.4-CHANGELOG.txt, HISTORY.md, uncompyle6/version.py:
Get ready for release 2.4.0
2016-05-18 rocky <rocky@gnu.org>
* uncompyle6/verify.py: Add 3.5 to verify
2016-05-18 rocky <rocky@gnu.org>
* pytest/test_load.py, pytest/testdata/if-2.7.right,
pytest/testdata/ifelse-2.7.right, uncompyle6/disas.py,
uncompyle6/scanner.py, uncompyle6/scanners/scanner25.py,
uncompyle6/scanners/scanner26.py, uncompyle6/scanners/scanner27.py,
uncompyle6/scanners/scanner3.py, uncompyle6/scanners/scanner32.py,
uncompyle6/scanners/scanner33.py, uncompyle6/scanners/scanner34.py,
uncompyle6/scanners/scanner35.py, uncompyle6/scanners/tok.py,
uncompyle6/verify.py: pydisassemble improvements; DRY scannners disas.py: - disassembles *all* code objects found scanner*.py: - no longer need to pass in version numbers; this is obtained from the class name - no longer pass in opcodes; this is done at initialization from the scanner name - all Pythoin 3 scanners support native disassembly
2016-05-17 rocky <rocky@gnu.org>
* pytest/testdata/if-2.7.right, pytest/testdata/ifelse-2.7.right,
uncompyle6/bin/pydisassemble.py, uncompyle6/disas.py,
uncompyle6/scanners/scanner27.py, uncompyle6/scanners/tok.py: Go
over disassembly routine... * tok.py: - add arg value when it is an integer * pydisassemble.py: - add option -U --uncomplyle for which flavor of disassembly - remove -o option * scanner27.py: - allow for native (non-uncompyle6) output
2016-05-17 rocky <rocky@gnu.org>
* pytest/test_marsh.py,
test/simple_source/expression/02_complex.py, uncompyle6/marsh.py:
Fix marshal bug in handling complex numbers
2016-05-17 rocky <rocky@gnu.org>
* Makefile, test/simple_source/def/09_class_closure.py,
uncompyle6/parser.py, uncompyle6/parsers/parse3.py,
uncompyle6/semantics/fragments.py, uncompyle6/semantics/pysource.py:
Fix Python 3.x bugs * class definitions made via closures * Add "make check-short" to top-level * parse3.py: Python 3.3 uses STORE_LOGALS
2016-05-16 rocky <rocky@gnu.org>
* test/test_pyenvlib.py, uncompyle6/marsh.py,
uncompyle6/scanners/scanner3.py: Fix a number of small bugs... test_peynv.py: make Python3 compatible marsh.py: remove duplicate
test scanner3.py: fix opcode typo
2016-05-16 rocky <rocky@gnu.org>
* uncompyle6/parsers/parse3.py: Fix Python 3.x bug in function VAR
and KW args
2016-05-16 rocky <rocky@gnu.org>
* : Readd some 3.x loop tests
2016-05-16 rocky <rocky@gnu.org>
* pytest/test_fjt.py: pytest for last commit
2016-05-16 rocky <rocky@gnu.org>
* uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Correct bugs in Python 3.2 source
generation
2016-05-16 rocky <rocky@gnu.org>
* Makefile: Travis can't handle pytest on Python 3.5
2016-05-16 rocky <rocky@gnu.org>
* HISTORY.md, Makefile, uncompyle6/parsers/parse3.py,
uncompyle6/scanner.py, uncompyle6/scanners/scanner27.py,
uncompyle6/scanners/scanner3.py: Python 2 loop scanner detection in
Python 3 scanner*.py: Make scanner27 and scanner3 more aligned Makefile: we
can run py.test on Python 3.5 HISTORY.md: grammar changes
2016-05-16 rocky <rocky@gnu.org>
* HISTORY.md, uncompyle6/main.py, uncompyle6/scanners/scanner27.py,
uncompyle6/scanners/scanner3.py, uncompyle6/verify.py: Misc small
changes Go over history yet again code cleanups.
2016-05-15 rocky <rocky@gnu.org>
* uncompyle6/parsers/parse3.py: Python3 mklambda bug
2016-05-15 rocky <rocky@gnu.org>
* test/simple_source/expression/08_genexpr.py,
test/simple_source/expression/10_genexpr.py,
uncompyle6/parsers/parse3.py: Python 3 genexpr bug
2016-05-15 rocky <rocky@gnu.org>
* HISTORY.md: Correct info on parser
2016-05-15 rocky <rocky@gnu.org>
* uncompyle6/parser.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py, uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Bug in Python 3.x genexpr
2016-05-15 rocky <rocky@gnu.org>
* test/simple_source/expression/05_lambda.py,
test/test_pyenvlib.py, uncompyle6/parsers/parse3.py,
uncompyle6/scanners/scanner3.py, uncompyle6/semantics/pysource.py:
Fix bug in Python 3 lambda expression handling Some other small cleanup changes
2016-05-15 rocky <rocky@gnu.org>
* uncompyle6/bin/pydisassemble.py, uncompyle6/disas.py,
uncompyle6/parser.py, uncompyle6/parsers/parse3.py,
uncompyle6/scanners/scanner3.py, uncompyle6/scanners/scanner34.py,
uncompyle6/scanners/scanner35.py, uncompyle6/scanners/tok.py:
pydisassemble disassemble without grammar mangling Some other small cleanups as well
2016-05-15 rocky <rocky@gnu.org>
* uncompyle6/parser.py, uncompyle6/parsers/parse3.py: Fix verify bug
in 3.2
2016-05-15 rocky <rocky@gnu.org>
* test/simple_source/looping/12_if_while_bug.py,
uncompyle6/parsers/parse3.py: 3.4 if/while bug
2016-05-15 rocky <rocky@gnu.org>
* .travis.yml: force Travis 2.7.11 for Python 2.7
2016-05-15 rocky <rocky@gnu.org>
* test/ok_lib2.7/aifc.py, test/ok_lib2.7/antigravity.py,
test/ok_lib2.7/anydbm.py, test/ok_lib2.7/asynchat.py,
test/ok_lib2.7/atexit.py, test/ok_lib2.7/audiodev.py,
test/ok_lib2.7/base64.py, test/ok_lib2.7/binhex.py,
test/ok_lib2.7/bisect.py, test/ok_lib2.7/calendar.py,
test/ok_lib2.7/cgitb.py, test/ok_lib2.7/chunk.py,
test/ok_lib2.7/codeop.py, test/ok_lib2.7/colorsys.py,
test/ok_lib2.7/commands.py, test/ok_lib2.7/compileall.py,
test/ok_lib2.7/dircache.py, test/ok_lib2.7/dis.py,
test/test_pyenvlib.py: Add more Python 2.7 verify tests
2016-05-15 rocky <rocky@gnu.org>
* uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Fix bug in kvlist handling on
Python 2.7 Created from previous DRY code in Python 3
2016-05-15 rocky <rocky@gnu.org>
* uncompyle6/parsers/parse3.py, uncompyle6/scanners/scanner3.py,
uncompyle6/scanners/scanner34.py, uncompyle6/scanners/scanner35.py,
uncompyle6/semantics/fragments.py, uncompyle6/semantics/pysource.py:
DRY scanner34 and scanner35 handle 3.0..3.4 build maps as key/value pairs
2016-05-15 rocky <rocky@gnu.org>
* uncompyle6/scanners/dis3.py: Optimize Python 2/3 code2num
2016-05-14 rocky <rocky@gnu.org>
* test/Makefile, uncompyle6/scanners/dis3.py: Python2 comptability
in using Python 3 disassembly Also fixes ablility to run bytecode 3.5 tests from 2.x now For Python 2 reading python3 bytstrings, we need to make sure we
confer the character to a number.
2016-05-14 rocky <rocky@gnu.org>
* uncompyle6/bin/pydisassemble.py, uncompyle6/scanners/dis3.py,
uncompyle6/scanners/dis35.py, uncompyle6/scanners/scanner34.py,
uncompyle6/scanners/scanner35.py: Start to DRY Python 3.4 and 3.5
scanners
2016-05-14 rocky <rocky@gnu.org>
* __pkginfo__.py, requirements.txt, setup.py: See if travis will
take spark 1.2.1
2016-05-14 rocky <rocky@gnu.org>
* uncompyle6/bin/pydisassemble.py, uncompyle6/bin/uncompile.py: Fix
names for <program> -V
2016-05-14 rocky <rocky@gnu.org>
* ChangeLog, __pkginfo__.py, uncompyle6/version.py: Fix botched
entry point names Get ready for relase 2.3.6
2016-05-14 rocky <rocky@gnu.org>
* ChangeLog, NEWS, uncompyle6/version.py: Get ready for release
2.3.5
2016-05-13 rocky <rocky@gnu.org>
* uncompyle6/semantics/fragments.py: More fragment bugs
2016-05-13 rocky <rocky@gnu.org>
* MANIFEST.in, Makefile, __pkginfo__.py, setup.py,
uncompyle6/semantics/fragments.py: More packaging crap. Did I tell you how much I hate python packaging? fragments.py: track recent change in class decorators.
2016-05-13 rocky <rocky@gnu.org>
* __pkginfo__.py, bin/pydisassemble, bin/uncompyle6, setup.py,
test/simple_source/bug26/05-ret-or.py,
test/simple_source/def/03_star_arg.py, uncompyle6/bin/__init__.py,
uncompyle6/bin/pydisassemble.py, uncompyle6/bin/uncompile.py: Python
packaging - yet again. Did I ever mention how much Python sucks at packaging?
2016-05-13 rocky <rocky@gnu.org>
* test/simple_source/def/10_classdec.py: Test for class decorator See https://github.com/rocky/python-uncompyle6/pull/15
2016-05-13 R. Bernstein <rocky@users.noreply.github.com>
* : Merge pull request #15 from Tey/master Fix for class decorators
2016-05-12 rocky <rocky@gnu.org>
* __pkginfo__.py: Back off spark 1.2.0 for now
2016-05-12 rocky <rocky@gnu.org>
* uncompyle6/scanners/scanner26.py,
uncompyle6/scanners/scanner27.py, uncompyle6/scanners/scanner35.py:
More small changes
2016-05-12 rocky <rocky@gnu.org>
* test/test_pythonlib.py: Clean up test byte-compile directory
2016-05-12 rocky <rocky@gnu.org>
* test/simple_source/stmts/15_for_if.py, uncompyle6/main.py,
uncompyle6/parsers/parse3.py, uncompyle6/scanners/scanner3.py: Misc
changes Back off of some validation tests for now.
2016-05-12 rocky <rocky@gnu.org>
* __pkginfo__.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py, uncompyle6/scanners/scanner3.py,
uncompyle6/semantics/fragments.py, uncompyle6/semantics/pysource.py:
Misc fixups/cleanups * parse3.py Had botched if-for-else test by grammar addition * semantics/*.py: Show errorstack in failed parse when -g (requires
sparck 1.2.0) * some optimization in scanner3
2016-05-12 R. Bernstein <rocky@users.noreply.github.com>
* : Merge pull request #14 from rocky/make-function-rewrite Make function rewrite
2016-05-11 rocky <rocky@gnu.org>
* test/simple_source/def/03_py3_def.py,
uncompyle6/parsers/parse3.py, uncompyle6/scanners/dis35.py,
uncompyle6/scanners/scanner3.py, uncompyle6/scanners/scanner34.py,
uncompyle6/scanners/scanner35.py,
uncompyle6/semantics/fragments.py, uncompyle6/semantics/pysource.py:
Redo make_function for *, arg main(*, file='foo') and things like that now work
2016-05-11 rocky <rocky@gnu.org>
* uncompyle6/parsers/parse3.py, uncompyle6/scanners/dis35.py,
uncompyle6/scanners/scanner3.py, uncompyle6/scanners/scanner35.py,
uncompyle6/semantics/pysource.py: WIP Make function redo
2016-05-10 rocky <rocky@gnu.org>
* uncompyle6/parser.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py, uncompyle6/semantics/pysource.py: add
pos_arg ::= expr to make params of fns clear
2016-05-09 rocky <rocky@gnu.org>
* uncompyle6/parsers/parse3.py: * call WIP
2016-05-09 rocky <rocky@gnu.org>
* test/simple_source/def/11_classbug.py,
uncompyle6/parsers/parse3.py: 3.2 class bug
2016-05-09 rocky <rocky@gnu.org>
* test/simple_source/looping/09_if_whiletrue_bug.py,
uncompyle6/parsers/parse3.py: 3.2 WhileTrue grammar bug
2016-05-09 rocky <rocky@gnu.org>
* test/simple_source/stmts/09_whiletrue_bug.py,
uncompyle6/parsers/parse3.py, uncompyle6/semantics/pysource.py:
Python 3 "while True" bug
2016-05-09 rocky <rocky@gnu.org>
* DECOMPYLE-2.4-CHANGELOG.txt, HISTORY.md, MANIFEST.in: Dan Pascu's
contribution via Dan
2016-05-09 rocky <rocky@gnu.org>
* HISTORY.md: Another history tweak
2016-05-09 rocky <rocky@gnu.org>
* HISTORY.md, uncompyle6/parser.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py, uncompyle6/scanners/scanner27.py: Some
grammar cleanup
2016-05-09 rocky <rocky@gnu.org>
* test/simple_source/def/05_closure_bug.py,
uncompyle6/parsers/parse3.py, uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Track recent lc changes in
fragment semantics
2016-05-09 rocky <rocky@gnu.org>
* test/simple_source/def/07_closure_bug2.py: Another closure
wrapping bug
2016-05-09 rocky <rocky@gnu.org>
* test/simple_source/def/05_closure_bug.py,
uncompyle6/parsers/parse3.py: Another Python 3 closure grammar bug
2016-05-09 rocky <rocky@gnu.org>
* HISTORY.md: More small history tweaks
2016-05-09 rocky <rocky@gnu.org>
* test/simple_source/comprehension/11-list-if.py,
uncompyle6/parsers/parse3.py, uncompyle6/semantics/pysource.py: Fix
Python 3 list comprehansion closure bug
2016-05-08 rocky <rocky@gnu.org>
* test/simple_source/operation_logic/05_dup_top_two.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py: Python 3
DUP_TOP_TWO bug
2016-05-08 rocky <rocky@gnu.org>
* test/simple_source/looping/11_if_while_bug.py,
uncompyle6/parser.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py: DRY parse{2,3} code Add test for last bug.
2016-05-08 rocky <rocky@gnu.org>
* uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py: Fix
another if/loop parse bug
2016-05-08 rocky <rocky@gnu.org>
* HISTORY.md, uncompyle6/main.py: Go over history yet again.
2016-05-08 rocky <rocky@gnu.org>
* test/simple_source/comprehension/10-list-ifnot.py,
uncompyle6/main.py, uncompyle6/parser.py: come_from_opt handles
and/or precidence properly main.py: give a better error message when file is not found.
2016-05-08 rocky <rocky@gnu.org>
* uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Semantic routine nonterminal typo
2016-05-08 rocky <rocky@gnu.org>
* test/simple_source/looping/11_for_if_loopback2.py,
uncompyle6/parser.py, uncompyle6/parsers/parse3.py: Yet another
Python 3.x COME_FROM grammar problem
2016-05-08 rocky <rocky@gnu.org>
* test/simple_source/looping/10_for_if_loopback.py,
uncompyle6/parser.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py, uncompyle6/scanners/scanner32.py: Fix
3.2 for/if loopback bug problem was handling in Python 3.2 for ... if ... else: .... jump for come from if jump for In later Python 3's a "come from" is removed. Also, start to DRY parser{,2,3} grammar rules.
2016-05-08 rocky <rocky@gnu.org>
* HISTORY.md, test/simple_source/branching/10_if_pass.py,
uncompyle6/scanners/scanner26.py, uncompyle6/scanners/scanner27.py,
uncompyle6/scanners/scanner3.py, uncompyle6/scanners/scanner35.py:
Fix 3.5 if..pass bug Update HISTORY.MD to include Dan Pascu. Some minor doc corrections
2016-05-08 rocky <rocky@gnu.org>
* uncompyle6/scanners/scanner34.py,
uncompyle6/scanners/scanner35.py: DRY scanner 3.{4,5} code
2016-05-07 rocky <rocky@gnu.org>
* test/simple_source/def/07_classparam.py,
uncompyle6/parsers/parse3.py: Python 3 build class parsing
2016-05-07 rocky <rocky@gnu.org>
* test/simple_source/expression/05_yield_from.py,
uncompyle6/parsers/parse3.py, uncompyle6/scanners/scanner35.py,
uncompyle6/semantics/fragments.py, uncompyle6/semantics/pysource.py:
Handle Python 3 yield from Start dealing with MAKE_FUNCTION flags - not done yet.
2016-05-06 rocky <rocky@gnu.org>
* test/simple_source/comprehension/10-genexpr.py,
uncompyle6/parsers/parse3.py, uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: More Python3 deparsing - grammar rule genexpr - More Python3 docstring formatted
2016-05-06 rocky <rocky@gnu.org>
* bin/pydisassemble, setup.py: Administrivia setup.py: don't need to import pkg_resources pydisassemble: give an error is no file or directory is given usage should go to stderr, not stdout
2016-05-05 rocky <rocky@gnu.org>
* README.rst, uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Minor tweaks
2016-05-05 rocky <rocky@gnu.org>
* uncompyle6/semantics/pysource.py: All Python 2.7 lib files
decompile
2016-05-05 rocky <rocky@gnu.org>
* test/simple_source/stmts/05_try_finally_pass.py,
test/simple_source/stmts/10_if_break_finally.py,
uncompyle6/opcodes/opcode_27.py, uncompyle6/parser.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py: More
Python 2 and 3 deparsing bugs fixed * while + if break * try + finall /pass
2016-05-05 rocky <rb@dustyfeet.com>
* __pkginfo__.py: Again, not GPL3 but MIT
2016-05-05 rocky <rb@dustyfeet.com>
* uncompyle6/__init__.py, uncompyle6/opcodes/opcode_27.py: Start
PYPY 2.7 tolerance
2016-05-05 rocky <rocky@gnu.org>
* ChangeLog, NEWS, uncompyle6/version.py: Get ready for release
2.3.4
2016-05-05 rocky <rocky@gnu.org>
* .travis.yml: Remove pypy3 add python 3.2 testing Reorder list for testing preference
2016-05-05 rocky <rocky@gnu.org>
* .travis.yml: Remove pypy
2016-05-05 rocky <rocky@gnu.org>
* Makefile, test/Makefile, uncompyle6/semantics/pysource.py: Fix up
3.2 tests Remove pypy
2016-05-05 rocky <rocky@gnu.org>
* .travis.yml: Try pypy and pypy3
2016-05-05 rocky <rocky@gnu.org>
* test/simple_source/def/05_abc_class.py,
test/simple_source/def/06_classbug.py, uncompyle6/parsers/parse3.py:
Python 3.5 abc.py bug distilled
2016-05-05 rocky <rocky@gnu.org>
* uncompyle6/scanners/dis35.py, uncompyle6/scanners/scanner35.py:
Add cross-Python-protable 3.5 dis module
2016-05-04 rocky <rocky@gnu.org>
* test/simple_source/stmts/05_with.py,
uncompyle6/opcodes/opcode_35.py, uncompyle6/parser.py,
uncompyle6/parsers/parse3.py, uncompyle6/scanners/scanner35.py:
Handle 3.5 with [as] scanner35.py: Fix a small variable-name typo
2016-05-03 rocky <rocky@gnu.org>
* : One more test
2016-05-03 rocky <rocky@gnu.org>
* uncompyle6/scanners/scanner3.py,
uncompyle6/scanners/scanner34.py, uncompyle6/scanners/scanner35.py:
Don't repeat next_except_jump
2016-05-03 rocky <rb@dustyfeet.com>
* __pkginfo__.py, requirements.txt: Wrong package name
2016-05-03 rocky <rocky@gnu.org>
* __pkginfo__.py, requirements.txt, setup.py: More package
administrivia
2016-05-03 rocky <rocky@gnu.org>
* uncompyle6/scanner.py: Remove one more old-style Python class
2016-05-03 rocky <rocky@gnu.org>
* uncompyle6/scanners/scanner27.py: DRY Python 2.7 scanner more
2016-05-03 rocky <rocky@gnu.org>
* MANIFEST.in: Include LICENSE in package
2016-05-03 rocky <rocky@gnu.org>
* ChangeLog, NEWS, uncompyle6/version.py: Get ready for release
2.3.3
2016-05-02 rocky <rocky@gnu.org>
* README.rst: Be more explicit that we need Python 2.6 or later
2016-05-02 rocky <rocky@gnu.org>
* : commit feec241da88107b97bbdfbabeb3ae7131a7aa923 Author: rocky
<rocky@gnu.org> Date: Mon May 2 21:20:17 2016 -0400
2016-05-02 rocky <rb@dustyfeet.com>
* README.rst: Note relation to other uncompyle forks Add some other minor corrections and additions as well.
2016-05-02 rocky <rb@dustyfeet.com>
* uncompyle6/__init__.py: Trivial spacing change
2016-05-02 rocky <rocky@gnu.org>
* ChangeLog, NEWS, __pkginfo__.py, bin/pydisassemble,
bin/uncompyle6, setup.py, uncompyle6/__init__.py,
uncompyle6/version.py: Add -V | --version and simplfy changing it
2016-05-01 rocky <rocky@gnu.org>
* uncompyle6/__init__.py: Expose uncompyle_file
2016-05-01 rocky <rocky@gnu.org>
* test/Makefile, uncompyle6/semantics/pysource.py: Bug
2016-05-01 rocky <rocky@gnu.org>
* test/Makefile, test/simple_source/expression/05_const_map.py: Add
test for last fix. Drop 2.5 test until we figure out what's wrong
2016-05-01 rocky <rocky@gnu.org>
* uncompyle6/parsers/parse3.py, uncompyle6/scanners/scanner35.py,
uncompyle6/semantics/pysource.py: Bug in 3.5 constant map parsing
2016-05-01 rocky <rocky@gnu.org>
* uncompyle6/__init__.py: Export module load and fns load_file,
load_module
2016-05-01 rocky <rocky@gnu.org>
* __pkginfo__.py, setup.py, uncompyle6/marsh.py: License is MIT marsh.py: remove unused import
2016-05-01 rocky <rocky@gnu.org>
* uncompyle6/parsers/parse3.py: Forgot to define Python3ParserSingle
2016-05-01 rocky <rocky@gnu.org>
* uncompyle6/parser.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py: Start to DRY Python2 and Python3
grammars Separate out 3.2, and 3.5+ specific grammar code
2016-04-30 rocky <rocky@gnu.org>
* ChangeLog, NEWS, README.rst, __pkginfo__.py: Get ready for release
2.3.1
2016-04-30 rocky <rocky@gnu.org>
* uncompyle6/parsers/astnode.py, uncompyle6/parsers/parse3.py,
uncompyle6/semantics/pysource.py: Python 3.0..3.2 bug in
LOAD_FAST/STORE_LOCAL LOAD_FAST '__locals__' STORE_LOCALS '' Also have to adjust doc constants for this crap astnode.py: minor format change
2016-04-30 rocky <rocky@gnu.org>
* test/Makefile, test/simple_source/def/06_classbug.py,
test/test_pythonlib.py: Test optimized Python code and Python 3.2
2016-04-30 rocky <rocky@gnu.org>
* uncompyle6/parsers/parse3.py: Pevious commit grammar change is
Python 3.5 and up
2016-04-30 rocky <rocky@gnu.org>
* uncompyle6/parsers/parse3.py: Python 3.5 if statments decompyle Sometimes it doesn't need JUMP_FORWARD _come_from _come_from For example: def handle2(module): if module == 'foo': try: module = 1 except ImportError as exc: module = exc return module And: if __name__: for i in (1, 2): x = 3
2016-04-28 rocky <rocky@gnu.org>
* requirements.txt, uncompyle6/parser.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py,
uncompyle6/semantics/fragments.py, uncompyle6/semantics/pysource.py:
spark -> spark_parser
2016-04-28 rocky <rocky@gnu.org>
* uncompyle6/parsers/spark.py: Really remove spark - Use external
package instead
2016-04-27 R. Bernstein <rocky@users.noreply.github.com>
* : Merge pull request #8 from rocky/external-spark External spark
2016-04-27 rocky <rocky@gnu.org>
* .travis.yml, circle.yml: Note dependencies on spark
2016-04-27 rocky <rocky@gnu.org>
* .gitignore, README.rst, requirements.txt, uncompyle6/parser.py,
uncompyle6/parsers/astnode.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py, uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Use external spark now.
2016-04-20 rocky <rocky@gnu.org>
* circle.yml: Back to 2.7.8
2016-04-20 rocky <rocky@gnu.org>
* circle.yml: Try python 2.7.10
2016-04-19 rocky <rocky@gnu.org>
* README.rst: Remove link to Mysterie uncompyle2 per request
2016-04-19 rocky <rocky@gnu.org>
* ChangeLog, NEWS, __pkginfo__.py: Get ready for release 2.2.0
2016-04-18 rocky <rocky@gnu.org>
* README.rst: Another typo
2016-04-18 R. Bernstein <rocky@users.noreply.github.com>
* : Merge pull request #7 from rocky/single-compile Support single-mode compile
2016-04-18 rocky <rocky@gnu.org>
* README.rst: Doc typo
2016-04-18 Thomas Grainger <tom.grainger@procensus.com>
* __pkginfo__.py, setup.cfg, setup.py: declare Python3 support in
wheel and trove
2016-04-18 rocky <rocky@gnu.org>
* uncompyle6/parser.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py: Start to DRY Python 2 and Python 3
grammar code Move common code to parser.py
2016-04-18 rocky <rocky@gnu.org>
* pytest/test_single_compile.py, uncompyle6/parser.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py: Add
simgle-mode compilation
2016-04-17 rocky <rocky@gnu.org>
* pytest/test_single_compile.py, uncompyle6/parser.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py,
uncompyle6/semantics/pysource.py: Towards single compilation
2016-04-10 rocky <rb@dustyfeet.com>
* : Back off if_else_ternary pending Fails on Python 3.4 investigation Python 3.5 works though
2016-04-10 rocky <rb@dustyfeet.com>
* .gitignore: Test administrivia
2016-04-07 rocky <rb@dustyfeet.com>
* HISTORY.md, README.rst,
test/simple_source/branching/10_if_else_ternary.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py: Handle
Ternary "or". Remove mention of uncompyle3 uncompyle3 removed per Mysterie's request [Fixes Issue #5]
2016-03-11 rocky <rb@dustyfeet.com>
* test/Makefile: remove uncompyle3 and make test work again * uncompyle3 removed by request * make test on python 2.7 is failing on some python3 and python3.5 bytecodes. Remove for now.
2016-02-23 R. Bernstein <rocky@users.noreply.github.com>
* : Merge pull request #3 from lelicopter/master Bug correction (parse cmd options)
2016-01-07 rocky <rb@dustyfeet.com>
* test/Makefile, test/bytecompile-tests, test/test_pythonlib.py: Add
Python 3.5 tests that we can do.
2016-01-05 R. Bernstein <rocky@users.noreply.github.com>
* HISTORY.md: Grammar fixes
2016-01-02 rocky <rb@dustyfeet.com>
* ChangeLog, NEWS, __pkginfo__.py: Get ready for release 2.1.3
2016-01-02 rocky <rb@dustyfeet.com>
* uncompyle6/opcodes/opcode_23.py, uncompyle6/opcodes/opcode_25.py,
uncompyle6/opcodes/opcode_26.py, uncompyle6/opcodes/opcode_27.py,
uncompyle6/opcodes/opcode_32.py, uncompyle6/opcodes/opcode_33.py,
uncompyle6/opcodes/opcode_34.py, uncompyle6/opcodes/opcode_35.py,
uncompyle6/opcodes/opcode_3x.py, uncompyle6/parser.py,
uncompyle6/scanner.py, uncompyle6/scanners/scanner32.py,
uncompyle6/scanners/scanner33.py, uncompyle6/scanners/scanner34.py,
uncompyle6/scanners/scanner35.py: Start to DRY opcode code. Limited
support for decopyling Python 3.5
2016-01-02 rocky <rb@dustyfeet.com>
* test/Makefile, test/ok_lib3.4/antigravity.py,
test/ok_lib3.4/bisect.py, test/test_pythonlib.py: Start 3.4 library
verify tests
2016-01-02 rocky <rb@dustyfeet.com>
* README.rst: Regularize spelling of bytecode
2016-01-02 rocky <rb@dustyfeet.com>
* Makefile, README.rst: Add download shield. Add check-rst target
2016-01-02 R. Bernstein <rocky@users.noreply.github.com>
* README.rst: Update README.rst
2016-01-02 rocky <rb@dustyfeet.com>
* uncompyle6/semantics/fragments.py: Track recent source class
semantic actions in fragment actions
2016-01-02 rocky <rb@dustyfeet.com>
* uncompyle6/scanner.py, uncompyle6/scanners/scanner25.py,
uncompyle6/scanners/scanner26.py, uncompyle6/scanners/scanner27.py:
Make ScannerXX() initialization the same on Python 2.x and 3.x
2016-01-02 rocky <rb@dustyfeet.com>
* test/Makefile,
test/simple_source/comprehension/05_list_comprehension.py,
test/simple_source/def/02_closure.py, test/test_pythonlib.py,
uncompyle6/main.py, uncompyle6/verify.py: Verify 3.4 bytecode.
verify API call bug fixed.
2016-01-02 rocky <rb@dustyfeet.com>
* test/simple_source/def/05_class.py, uncompyle6/load.py,
uncompyle6/main.py, uncompyle6/parsers/parse3.py,
uncompyle6/semantics/pysource.py: Python 3 class deparsing. stop
earlier in uncompyle6 on a syntax error.
2016-01-01 rocky <rb@dustyfeet.com>
* uncompyle6/scanners/scanner3.py: Fix make_closure compilation from
2.x of 3.3 bytecode
2016-01-01 rocky <rb@dustyfeet.com>
* test/simple_source/def/02_closure.py,
uncompyle6/parsers/parse3.py, uncompyle6/semantics/pysource.py: Work
on MAKE_CLOSURE rules for Python 3.3
2015-12-31 rocky <rb@dustyfeet.com>
* uncompyle6/semantics/fragments.py: track source deparsing
superclass bug fix
2015-12-31 rocky <rb@dustyfeet.com>
* ChangeLog, NEWS, __pkginfo__.py: Get ready for release 2.1.2
2015-12-31 rocky <rb@dustyfeet.com>
* test/base_tests/compile_tests,
test/base_tests/python2.7/test_applyEquiv.py,
test/base_tests/python2.7/test_augmentedAssign.py,
test/base_tests/python2.7/test_class.py,
test/base_tests/python2.7/test_del.py,
test/base_tests/python2.7/test_divide_future.py,
test/base_tests/python2.7/test_divide_no_future.py,
test/base_tests/python2.7/test_docstring.py,
test/base_tests/python2.7/test_empty.py,
test/base_tests/python2.7/test_exceptions.py,
test/base_tests/python2.7/test_exec.py,
test/base_tests/python2.7/test_expressions.py,
test/base_tests/python2.7/test_extendedImport.py,
test/base_tests/python2.7/test_extendedPrint.py,
test/base_tests/python2.7/test_extendedarg.py-notyet,
test/base_tests/python2.7/test_functions.py,
test/base_tests/python2.7/test_global.py,
test/base_tests/python2.7/test_globals.py,
test/base_tests/python2.7/test_import.py,
test/base_tests/python2.7/test_import_as.py,
test/base_tests/python2.7/test_integers.py,
test/base_tests/python2.7/test_iterators.py,
test/base_tests/python2.7/test_lambda.py,
test/base_tests/python2.7/test_listComprehensions.py,
test/base_tests/python2.7/test_loops.py,
test/base_tests/python2.7/test_loops2.py,
test/base_tests/python2.7/test_mine.py,
test/base_tests/python2.7/test_misc.py,
test/base_tests/python2.7/test_nested_elif.py,
test/base_tests/python2.7/test_nested_scopes.py,
test/base_tests/python2.7/test_prettyprint.py,
test/base_tests/python2.7/test_print.py,
test/base_tests/python2.7/test_print_to.py,
test/base_tests/python2.7/test_single_stmt.py,
test/base_tests/python2.7/test_slices.py,
test/base_tests/python2.7/test_tuple_params.py-notyet,
test/base_tests/python2.7/test_tuples.py-notyet,
test/base_tests/python2.7/test_yield.py,
test/base_tests/python3.4/__init__.py: Remove tests we will never
use
2015-12-31 rocky <rb@dustyfeet.com>
* .travis.yml, Makefile: Try travis testing on Python 3.5. Fix up
Makefile to avoid pytest on 3.5 for now
2015-12-31 rocky <rb@dustyfeet.com>
* test/ok_lib2.7/dircache.py, test/ok_lib2.7/dis.py: Add a few tests
from Python 2.7 standard library
2015-12-31 rocky <rb@dustyfeet.com>
* test/simple_source/def/05_class.py, uncompyle6/parsers/parse3.py,
uncompyle6/semantics/fragments.py, uncompyle6/semantics/pysource.py:
Handle Python 3.3 > dotted class names
2015-12-30 rocky <rb@dustyfeet.com>
* README.rst: Note Python 3.5
2015-12-30 rocky <rb@dustyfeet.com>
* Makefile, test/Makefile, uncompyle6/__init__.py,
uncompyle6/disas.py, uncompyle6/load.py, uncompyle6/magics.py,
uncompyle6/scanner.py, uncompyle6/scanners/scanner3.py: Allow Python
3.5 to decomplyle other versions. No Python 3.5 bytecode support
just yet though.
2015-12-30 rocky <rb@dustyfeet.com>
* uncompyle6/parser.py, uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Show details on parsing assert
failures.
2015-12-30 rocky <rb@dustyfeet.com>
* uncompyle6/parsers/parse3.py, uncompyle6/semantics/pysource.py:
Remove accidental schmutz. Try using pattr on 3.4 to get fn names
2015-12-30 rocky <rb@dustyfeet.com>
* uncompyle6/parsers/parse3.py: Parses another variation of Python3
try/except. Reinstate some tests
2015-12-30 rocky <rb@dustyfeet.com>
* : Reinstate list comprehension test. I think we've found/fixed the
initialization bug.
2015-12-30 rocky <rb@dustyfeet.com>
* uncompyle6/code.py, uncompyle6/disas.py, uncompyle6/main.py,
uncompyle6/marsh.py, uncompyle6/scanners/scanner27.py,
uncompyle6/scanners/scanner3.py, uncompyle6/scanners/scanner34.py,
uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py, uncompyle6/verify.py: Start using
our replacement for inspect.iscode
2015-12-30 rocky <rb@dustyfeet.com>
* uncompyle6/parsers/spark.py, uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Doc changes.
2015-12-30 rocky <rb@dustyfeet.com>
* uncompyle6/parsers/spark.py: document GenericASTTraversal.preorder
and default.
2015-12-30 rocky <rb@dustyfeet.com>
* uncompyle6/main.py, uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Walker->SourceWalker
Traverser->FragmentsWalker
2015-12-30 rocky <rb@dustyfeet.com>
* uncompyle6/parsers/parse3.py: Tidy parse3 grammer a little
2015-12-30 rocky <rb@dustyfeet.com>
* test/simple_source/exception/25_try_except.py,
test/test_pythonlib.py, uncompyle6/parsers/parse3.py,
uncompyle6/scanners/scanner27.py, uncompyle6/scanners/scanner3.py,
uncompyle6/scanners/scanner34.py, uncompyle6/semantics/pysource.py:
Towards Python3 getting try/except working more often.
2015-12-29 rocky <rb@dustyfeet.com>
* uncompyle6/scanners/scanner3.py: Fix another cross-version bug:
eliminate version-specific library 'dis' and use corresponding
version-indepent routine instead.
2015-12-29 rocky <rb@dustyfeet.com>
* test/Makefile, uncompyle6/marsh.py: Fix Python 2 cross deparsing
pythond bytecode tuples co_consts, co_names, co_varnames. Reinstate
cross Python 2-3 uncompiling
2015-12-29 rocky <rb@dustyfeet.com>
* uncompyle6/scanners/scanner34.py: Syntax error typo
2015-12-29 rocky <rb@dustyfeet.com>
* uncompyle6/marsh.py: Make sure internObjects is (re)initialized
2015-12-29 rocky <rb@dustyfeet.com>
* uncompyle6/parser.py, uncompyle6/scanners/scanner34.py,
uncompyle6/verify.py: inspect.iscode -> hasattr for now until we
write a cross-version iscode
2015-12-29 rocky <rb@dustyfeet.com>
* README.rst, test/Makefile, uncompyle6/opcodes/opcode_32.py,
uncompyle6/opcodes/opcode_33.py, uncompyle6/opcodes/opcode_34.py,
uncompyle6/scanners/scanner3.py, uncompyle6/scanners/scanner32.py:
scanner3: Python 2.6 compatibility: change set initializations. Get
rid of * import opcode_*: only a little of the much-needed larger
cleanup Makefile: remove 3.x bytecode checking from Python 2.x for
now. DRY Makefile a little bit (but more is needed)
2015-12-28 rocky <rb@dustyfeet.com>
* uncompyle6/scanners/scanner3.py: Python 2.6.9 compatibility
2015-12-28 rocky <rb@dustyfeet.com>
* uncompyle6/main.py, uncompyle6/marsh.py: Marshal loading of =
>python 3.4 from Python < 3.4
2015-12-28 rocky <rb@dustyfeet.com>
* uncompyle6/disas.py, uncompyle6/load.py, uncompyle6/main.py,
uncompyle6/marsh.py, uncompyle6/scanners/scanner3.py,
uncompyle6/semantics/fragments.py, uncompyle6/semantics/pysource.py:
Add Python3 marshal codes and start to handle cross-version Python
code object types, introducing scan.Code3
2015-12-27 rocky <rb@dustyfeet.com>
* uncompyle6/load.py, uncompyle6/marsh.py: Possibly closer to
getting 2.7 to read 3.4 bytecode
2015-12-27 rocky <rb@dustyfeet.com>
* uncompyle6/load.py, uncompyle6/main.py, uncompyle6/marsh.py,
uncompyle6/scanner.py, uncompyle6/scanners/scanner25.py,
uncompyle6/scanners/scanner26.py, uncompyle6/scanners/scanner27.py,
uncompyle6/scanners/scanner3.py, uncompyle6/scanners/scanner32.py,
uncompyle6/scanners/scanner33.py, uncompyle6/scanners/scanner34.py,
uncompyle6/semantics/pysource.py: Fix up Python 2.x's ability to get
code from Python 3.x's bytecode
2015-12-27 rocky <rb@dustyfeet.com>
* test/test_pythonlib.py: defer some tests
2015-12-27 rocky <rb@dustyfeet.com>
* : commit 7c5b8d803c5b76b185ebc8f6e7587fa64ef531e9 Author: rocky
<rb@dustyfeet.com> Date: Sun Dec 27 16:49:37 2015 -0500
2015-12-27 rocky <rb@dustyfeet.com>
* : 3.2 bytecode
2015-12-27 rocky <rb@dustyfeet.com>
* ChangeLog, NEWS, README.rst, __pkginfo__.py: Get ready for release
2.1.1
2015-12-27 rocky <rb@dustyfeet.com>
* ChangeLog, NEWS, README.rst, __pkginfo__.py,
test/bytecompile-tests, uncompyle6/opcodes/Makefile,
uncompyle6/opcodes/opcode_23.py, uncompyle6/opcodes/opcode_24.py,
uncompyle6/opcodes/opcode_25.py, uncompyle6/opcodes/opcode_26.py,
uncompyle6/opcodes/opcode_27.py, uncompyle6/opcodes/opcode_32.py,
uncompyle6/opcodes/opcode_33.py, uncompyle6/opcodes/opcode_34.py,
uncompyle6/parser.py, uncompyle6/parsers/parse3.py,
uncompyle6/scanner.py, uncompyle6/scanners/scanner25.py,
uncompyle6/scanners/scanner26.py, uncompyle6/scanners/scanner27.py,
uncompyle6/scanners/scanner3.py, uncompyle6/scanners/scanner32.py,
uncompyle6/scanners/scanner33.py, uncompyle6/scanners/scanner34.py,
uncompyle6/semantics/fragments.py, uncompyle6/semantics/pysource.py:
DRY Python3 scanner code. Some cross version handling fixed. Some
Python 3.2 and 3.3 deparse fixes.
2015-12-27 rocky <rb@dustyfeet.com>
* README.rst, test/bytecompile-tests, uncompyle6/opcodes/Makefile,
uncompyle6/opcodes/opcode_23.py, uncompyle6/opcodes/opcode_24.py,
uncompyle6/opcodes/opcode_25.py, uncompyle6/opcodes/opcode_26.py,
uncompyle6/opcodes/opcode_27.py, uncompyle6/opcodes/opcode_32.py,
uncompyle6/opcodes/opcode_33.py, uncompyle6/opcodes/opcode_34.py,
uncompyle6/parser.py, uncompyle6/parsers/parse3.py,
uncompyle6/scanner.py, uncompyle6/scanners/scanner25.py,
uncompyle6/scanners/scanner26.py, uncompyle6/scanners/scanner27.py,
uncompyle6/scanners/scanner3.py, uncompyle6/scanners/scanner32.py,
uncompyle6/scanners/scanner33.py, uncompyle6/scanners/scanner34.py,
uncompyle6/semantics/fragments.py, uncompyle6/semantics/pysource.py:
DRY Python3 scanner code. Some cross version handling fixed. Some
Python 3.2 and 3.3 deparse fixes.
2015-12-26 rocky <rb@dustyfeet.com>
* .travis.yml, test/Makefile, uncompyle6/verify.py: Running native
on Python 3.3 needs more work
2015-12-26 rocky <rb@dustyfeet.com>
* test/Makefile, test/test_pythonlib.py: Add ok-2.7 tests for 3.4
full testing
2015-12-26 rocky <rb@dustyfeet.com>
* test/Makefile, test/bytecompile-tests, test/test_pythonlib.py: Add
verify tests. Add Python 2.6 bytecode and use.
2015-12-26 rocky <rb@dustyfeet.com>
* uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Add node and template code to
cleanup "for" handling
2015-12-26 rocky <rb@dustyfeet.com>
* .travis.yml: Try Python 2.6 testing on travis
2015-12-26 rocky <rb@dustyfeet.com>
* test/Makefile: For testing we can't 3.3 bytecodes on 2.7 yet, so
use 3.2
2015-12-26 rocky <rb@dustyfeet.com>
* .travis.yml, Makefile, requirements-dev.txt, test/Makefile,
test/bytecompile-tests, test/test_pythonlib.py,
uncompyle6/__init__.py, uncompyle6/opcodes/opcode_32.py,
uncompyle6/opcodes/opcode_33.py, uncompyle6/opcodes/opcode_34.py,
uncompyle6/scanner.py, uncompyle6/scanners/scanner32.py,
uncompyle6/scanners/scanner33.py, uncompyle6/scanners/scanner34.py,
uncompyle6/semantics/pysource.py: Fix up Python 3.2, 3.3, and 3.4
cross-version scanners Try travis 2.6 and 3.3
2015-12-26 rocky <rb@dustyfeet.com>
* .travis.yml: Travis: try checking 3.4
2015-12-26 rocky <rb@dustyfeet.com>
* test/simple_source/exception/05_try_except.py,
test/simple_source/looping/10_while.py,
test/simple_source/looping/while.py,
test/simple_source/simple_stmts/00_assign.py,
test/simple_source/simple_stmts/00_import.py,
test/simple_source/simple_stmts/00_pass.py,
test/simple_source/simple_stmts/15_assert.py,
test/simple_source/stmts/00_assign.py,
test/simple_source/stmts/00_import.py,
test/simple_source/stmts/00_pass.py,
test/simple_source/stmts/15_assert.py,
test/simple_source/stmts/15_for_if.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py,
uncompyle6/scanners/scanner32.py, uncompyle6/scanners/scanner34.py:
Fix up looping by reinstating JUMP_ABSOLUTE -> JUMP_BACK or CONTINUE
get jump offsets into jump attributes. Fix up 3.2 scanner paritally
and use that in 3.4 for in cross version disassembly.
2015-12-26 rocky <rb@dustyfeet.com>
* test/simple_source/exception/01_try_except.py,
test/simple_source/exception/05_try_except.py, uncompyle6/main.py,
uncompyle6/opcodes/opcode_34.py, uncompyle6/parsers/parse3.py,
uncompyle6/semantics/pysource.py: Python3 try/except handling
improvements. Add Walker exception and use that: fixes erroneous
uncompyle success message on parse error.
2015-12-25 rocky <rb@dustyfeet.com>
* test/simple_source/exception/01_try_except.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py: WIP redo
try/except for Python3
2015-12-25 rocky <rb@dustyfeet.com>
* uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Fix bugs in using pysource from
fragments.
2015-12-25 rocky <rb@dustyfeet.com>
* uncompyle6/semantics/Makefile, uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Two modes of disassembly, one
where we show hidden code and one where we don't.
2015-12-25 rocky <rb@dustyfeet.com>
* README.rst: README.rst typos
2015-12-25 rocky <rb@dustyfeet.com>
* .gitignore, ChangeLog, MANIFEST.in, NEWS, __pkginfo__.py,
test/Makefile: Get ready for releaes 2.0.0
2015-12-25 rocky <rb@dustyfeet.com>
* pytest/test_deparse.py: Port deparse test from python-deparse to
py.test
2015-12-24 rocky <rb@dustyfeet.com>
* uncompyle6/parsers/parse3.py, uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Remove Python3 class __qualname__
assignment. Change LOAD_NAME to LOAD_CLASSNAME to make parsing more
reliable and intentional.
2015-12-24 rocky <rb@dustyfeet.com>
* test/simple_source/def/01_class.py,
test/simple_source/exception/05_try_except.py,
uncompyle6/parsers/parse3.py, uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Improve Python3 class definition
handling
2015-12-24 rocky <rb@dustyfeet.com>
* uncompyle6/verify.py: One more place for API change
2015-12-24 rocky <rb@dustyfeet.com>
* pytest/test_load.py, test/dis-compare.py, uncompyle6/disas.py,
uncompyle6/load.py, uncompyle6/main.py, uncompyle6/verify.py: Show
embeded timestamp of byte-decompiled file
2015-12-23 rocky <rb@dustyfeet.com>
* uncompyle6/semantics/fragments.py: Lint
2015-12-23 rocky <rb@dustyfeet.com>
* test/simple_source/exception/05_try_except.py,
uncompyle6/parsers/parse3.py: WIP: Python3 exceptions
2015-12-23 rocky <rb@dustyfeet.com>
* test/simple_source/simple_stmts/00_import.py,
test/simple_source/simple_stmts/00_pass.py,
uncompyle6/parsers/parse3.py, uncompyle6/semantics/pysource.py:
Start Python3 class(superclass) handling
2015-12-23 rocky <rb@dustyfeet.com>
* test/simple_source/def/01_class.py, uncompyle6/load.py,
uncompyle6/main.py, uncompyle6/parsers/parse2.py,
uncompyle6/semantics/pysource.py: parse2.py, pysource.py: add
buildclass nonterminal to structure tree better and make more
similar to Python3 load.py: handle magic errors better main.py:
correct use when passing a .py instead of a .pyc better and a
message err when file not found. pysource.py: fix up main
docstring; code moved from main.py
2015-12-23 rocky <rb@dustyfeet.com>
* uncompyle6/semantics/fragments.py: Add fragmnet offsets for 'from
x import..'
2015-12-22 rocky <rb@dustyfeet.com>
* uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py: Propogate offsets in imports.
Added a new %x format specifier.
2015-12-22 rocky <rb@dustyfeet.com>
* test/simple_source/def/01_class.py,
test/simple_source/def/02_def.py, test/simple_source/def/def0.py,
test/simple_source/def/def1.py, uncompyle6/__init__.py,
uncompyle6/opcodes/opcode_25.py, uncompyle6/opcodes/opcode_26.py,
uncompyle6/opcodes/opcode_27.py, uncompyle6/opcodes/opcode_34.py,
uncompyle6/parsers/astnode.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py, uncompyle6/parsers/spark.py,
uncompyle6/semantics/fragments.py, uncompyle6/semantics/pysource.py:
Allow comments in grammar rules. Start working on Python3 class (not
finished). More test organization.
2015-12-22 rocky <rb@dustyfeet.com>
* test/simple_source/def/01_class.py,
test/simple_source/def/10_class.py,
uncompyle6/opcodes/opcode_32.py, uncompyle6/opcodes/opcode_34.py,
uncompyle6/parsers/parse3.py: Remove Python2 buitin "print" from
Python3's grammr. Start class tests
2015-12-22 rocky <rb@dustyfeet.com>
* bin/uncompyle6, uncompyle6/main.py, uncompyle6/parser.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/spark.py,
uncompyle6/semantics/pysource.py: main.py, pysource.py DRY
deparse_code from main. Is better on showing exception errrors such
as when a pyc file is not found uncompyle6: Hook in --grammar option
to showing grammar. rules. Default now does not show timestamp.
2015-12-22 rocky <rb@dustyfeet.com>
* bin/uncompyle6, pytest/test_disasm.py,
pytest/testdata/if-2.7.right, pytest/testdata/ifelse-2.7.right,
test/Makefile, test/add-test.py,
test/simple_source/branching/05_if.py,
test/simple_source/branching/05_ifelse.py,
test/simple_source/branching/if.py,
test/simple_source/branching/ifelse.py,
test/simple_source/call_arguments/01_positional.py,
test/simple_source/call_arguments/10_keyword.py,
test/simple_source/call_arguments/keyword.py,
test/simple_source/call_arguments/positional.py,
test/simple_source/exception/20_try_except.py,
test/simple_source/exception/25_try_except.py,
test/simple_source/misc/assert.py,
test/simple_source/misc/assign_none.py,
test/simple_source/operation_logic/01_boolean.py,
test/simple_source/operation_logic/10_mixed_boolean.py,
test/simple_source/operation_logic/or.py,
test/simple_source/simple_stmts/15_assert.py,
test/simple_source/slice/01_slice.py,
test/simple_source/slice/02_slice.py, uncompyle6/main.py,
uncompyle6/parsers/parse3.py, uncompyle6/parsers/spark.py,
uncompyle6/semantics/pysource.py: Add spark option to show grammer.
Revise uncompyle options. Start to reorganize tests more
2015-12-21 rocky <rb@dustyfeet.com>
* README.rst: grammar
2015-12-21 rocky <rb@dustyfeet.com>
* README.rst: Add meat to CI tag
2015-12-21 rocky <rb@dustyfeet.com>
* README.rst: Use travis badge for now
2015-12-21 rocky <rb@dustyfeet.com>
* README.rst: Make README.rst reflect current situation better
2015-12-21 rocky <rb@dustyfeet.com>
* HISTORY.md, test/simple_source/README,
test/simple_source/exception/20_try_except.py,
test/simple_source/looping/10_for.py,
test/simple_source/looping/for.py, uncompyle6/main.py,
uncompyle6/opcodes/opcode_34.py, uncompyle6/parsers/spark.py,
uncompyle6/scanners/scanner34.py: Bug in for loop with try. Add more
of 2.7's COME_FROM statements. spark.py: add tracing reduce rules.
main: reduce cutsines. Start history
2015-12-21 rocky <rb@dustyfeet.com>
* test/bytecode_2.7/README, test/bytecode_3.2/README,
test/bytecode_3.4/README, test/bytecompile-tests,
test/simple_source/README,
test/simple_source/exception/01_try_except.py,
test/simple_source/misc/assign.py,
test/simple_source/misc/assign_none_str.py,
test/simple_source/simple_stmts/00_assign.py,
uncompyle6/parsers/parse3.py, uncompyle6/semantics/pysource.py:
Start Python3 execption handling
2015-12-21 rocky <rb@dustyfeet.com>
* test/simple-source/README, test/simple-source/branching/if.py,
test/simple-source/branching/ifelse.py,
test/simple-source/call_arguments/keyword.py,
test/simple-source/call_arguments/positional.py,
test/simple-source/comprehension/01-lc.py,
test/simple-source/comprehension/forelse.py,
test/simple-source/def/def0.py, test/simple-source/def/def1.py,
test/simple-source/looping/for.py,
test/simple-source/looping/while.py,
test/simple-source/misc/assert.py,
test/simple-source/misc/assign.py,
test/simple-source/misc/assign_none.py,
test/simple-source/misc/assign_none_str.py,
test/simple-source/operation_binary/add.py,
test/simple-source/operation_binary/and.py,
test/simple-source/operation_binary/divide_floor.py,
test/simple-source/operation_binary/divide_true.py,
test/simple-source/operation_binary/modulo.py,
test/simple-source/operation_binary/multiply.py,
test/simple-source/operation_binary/or.py,
test/simple-source/operation_binary/power.py,
test/simple-source/operation_binary/shift_left.py,
test/simple-source/operation_binary/shift_right.py,
test/simple-source/operation_binary/subscription.py,
test/simple-source/operation_binary/subtract.py,
test/simple-source/operation_binary/xor.py,
test/simple-source/operation_comparison/equal.py,
test/simple-source/operation_comparison/greater.py,
test/simple-source/operation_comparison/greater_equal.py,
test/simple-source/operation_comparison/less.py,
test/simple-source/operation_comparison/less_equal.py,
test/simple-source/operation_comparison/notequal.py,
test/simple-source/operation_inplace/add.py,
test/simple-source/operation_inplace/and.py,
test/simple-source/operation_inplace/divide_floor.py,
test/simple-source/operation_inplace/divide_true.py,
test/simple-source/operation_inplace/modulo.py,
test/simple-source/operation_inplace/multiply.py,
test/simple-source/operation_inplace/or.py,
test/simple-source/operation_inplace/power.py,
test/simple-source/operation_inplace/shift_left.py,
test/simple-source/operation_inplace/shift_right.py,
test/simple-source/operation_inplace/subtract.py,
test/simple-source/operation_inplace/xor.py,
test/simple-source/operation_logic/and.py,
test/simple-source/operation_logic/complex1.py,
test/simple-source/operation_logic/complex2.py,
test/simple-source/operation_logic/complex3.py,
test/simple-source/precedence/left.py,
test/simple-source/precedence/right.py,
test/simple-source/precedence/structure.py,
test/simple-source/slice/01-slice.py, test/simple_source/README,
test/simple_source/branching/if.py,
test/simple_source/branching/ifelse.py,
test/simple_source/call_arguments/keyword.py,
test/simple_source/call_arguments/positional.py,
test/simple_source/comprehension/01_list_comprehension.py,
test/simple_source/comprehension/forelse.py,
test/simple_source/def/def0.py, test/simple_source/def/def1.py,
test/simple_source/exception/01_try_except.py,
test/simple_source/looping/for.py,
test/simple_source/looping/while.py,
test/simple_source/misc/assert.py,
test/simple_source/misc/assign.py,
test/simple_source/misc/assign_none.py,
test/simple_source/misc/assign_none_str.py,
test/simple_source/operation_binary/add.py,
test/simple_source/operation_binary/and.py,
test/simple_source/operation_binary/divide_floor.py,
test/simple_source/operation_binary/divide_true.py,
test/simple_source/operation_binary/modulo.py,
test/simple_source/operation_binary/multiply.py,
test/simple_source/operation_binary/or.py,
test/simple_source/operation_binary/power.py,
test/simple_source/operation_binary/shift_left.py,
test/simple_source/operation_binary/shift_right.py,
test/simple_source/operation_binary/subscription.py,
test/simple_source/operation_binary/subtract.py,
test/simple_source/operation_binary/xor.py,
test/simple_source/operation_comparison/equal.py,
test/simple_source/operation_comparison/greater.py,
test/simple_source/operation_comparison/greater_equal.py,
test/simple_source/operation_comparison/less.py,
test/simple_source/operation_comparison/less_equal.py,
test/simple_source/operation_comparison/notequal.py,
test/simple_source/operation_inplace/add.py,
test/simple_source/operation_inplace/and.py,
test/simple_source/operation_inplace/divide_floor.py,
test/simple_source/operation_inplace/divide_true.py,
test/simple_source/operation_inplace/modulo.py,
test/simple_source/operation_inplace/multiply.py,
test/simple_source/operation_inplace/or.py,
test/simple_source/operation_inplace/power.py,
test/simple_source/operation_inplace/shift_left.py,
test/simple_source/operation_inplace/shift_right.py,
test/simple_source/operation_inplace/subtract.py,
test/simple_source/operation_inplace/xor.py,
test/simple_source/operation_logic/or.py,
test/simple_source/operation_unary/invert.py,
test/simple_source/operation_unary/iter.py,
test/simple_source/operation_unary/negative.py,
test/simple_source/operation_unary/not.py,
test/simple_source/operation_unary/positive.py,
test/simple_source/precedence/left.py,
test/simple_source/precedence/right.py,
test/simple_source/precedence/structure.py,
test/simple_source/slice/01_slice.py: Regularize test names.
2015-12-21 rocky <rb@dustyfeet.com>
* test/Makefile, test/simple-source/slice/01-slice.py,
uncompyle6/opcodes/opcode_32.py, uncompyle6/opcodes/opcode_34.py,
uncompyle6/parsers/astnode.py, uncompyle6/parsers/parse3.py,
uncompyle6/scanner.py, uncompyle6/scanners/tok.py,
uncompyle6/semantics/pysource.py: Start Python3 slices. Split off
token routine.
2015-12-21 rocky <rb@dustyfeet.com>
* uncompyle6/__init__.py, uncompyle6/marsh.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py: Start
slice and build list on Python3. Do sanity check on marshal load of
code.
2015-12-20 rocky <rb@dustyfeet.com>
* Makefile, bin/uncompyle6, pytest/test_load.py, test/Makefile,
test/test_pythonlib.py, uncompyle6/__init__.py,
uncompyle6/deparser.py, uncompyle6/disas.py, uncompyle6/load.py,
uncompyle6/main.py, uncompyle6/semantics/__init__.py,
uncompyle6/semantics/fragments.py,
uncompyle6/semantics/pysource.py, uncompyle6/verify.py,
uncompyle6/walker.py: Part of a much needed cleanup. Move semantics
routines into its own directory. Move out lots of stuff from
__init__ to their own files. Add file loading tests. Document AST
handling a tad more complete.
2015-12-20 rocky <rb@dustyfeet.com>
* test/Makefile, test/simple-source/misc/assign_none.py,
test/simple-source/misc/assign_none_str.py, uncompyle6/marsh.py,
uncompyle6/scanners/scanner32.py, uncompyle6/scanners/scanner34.py:
Python 3 decompilation from Python2
2015-12-20 rocky <rb@dustyfeet.com>
* test/Makefile, test/simple-source/comprehension/01-lc.py,
test/test_pythonlib.py, uncompyle6/deparser.py,
uncompyle6/parsers/parse3.py, uncompyle6/scanners/scanner34.py,
uncompyle6/walker.py: First list comprehensions from Python3. More
test makefile hacking
2015-12-20 rocky <rb@dustyfeet.com>
* uncompyle6/disas.py: dissasemble_file output is needed for pytest
2015-12-20 rocky <rb@dustyfeet.com>
* Makefile, README.rst, test/Makefile, test/dis-compare.py,
uncompyle6/deparser.py, uncompyle6/disas.py, uncompyle6/walker.py:
Go over makefiles to make "make check" work. walker, deparser: use
zip_longest
2015-12-19 rocky <rb@dustyfeet.com>
* uncompyle6/deparser.py, uncompyle6/walker.py: 3.4: correct picking
up parameter names on oa function call
2015-12-19 rocky <rb@dustyfeet.com>
* uncompyle6/deparser.py, uncompyle6/walker.py: Python3 compatiblity
for getting precidence. n_mkfunc needs to key off of bytecode
version, not running Python version.
2015-12-19 rocky <rb@dustyfeet.com>
* README.rst: rSt-style linking
2015-12-19 rocky <rb@dustyfeet.com>
* README.rst: Update what this is about
2015-12-19 rocky <rb@dustyfeet.com>
* test/simple-source/def/def0.py, test/simple-source/def/def1.py,
uncompyle6/__init__.py, uncompyle6/deparser.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py,
uncompyle6/scanners/scanner34.py, uncompyle6/verify.py,
uncompyle6/walker.py: Python 3.4: MAKE_FUNCTION starts to work.
2015-12-19 rocky <rb@dustyfeet.com>
* LICENSE, README.rst: Docs
2015-12-19 rocky <rb@dustyfeet.com>
* test/simple-source/operation_binary/multiply.py,
test/simple-source/operation_binary/or.py,
test/simple-source/operation_binary/power.py,
test/simple-source/operation_binary/shift_left.py,
test/simple-source/operation_binary/shift_right.py,
test/simple-source/operation_binary/subscription.py,
test/simple-source/operation_binary/subtract.py,
test/simple-source/operation_binary/xor.py,
test/simple-source/operation_comparison/equal.py,
test/simple-source/operation_comparison/greater.py,
test/simple-source/operation_comparison/greater_equal.py,
test/simple-source/operation_comparison/less.py,
test/simple-source/operation_comparison/less_equal.py,
test/simple-source/operation_comparison/notequal.py,
test/simple-source/operation_inplace/add.py,
test/simple-source/operation_inplace/and.py,
test/simple-source/operation_inplace/divide_floor.py,
test/simple-source/operation_inplace/divide_true.py,
test/simple-source/operation_inplace/modulo.py,
test/simple-source/operation_inplace/multiply.py,
test/simple-source/operation_inplace/or.py,
test/simple-source/operation_inplace/power.py,
test/simple-source/operation_inplace/shift_left.py,
test/simple-source/operation_inplace/shift_right.py,
test/simple-source/operation_inplace/subtract.py,
test/simple-source/operation_inplace/xor.py,
test/simple-source/operation_logic/and.py,
test/simple-source/operation_logic/complex1.py,
test/simple-source/operation_logic/complex2.py,
test/simple-source/operation_logic/complex3.py,
test/simple-source/precedence/left.py,
test/simple-source/precedence/right.py,
test/simple-source/precedence/structure.py,
uncompyle6/parsers/parse3.py, uncompyle6/scanners/scanner34.py:
Python 3 bytecode handles opcodes with varargs (better). Decompiling
assert works. Add more of the simple tests and their compiled
bytecode.
2015-12-18 rocky <rb@dustyfeet.com>
* uncompyle6/disas.py, uncompyle6/opcodes/opcode_23.py: disas.py:
track load_module API change opcode_23.py: make it more like
opcode_27.py
2015-12-18 rocky <rb@dustyfeet.com>
* uncompyle6/__init__.py, uncompyle6/magics.py,
uncompyle6/marsh.py, uncompyle6/verify.py: verify.py: Don't try to
verify bytecode against compiled code if magics of running
interpreter mismatch bytecode to be compared. load_module() now
returns the magic found in the code object file.
2015-12-18 rocky <rb@dustyfeet.com>
* test/Makefile, uncompyle6/__init__.py, uncompyle6/marsh.py,
uncompyle6/parsers/parse3.py, uncompyle6/scanner.py,
uncompyle6/scanners/scanner25.py, uncompyle6/scanners/scanner26.py,
uncompyle6/scanners/scanner27.py, uncompyle6/scanners/scanner32.py,
uncompyle6/scanners/scanner34.py: marshal.py: Python2 marshal code
shouldn't try to turn a code object into a string. parse3.py: handle
both keyword and positional function calls. scanner34.py: Remove
extra level of quoting in LOAD_CONST. Keyward handling now works
cross Python 2/3. Some other spelling and doc fixes.
2015-12-18 rocky <rb@dustyfeet.com>
* README.rst, test/simple-source/call_arguments/positional.py,
uncompyle6/disas.py, uncompyle6/parser.py,
uncompyle6/parsers/astnode.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py, uncompyle6/scanners/scanner27.py,
uncompyle6/walker.py: Python3 postional arguments. Clean up code
more along the lines of uncompyle3.
2015-12-18 rocky <rb@dustyfeet.com>
* test/simple-source/comprehension/forelse.py, uncompyle6/disas.py:
disas.py: Do better for finding/turning a .py file into a .pyc file
across supported versions of Python. Add for else list comprehension
test
2015-12-17 rocky <rb@dustyfeet.com>
* uncompyle6/__init__.py: Restrict marshal.loads when magic is the
same. This is more stringent than using the Python major/minor
version
2015-12-17 rocky <rb@dustyfeet.com>
* test/Makefile, test/bytecode_2.5/README, test/bytecompile-tests,
test/simple-source/misc/assert.py,
test/simple-source/misc/assign.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py: Frank Ebersoll's grammar fix to make
"assert isinstance(1, int)" work.
2015-12-17 rocky <rb@dustyfeet.com>
* test/ok_lib2.7/asyncore.py: Remove 2.7 lib testfile pending
further resolution
2015-12-17 rocky <rb@dustyfeet.com>
* Makefile: correct makefile build targets
2015-12-17 rocky <rb@dustyfeet.com>
* Makefile, bin/pydisassemble, bin/uncompyle6,
test/bytecompile-tests, test/dis-compare.py,
uncompyle6/__init__.py, uncompyle6/disas.py,
uncompyle6/opcodes/opcode_25.py, uncompyle6/opcodes/opcode_26.py,
uncompyle6/opcodes/opcode_27.py, uncompyle6/scanners/scanner25.py,
uncompyle6/scanners/scanner26.py, uncompyle6/scanners/scanner27.py,
uncompyle6/verify.py: Python 2.6 compatability via ericfrederich's
patch. DRY version-checking code
2015-12-17 rocky <rb@dustyfeet.com>
* .travis.yml, Makefile, circle.yml, pytest/test_disasm.py,
pytest/testdata/if-2.7.right, pytest/testdata/ifelse-2.7.right,
pytest/testdata/test1.right, test/Makefile,
test/bytecode_2.7/README, test/bytecode_3.4/README,
test/ok_2.6/anydbm.py, test/ok_2.7/aifc.py,
test/ok_2.7/antigravity.py, test/ok_2.7/anydbm.py,
test/ok_2.7/asynchat.py, test/ok_2.7/asyncore.py,
test/ok_2.7/atexit.py, test/ok_2.7/audiodev.py,
test/ok_2.7/base64.py, test/ok_2.7/binhex.py,
test/ok_2.7/bisect.py, test/ok_2.7/bsddb/__init__.py,
test/ok_2.7/bsddb/db.py, test/ok_2.7/bsddb/dbobj.py,
test/ok_2.7/bsddb/dbrecio.py, test/ok_2.7/bsddb/dbshelve.py,
test/ok_2.7/bsddb/dbutils.py, test/ok_2.7/calendar.py,
test/ok_2.7/cgitb.py, test/ok_2.7/chunk.py, test/ok_2.7/codeop.py,
test/ok_2.7/colorsys.py, test/ok_2.7/commands.py,
test/ok_2.7/compileall.py, test/ok_2.7/compiler/__init__.py,
test/ok_2.7/compiler/ast.py, test/ok_2.7/compiler/consts.py,
test/ok_2.7/compiler/future.py, test/ok_2.7/compiler/misc.py,
test/ok_2.7/compiler/syntax.py, test/ok_2.7/ctypes/_endian.py,
test/ok_2.7/ctypes/util.py, test/ok_2.7/ctypes/wintypes.py,
test/ok_2.7/curses/__init__.py, test/ok_2.7/curses/ascii.py,
test/ok_2.7/curses/has_key.py, test/ok_2.7/curses/panel.py,
test/ok_2.7/curses/wrapper.py, test/ok_2.7/dircache.py,
test/ok_2.7/dis.py, test/ok_lib2.6/README,
test/ok_lib2.6/anydbm.py, test/ok_lib2.7/README,
test/ok_lib2.7/aifc.py, test/ok_lib2.7/antigravity.py,
test/ok_lib2.7/anydbm.py, test/ok_lib2.7/asynchat.py,
test/ok_lib2.7/asyncore.py, test/ok_lib2.7/atexit.py,
test/ok_lib2.7/audiodev.py, test/ok_lib2.7/base64.py,
test/ok_lib2.7/binhex.py, test/ok_lib2.7/bisect.py,
test/ok_lib2.7/calendar.py, test/ok_lib2.7/cgitb.py,
test/ok_lib2.7/chunk.py, test/ok_lib2.7/codeop.py,
test/ok_lib2.7/colorsys.py, test/ok_lib2.7/commands.py,
test/ok_lib2.7/compileall.py,
test/simple-source/operation_binary/add.py,
test/simple-source/operation_binary/and.py,
test/simple-source/operation_binary/divide_floor.py,
test/simple-source/operation_binary/divide_true.py,
test/simple-source/operation_binary/modulo.py,
test/test_pythonlib.py, uncompyle6/__init__.py,
uncompyle6/deparser.py, uncompyle6/disas.py,
uncompyle6/opcodes/opcode_34.py, uncompyle6/parsers/spark.py,
uncompyle6/scanners/scanner27.py, uncompyle6/scanners/scanner34.py,
uncompyle6/verify.py, uncompyle6/walker.py: Python3: remove "return
None" at end of main for uncompyle. Fix up verify for Python3. First
automated Python 3.4 tests via "makecheck-3.4" in test directory.
2015-12-17 rocky <rb@dustyfeet.com>
* test/bytecompile-tests, test/simple-source/branching/if.py,
test/simple-source/branching/ifelse.py,
test/simple-source/looping/for.py, uncompyle6/__init__.py,
uncompyle6/disas.py, uncompyle6/parsers/spark.py: Add spark grammar
debugging. Start to comment grammer construct covered by simple
tests.
2015-12-17 rocky <rb@dustyfeet.com>
* uncompyle6/opcodes/opcode_34.py, uncompyle6/parsers/parse3.py:
Python 3.4 correct grammar for some looping constructs
2015-12-17 rocky <rb@dustyfeet.com>
* test/bytecompile-tests, test/compile_tests,
test/simple-source/README, test/simple-source/branching/if.py,
test/simple-source/branching/ifelse.py,
test/simple-source/call_arguments/keyword.py,
test/simple-source/call_arguments/positional.py,
test/simple-source/looping/for.py,
test/simple-source/looping/while.py,
test/source_3.4/branching/if.py,
test/source_3.4/branching/ifelse.py, uncompyle6/parsers/parse2.py,
uncompyle6/parsers/parse3.py, uncompyle6/parsers/spark.py,
uncompyle6/scanners/scanner34.py: Python 3.4 if ifelse decompyling
now works.
2015-12-16 rocky <rb@dustyfeet.com>
* test/dis-compare.py, test/simple-uncompyle-code-test.py,
uncompyle6/__init__.py, uncompyle6/deparser.py,
uncompyle6/parser.py, uncompyle6/parsers/__init__.py,
uncompyle6/parsers/parse2.py, uncompyle6/parsers/parse3.py,
uncompyle6/parsers/spark.py, uncompyle6/scanner.py,
uncompyle6/scanners/scanner25.py, uncompyle6/scanners/scanner26.py,
uncompyle6/scanners/scanner27.py, uncompyle6/scanners/scanner32.py,
uncompyle6/scanners/scanner34.py, uncompyle6/spark.py,
uncompyle6/walker.py: Supoer multiple parsers, specifically for
Python2 and Python3. In the process some OO cleanup and some global
variable hacks removed.
2015-12-16 rocky <rb@dustyfeet.com>
* uncompyle6/deparser.py, uncompyle6/disas.py,
uncompyle6/parser.py, uncompyle6/scanner.py, uncompyle6/walker.py:
Add LICENSE. Add demo programs and DRY code a little
2015-12-16 rocky <rb@dustyfeet.com>
* uncompyle6/opcodes/opcode_34.py, uncompyle6/scanner.py,
uncompyle6/scanners/scanner25.py, uncompyle6/scanners/scanner26.py,
uncompyle6/scanners/scanner27.py, uncompyle6/scanners/scanner34.py:
On Python3.4 decompiling Python 3.4 instructions, use its built-in
disassembler routines. In contrast to what was here, they most
likely work!
2015-12-16 rocky <rb@dustyfeet.com>
* Makefile, pytest/testdata/.gitignore, test/Makefile,
test/compile_tests, uncompyle6/deparser.py, uncompyle6/disas.py,
uncompyle6/marsh.py, uncompyle6/scanner.py,
uncompyle6/scanners/scanner25.py, uncompyle6/scanners/scanner26.py,
uncompyle6/scanners/scanner27.py, uncompyle6/verify.py: Tidy a
little bit
2015-12-16 rocky <rb@dustyfeet.com>
* .gitignore, pytest/.gitignore, pytest/testdata/test1.right,
pytest/testdata/test_import_25.right, test/compile_tests,
test/dis-compare.py, test/simple-uncompyle-code-test.py,
test/source_3.4/branching/if.py,
test/source_3.4/branching/ifelse.py, test/uncompyle-code.py,
uncompyle6/.gitignore, uncompyle6/scanner.py,
uncompyle6/scanners/scanner25.py, uncompyle6/scanners/scanner26.py,
uncompyle6/scanners/scanner27.py, uncompyle6/scanners/scanner32.py,
uncompyle6/scanners/scanner34.py: Start 3.4 more stringent
disassembly testing. Disassembly format has changed slightly. misc
small bugs.
2015-12-15 rocky <rb@dustyfeet.com>
* : 2.7 pyc for disasm test
2015-12-15 rocky <rb@dustyfeet.com>
* Makefile, circle.yml, pytest/Makefile, pytest/test_disasm.py,
pytest/testdata/test1.right, pytest/testdata/test_import_25.right,
test-requirements.txt, test/Makefile, test/test_pythonlib.py,
uncompyle6/marsh.py, uncompyle6/verify.py: Add some disassemble
tests using pytest.
2015-12-15 rocky <rb@dustyfeet.com>
* test/.gitignore, uncompyle6/__init__.py: Less ignore. Not sure
what's up with not finding marsh in python3
2015-12-15 rocky <rb@dustyfeet.com>
* test/.gitignore, uncompyle6/disasm/__init__.py,
uncompyle6/disasm/dis_25.py: disasm is unused code. More ignore.
2015-12-15 rocky <rb@dustyfeet.com>
* .gitignore, __pkginfo__.py, bin/pydisassemble,
bin/pydissassemble, test/test_pythonlib.py, uncompyle6/__init__.py,
uncompyle6/deparser.py, uncompyle6/disas.py, uncompyle6/magics.py,
uncompyle6/marsh.py, uncompyle6/scanners/scanner25.py,
uncompyle6/scanners/scanner26.py, uncompyle6/scanners/scanner27.py,
uncompyle6/scanners/scanner32.py, uncompyle6/scanners/scanner34.py:
Split out marhsal and disassemble code and spell disassemble
correctly. Fix some lint issues
2015-12-15 R. Bernstein <rocky@users.noreply.github.com>
* README.rst: Update README.rst
2015-12-15 R. Bernstein <rocky@users.noreply.github.com>
* README.rst: Update README.rst
2015-12-15 rocky <rb@dustyfeet.com>
* PKG-INFO, README.rst, bin/pydissassemble, uncompyle6/__init__.py,
uncompyle6/disas.py, uncompyle6/scanner.py,
uncompyle6/scanners/scanner25.py, uncompyle6/scanners/scanner26.py,
uncompyle6/scanners/scanner27.py, uncompyle6/scanners/scanner32.py,
uncompyle6/scanners/scanner34.py: README.rst: note addition of
pydisassemble Remove duplicate disassembly printing from scanners
and put common code in caller(s). Show source-code line numbers in
disassembly output and fix alignment of byte offsets. disas.py:
workaround Python 2/3 different layouts before we get to bytecodes
in a code object.
2015-12-14 rocky <rb@dustyfeet.com>
* __pkginfo__.py: Disable installing pydisassemble for now pending
understanding what's up with CI
2015-12-14 rocky <rb@dustyfeet.com>
* __pkginfo__.py, setup.py: Package scripts correctly now
2015-12-14 rocky <rb@dustyfeet.com>
* MANIFEST.in, __pkginfo__.py, bin/pydissassemble, bin/uncompyle6,
scripts/pydissassemble, scripts/uncompyle6, setup.py: scripts->bin.
Add pydisassemble to list of scripts to install
2015-12-14 rocky <rb@dustyfeet.com>
* Makefile, README.rst, scripts/pydissassemble, scripts/uncompyle6,
test/Makefile, uncompyle6/__init__.py, uncompyle6/verify.py: Add a
standalone disassemble utility. __init__.py: Shun using 0, 1 for
booleans
2015-12-14 rocky <rb@dustyfeet.com>
* uncompyle6/verify.py: Typos
2015-12-14 rocky <rb@dustyfeet.com>
* uncompyle6/__init__.py, uncompyle6/deparser.py,
uncompyle6/disasm/__init__.py, uncompyle6/disasm/dis_25.py,
uncompyle6/opcodes/opcode_32.py, uncompyle6/scanner.py,
uncompyle6/scanners/scanner32.py, uncompyle6/verify.py: Start to
move deparser from python-deparse here. Start Python 3.2 tolerance
2015-12-14 rocky <rb@dustyfeet.com>
* .travis.yml: Clean up travis file now that I know what works
2015-12-14 rocky <rb@dustyfeet.com>
* .travis.yml: Travis: try install a different way
2015-12-14 rocky <rb@dustyfeet.com>
* .travis.yml, circle.yml: Do setup install on CI boxes
2015-12-14 rocky <rb@dustyfeet.com>
* circle.yml: A correct way to set a circleci envvar?
2015-12-14 rocky <rb@dustyfeet.com>
* circle.yml: Add --compile to cicleci build
2015-12-14 rocky <rb@dustyfeet.com>
* circle.yml: Try circleci
2015-12-14 rocky <rb@dustyfeet.com>
* uncompyle6/dparser.py, uncompyle6/parser.py, uncompyle6/walker.py:
uncompyle6/dparser -> uncompyle6/parser
2015-12-14 rocky <rb@dustyfeet.com>
* uncompyle6/__init__.py, uncompyle6/disas.py,
uncompyle6/magics.py, uncompyle6/scanners/scanner34.py: Closer to
being able to handle Python 3.4 bytecode. Loading of Python Python
bytecode now works. magics from 3.3 to Python 3.4 has been added.
Some Python 3.4 scanner issues have been fixed.
2015-12-14 rocky <rb@dustyfeet.com>
* Makefile, test/Makefile, test/base-tests/compile_tests,
test/base-tests/python2.7/test_applyEquiv.py,
test/base-tests/python2.7/test_applyEquiv.pyc_dis_unverified,
test/base-tests/python2.7/test_augmentedAssign.py,
test/base-tests/python2.7/test_augmentedAssign.pyc_dis_unverified,
test/base-tests/python2.7/test_class.py,
test/base-tests/python2.7/test_class.pyc_dis_unverified,
test/base-tests/python2.7/test_del.py,
test/base-tests/python2.7/test_divide_future.py,
test/base-tests/python2.7/test_divide_future.pyc_dis_unverified,
test/base-tests/python2.7/test_divide_no_future.py,
test/base-tests/python2.7/test_docstring.py,
test/base-tests/python2.7/test_empty.py,
test/base-tests/python2.7/test_exceptions.py,
test/base-tests/python2.7/test_exceptions.pyc_dis_unverified,
test/base-tests/python2.7/test_exec.py,
test/base-tests/python2.7/test_expressions.py,
test/base-tests/python2.7/test_extendedImport.py,
test/base-tests/python2.7/test_extendedPrint.py,
test/base-tests/python2.7/test_extendedarg.py-notyet,
test/base-tests/python2.7/test_functions.py,
test/base-tests/python2.7/test_global.py,
test/base-tests/python2.7/test_globals.py,
test/base-tests/python2.7/test_import.py,
test/base-tests/python2.7/test_import_as.py,
test/base-tests/python2.7/test_integers.py,
test/base-tests/python2.7/test_iterators.py,
test/base-tests/python2.7/test_lambda.py,
test/base-tests/python2.7/test_listComprehensions.py,
test/base-tests/python2.7/test_loops.py,
test/base-tests/python2.7/test_loops2.py,
test/base-tests/python2.7/test_mine.py,
test/base-tests/python2.7/test_misc.py,
test/base-tests/python2.7/test_nested_elif.py,
test/base-tests/python2.7/test_nested_scopes.py,
test/base-tests/python2.7/test_prettyprint.py,
test/base-tests/python2.7/test_print.py,
test/base-tests/python2.7/test_print_to.py,
test/base-tests/python2.7/test_single_stmt.py,
test/base-tests/python2.7/test_slices.py,
test/base-tests/python2.7/test_tuple_params.py-notyet,
test/base-tests/python2.7/test_tuples.py-notyet,
test/base-tests/python2.7/test_yield.py,
test/base_tests/compile_tests,
test/base_tests/python2.7/test_applyEquiv.py,
test/base_tests/python2.7/test_augmentedAssign.py,
test/base_tests/python2.7/test_class.py,
test/base_tests/python2.7/test_del.py,
test/base_tests/python2.7/test_divide_future.py,
test/base_tests/python2.7/test_divide_no_future.py,
test/base_tests/python2.7/test_docstring.py,
test/base_tests/python2.7/test_empty.py,
test/base_tests/python2.7/test_exceptions.py,
test/base_tests/python2.7/test_exec.py,
test/base_tests/python2.7/test_expressions.py,
test/base_tests/python2.7/test_extendedImport.py,
test/base_tests/python2.7/test_extendedPrint.py,
test/base_tests/python2.7/test_extendedarg.py-notyet,
test/base_tests/python2.7/test_functions.py,
test/base_tests/python2.7/test_global.py,
test/base_tests/python2.7/test_globals.py,
test/base_tests/python2.7/test_import.py,
test/base_tests/python2.7/test_import_as.py,
test/base_tests/python2.7/test_integers.py,
test/base_tests/python2.7/test_iterators.py,
test/base_tests/python2.7/test_lambda.py,
test/base_tests/python2.7/test_listComprehensions.py,
test/base_tests/python2.7/test_loops.py,
test/base_tests/python2.7/test_loops2.py,
test/base_tests/python2.7/test_mine.py,
test/base_tests/python2.7/test_misc.py,
test/base_tests/python2.7/test_nested_elif.py,
test/base_tests/python2.7/test_nested_scopes.py,
test/base_tests/python2.7/test_prettyprint.py,
test/base_tests/python2.7/test_print.py,
test/base_tests/python2.7/test_print_to.py,
test/base_tests/python2.7/test_single_stmt.py,
test/base_tests/python2.7/test_slices.py,
test/base_tests/python2.7/test_tuple_params.py-notyet,
test/base_tests/python2.7/test_tuples.py-notyet,
test/base_tests/python2.7/test_yield.py,
test/base_tests/python3.4/__init__.py, test/test_pythonlib.py,
uncompyle6/__init__.py, uncompyle6/opcodes/opcode_23.py,
uncompyle6/opcodes/opcode_24.py, uncompyle6/opcodes/opcode_25.py,
uncompyle6/opcodes/opcode_26.py, uncompyle6/opcodes/opcode_27.py,
uncompyle6/opcodes/opcode_34.py, uncompyle6/scanner.py,
uncompyle6/scanner25.py, uncompyle6/scanner26.py,
uncompyle6/scanner27.py, uncompyle6/scanner34.py,
uncompyle6/scanners/__init__.py, uncompyle6/scanners/scanner25.py,
uncompyle6/scanners/scanner26.py, uncompyle6/scanners/scanner27.py,
uncompyle6/scanners/scanner34.py, uncompyle6/verify.py: Move
scanners in its own directory. Dir base-tests -> base_tests so we
can import from that.
2015-12-14 rocky <rb@dustyfeet.com>
* scripts/uncompyle6, uncompyle6/__init__.py, uncompyle6/disas.py,
uncompyle6/scanner.py, uncompyle6/scanner25.py,
uncompyle6/scanner26.py, uncompyle6/scanner27.py: Python3
compatibility: (disas, scanner*) Reduce useless verbiage in status
messages and DRY code a little; __init__, uncompyle6
2015-12-13 rocky <rb@dustyfeet.com>
* test/Makefile, test/test_pythonlib.py: Make sure we pass return
code back.
2015-12-13 rocky <rb@dustyfeet.com>
* uncompyle6/__init__.py: Add Python version and tidy up stats
output: don't show verify stats if we didn't verify!
2015-12-13 rocky <rb@dustyfeet.com>
* test/test_pythonlib.py: Correct testing python version check
2015-12-13 rocky <rb@dustyfeet.com>
* .travis.yml: Force 2.7 bytecode compilation on Travis
2015-12-13 rocky <rb@dustyfeet.com>
* .travis.yml: Try Travis
2015-12-13 rocky <rb@dustyfeet.com>
* test/Makefile, test/ok_2.7/aifc.pyc_dis,
test/ok_2.7/antigravity.pyc_dis, test/ok_2.7/anydbm.pyc_dis,
test/ok_2.7/asynchat.pyc_dis, test/ok_2.7/asyncore.pyc_dis,
test/ok_2.7/atexit.pyc_dis, test/ok_2.7/audiodev.pyc_dis,
test/test_pythonlib.py, uncompyle6/walker.py: test_pythonlib: Fix
bug in traversing directores walker.py: imports; Add test Python2.5
bytecode - it works! Makefile: remove temporary directories and _dis
files which were added by mistake
2015-12-13 rocky <rb@dustyfeet.com>
* MANIFEST.in, test/test_pythonlib.py, uncompyle6/__init__.py,
uncompyle6/disas.py, uncompyle6/dparser.py, uncompyle6/magics.py,
uncompyle6/verify.py, uncompyle6/walker.py: need disas.py for cross
version Python compiling fixup MANIFEST.in pythonlib.py: store
expected python version and don't compile if it mismatches. Work
files now go in temp directory. Start masrhal load in Python for
Python3.
2015-12-13 rocky <rb@dustyfeet.com>
* test/Makefile, test/base-tests/compile_tests,
test/base-tests/python2.7/test_applyEquiv.py,
test/base-tests/python2.7/test_applyEquiv.pyc_dis_unverified,
test/base-tests/python2.7/test_augmentedAssign.py,
test/base-tests/python2.7/test_augmentedAssign.pyc_dis_unverified,
test/base-tests/python2.7/test_class.py,
test/base-tests/python2.7/test_class.pyc_dis_unverified,
test/base-tests/python2.7/test_del.py,
test/base-tests/python2.7/test_divide_future.py,
test/base-tests/python2.7/test_divide_future.pyc_dis_unverified,
test/base-tests/python2.7/test_divide_no_future.py,
test/base-tests/python2.7/test_docstring.py,
test/base-tests/python2.7/test_empty.py,
test/base-tests/python2.7/test_exceptions.py,
test/base-tests/python2.7/test_exceptions.pyc_dis_unverified,
test/base-tests/python2.7/test_exec.py,
test/base-tests/python2.7/test_expressions.py,
test/base-tests/python2.7/test_extendedImport.py,
test/base-tests/python2.7/test_extendedPrint.py,
test/base-tests/python2.7/test_extendedarg.py-notyet,
test/base-tests/python2.7/test_functions.py,
test/base-tests/python2.7/test_global.py,
test/base-tests/python2.7/test_globals.py,
test/base-tests/python2.7/test_import.py,
test/base-tests/python2.7/test_import_as.py,
test/base-tests/python2.7/test_integers.py,
test/base-tests/python2.7/test_iterators.py,
test/base-tests/python2.7/test_lambda.py,
test/base-tests/python2.7/test_listComprehensions.py,
test/base-tests/python2.7/test_loops.py,
test/base-tests/python2.7/test_loops2.py,
test/base-tests/python2.7/test_mine.py,
test/base-tests/python2.7/test_misc.py,
test/base-tests/python2.7/test_nested_elif.py,
test/base-tests/python2.7/test_nested_scopes.py,
test/base-tests/python2.7/test_prettyprint.py,
test/base-tests/python2.7/test_print.py,
test/base-tests/python2.7/test_print_to.py,
test/base-tests/python2.7/test_single_stmt.py,
test/base-tests/python2.7/test_slices.py,
test/base-tests/python2.7/test_tuple_params.py-notyet,
test/base-tests/python2.7/test_tuples.py-notyet,
test/base-tests/python2.7/test_yield.py,
test/base-tests/python2/compile_tests,
test/base-tests/python2/test_applyEquiv.py,
test/base-tests/python2/test_augmentedAssign.py,
test/base-tests/python2/test_class.py,
test/base-tests/python2/test_del.py,
test/base-tests/python2/test_divide_future.py,
test/base-tests/python2/test_divide_no_future.py,
test/base-tests/python2/test_docstring.py,
test/base-tests/python2/test_empty.py,
test/base-tests/python2/test_exceptions.py,
test/base-tests/python2/test_exec.py,
test/base-tests/python2/test_expressions.py,
test/base-tests/python2/test_extendedImport.py,
test/base-tests/python2/test_extendedPrint.py,
test/base-tests/python2/test_extendedarg.py-notyet,
test/base-tests/python2/test_functions.py,
test/base-tests/python2/test_global.py,
test/base-tests/python2/test_globals.py,
test/base-tests/python2/test_import.py,
test/base-tests/python2/test_import_as.py,
test/base-tests/python2/test_integers.py,
test/base-tests/python2/test_iterators.py,
test/base-tests/python2/test_lambda.py,
test/base-tests/python2/test_listComprehensions.py,
test/base-tests/python2/test_loops.py,
test/base-tests/python2/test_loops2.py,
test/base-tests/python2/test_mine.py,
test/base-tests/python2/test_misc.py,
test/base-tests/python2/test_nested_elif.py,
test/base-tests/python2/test_nested_scopes.py,
test/base-tests/python2/test_prettyprint.py,
test/base-tests/python2/test_print.py,
test/base-tests/python2/test_print_to.py,
test/base-tests/python2/test_single_stmt.py,
test/base-tests/python2/test_slices.py,
test/base-tests/python2/test_tuple_params.py-notyet,
test/base-tests/python2/test_tuples.py-notyet,
test/base-tests/python2/test_yield.py, test/ok_2.6/anydbm.py,
test/test_pythonlib.py: add a single Python 2.6 source/code test
2015-12-13 rocky <rb@dustyfeet.com>
* uncompyle6/scanner.py, uncompyle6/scanner34.py: Start off with
Anton Vorobyov's (DarkFenX) Python 3 scanner.
2015-12-13 rocky <rb@dustyfeet.com>
* MANIFEST, MANIFEST.in, PKG-INFO, README.rst,
uncompyle6/opcodes/opcode_23.py, uncompyle6/opcodes/opcode_26.py,
uncompyle6/opcodes/opcode_27.py, uncompyle6/scanner25.py,
uncompyle6/scanner26.py, uncompyle6/spark.py, uncompyle6/verify.py:
Correct MANIFEST->MANIFEST.in more lint
2015-12-13 R. Bernstein <rocky@users.noreply.github.com>
* README.rst: Update README.rst
2015-12-13 R. Bernstein <rocky@users.noreply.github.com>
* README.rst: Update README.rst
2015-12-13 rocky <rb@dustyfeet.com>
* scripts/uncompyle6, uncompyle6/#spark.py#,
uncompyle6/__init__.py, uncompyle6/disas.py,
uncompyle6/opcodes/opcode_25.py, uncompyle6/opcodes/opcode_26.py,
uncompyle6/scanner25.py, uncompyle6/scanner26.py,
uncompyle6/scanner34.py, uncompyle6/spark.py, uncompyle6/verify.py:
Make uncompyle6 run on Python3.4 and Python 2.7 We don't need our
own disassembler. Python's will do fine
2015-12-13 R. Bernstein <rocky@users.noreply.github.com>
* README.rst: Update README.rst
2015-12-13 R. Bernstein <rocky@users.noreply.github.com>
* README.rst: rSt formatting
2015-12-13 rocky <rb@dustyfeet.com>
* .gitignore, Makefile, README.rst, test/Makefile,
test/base-tests/python2/compile_tests,
test/base-tests/python2/test_applyEquiv.py,
test/base-tests/python2/test_augmentedAssign.py,
test/base-tests/python2/test_class.py,
test/base-tests/python2/test_del.py,
test/base-tests/python2/test_divide_future.py,
test/base-tests/python2/test_divide_no_future.py,
test/base-tests/python2/test_docstring.py,
test/base-tests/python2/test_empty.py,
test/base-tests/python2/test_exceptions.py,
test/base-tests/python2/test_exec.py,
test/base-tests/python2/test_expressions.py,
test/base-tests/python2/test_extendedImport.py,
test/base-tests/python2/test_extendedPrint.py,
test/base-tests/python2/test_extendedarg.py-notyet,
test/base-tests/python2/test_functions.py,
test/base-tests/python2/test_global.py,
test/base-tests/python2/test_globals.py,
test/base-tests/python2/test_import.py,
test/base-tests/python2/test_import_as.py,
test/base-tests/python2/test_integers.py,
test/base-tests/python2/test_iterators.py,
test/base-tests/python2/test_lambda.py,
test/base-tests/python2/test_listComprehensions.py,
test/base-tests/python2/test_loops.py,
test/base-tests/python2/test_loops2.py,
test/base-tests/python2/test_mine.py,
test/base-tests/python2/test_misc.py,
test/base-tests/python2/test_nested_elif.py,
test/base-tests/python2/test_nested_scopes.py,
test/base-tests/python2/test_prettyprint.py,
test/base-tests/python2/test_print.py,
test/base-tests/python2/test_print_to.py,
test/base-tests/python2/test_single_stmt.py,
test/base-tests/python2/test_slices.py,
test/base-tests/python2/test_tuple_params.py-notyet,
test/base-tests/python2/test_tuples.py-notyet,
test/base-tests/python2/test_yield.py, test/compile_tests,
test/ok_2.7/aifc.py, test/ok_2.7/aifc.pyc_dis,
test/ok_2.7/antigravity.py, test/ok_2.7/antigravity.pyc_dis,
test/ok_2.7/anydbm.py, test/ok_2.7/anydbm.pyc_dis,
test/ok_2.7/asynchat.py, test/ok_2.7/asynchat.pyc_dis,
test/ok_2.7/asyncore.py, test/ok_2.7/asyncore.pyc_dis,
test/ok_2.7/atexit.py, test/ok_2.7/atexit.pyc_dis,
test/ok_2.7/audiodev.py, test/ok_2.7/audiodev.pyc_dis,
test/ok_2.7/base64.py, test/ok_2.7/binhex.py,
test/ok_2.7/bisect.py, test/ok_2.7/bsddb/__init__.py,
test/ok_2.7/bsddb/db.py, test/ok_2.7/bsddb/dbobj.py,
test/ok_2.7/bsddb/dbrecio.py, test/ok_2.7/bsddb/dbshelve.py,
test/ok_2.7/bsddb/dbutils.py, test/ok_2.7/calendar.py,
test/ok_2.7/cgitb.py, test/ok_2.7/chunk.py, test/ok_2.7/codeop.py,
test/ok_2.7/colorsys.py, test/ok_2.7/commands.py,
test/ok_2.7/compileall.py, test/ok_2.7/compiler/__init__.py,
test/ok_2.7/compiler/ast.py, test/ok_2.7/compiler/consts.py,
test/ok_2.7/compiler/future.py, test/ok_2.7/compiler/misc.py,
test/ok_2.7/compiler/syntax.py, test/ok_2.7/ctypes/_endian.py,
test/ok_2.7/ctypes/util.py, test/ok_2.7/ctypes/wintypes.py,
test/ok_2.7/curses/__init__.py, test/ok_2.7/curses/ascii.py,
test/ok_2.7/curses/has_key.py, test/ok_2.7/curses/panel.py,
test/ok_2.7/curses/wrapper.py, test/ok_2.7/dircache.py,
test/ok_2.7/dis.py, test/test_applyEquiv.py,
test/test_augmentedAssign.py, test/test_class.py, test/test_del.py,
test/test_divide_future.py, test/test_divide_no_future.py,
test/test_docstring.py, test/test_empty.py,
test/test_exceptions.py, test/test_exec.py,
test/test_expressions.py, test/test_extendedImport.py,
test/test_extendedPrint.py, test/test_extendedarg.py,
test/test_functions.py, test/test_global.py, test/test_globals.py,
test/test_import.py, test/test_import_as.py, test/test_integers.py,
test/test_iterators.py, test/test_lambda.py,
test/test_listComprehensions.py, test/test_loops.py,
test/test_loops2.py, test/test_mine.py, test/test_misc.py,
test/test_nested_elif.py, test/test_nested_scopes.py,
test/test_one, test/test_prettyprint.py, test/test_print.py,
test/test_print_to.py, test/test_pythonlib.py,
test/test_single_stmt.py, test/test_slices.py,
test/test_tuple_params.py, test/test_tuples.py, test/test_yield.py,
test/uncompyle-code.py, test_one, test_pythonlib.py,
uncompyle-code.py, uncompyle6/#spark.py#, uncompyle6/__init__.py,
uncompyle6/verify.py: Add tests and start a more turnkey testing
system.
2015-12-12 rocky <rb@dustyfeet.com>
* tox.ini, uncompyle-code.py, uncompyle6/dparser.py,
uncompyle6/scanner25.py, uncompyle6/scanner27.py,
uncompyle6/scanner34.py, uncompyle6/spark.py, uncompyle6/walker.py:
Minimal disassemble, ast compile and deparse work on Python 3. Some
linting
2015-12-12 rocky <rb@dustyfeet.com>
* uncompyle6/dparser.py, uncompyle6/parser.py, uncompyle6/walker.py:
parser -> dparser so as not to conflict with python3's parser.
2015-12-12 rocky <rb@dustyfeet.com>
* uncompyle-code.py, uncompyle6/__init__.py, uncompyle6/disas.py,
uncompyle6/scanner.py, uncompyle6/scanner25.py,
uncompyle6/scanner26.py, uncompyle6/scanner27.py,
uncompyle6/verify.py, uncompyle6/walker.py: More Python3
compatability. Remove duplicate disassembly code and get it from
Python's standard library instead.
2015-12-12 rocky <rb@dustyfeet.com>
* uncompyle-code.py, uncompyle6/__init__.py, uncompyle6/parser.py,
uncompyle6/scanner.py, uncompyle6/walker.py: Python3 compatibility
2015-12-11 rocky <rb@dustyfeet.com>
* uncompyle-code.py, uncompyle6/__init__.py, uncompyle6/walker.py:
python3 compatibiity and remove some flake8 warnings.
2015-12-11 rocky <rb@dustyfeet.com>
* Makefile, uncompyle6/Makefile, uncompyle6/__init__.py,
uncompyle6/disas.py, uncompyle6/parser.py, uncompyle6/scanner26.py,
uncompyle6/scanner27.py, uncompyle6/scanner34.py,
uncompyle6/walker.py: Lint stuff
2015-12-11 rocky <rb@dustyfeet.com>
* .gitignore, __pkginfo__.py, setup.py, test/compile_tests,
test_pythonlib.py, uncompyle-code.py, uncompyle6/__init__.py,
uncompyle6/magics.py, uncompyle6/opcode/__init__.py,
uncompyle6/opcode/opcode_23.py, uncompyle6/opcode/opcode_24.py,
uncompyle6/opcode/opcode_25.py, uncompyle6/opcode/opcode_26.py,
uncompyle6/opcode/opcode_27.py, uncompyle6/opcodes/__init__.py,
uncompyle6/opcodes/opcode_23.py, uncompyle6/opcodes/opcode_24.py,
uncompyle6/opcodes/opcode_25.py, uncompyle6/opcodes/opcode_26.py,
uncompyle6/opcodes/opcode_27.py, uncompyle6/parser.py,
uncompyle6/scanner25.py, uncompyle6/scanner26.py,
uncompyle6/scanner27.py, uncompyle6/spark.py: More python2 ->
python3 compatibility
2015-12-11 rocky <rb@dustyfeet.com>
* .travis.yml, Makefile, scripts/uncompyle2, scripts/uncompyle6,
setup.py, test_one, tox.ini, uncompyle-code.py,
uncompyle2/__init__.py, uncompyle2/disas.py, uncompyle2/magics.py,
uncompyle2/opcode/__init__.py, uncompyle2/opcode/opcode_23.py,
uncompyle2/opcode/opcode_24.py, uncompyle2/opcode/opcode_25.py,
uncompyle2/opcode/opcode_26.py, uncompyle2/opcode/opcode_27.py,
uncompyle2/parser.py, uncompyle2/scanner.py,
uncompyle2/scanner25.py, uncompyle2/scanner26.py,
uncompyle2/scanner27.py, uncompyle2/spark.py, uncompyle2/verify.py,
uncompyle2/walker.py, uncompyle6/__init__.py, uncompyle6/disas.py,
uncompyle6/magics.py, uncompyle6/opcode/__init__.py,
uncompyle6/opcode/opcode_23.py, uncompyle6/opcode/opcode_24.py,
uncompyle6/opcode/opcode_25.py, uncompyle6/opcode/opcode_26.py,
uncompyle6/opcode/opcode_27.py, uncompyle6/parser.py,
uncompyle6/scanner25.py, uncompyle6/scanner26.py,
uncompyle6/scanner27.py, uncompyle6/spark.py, uncompyle6/verify.py,
uncompyle6/walker.py: Start process of making python3 compatible
2015-11-25 rocky <rb@dustyfeet.com>
* .gitignore, uncompyle-code.py, uncompyle2/walker.py: First steps
to find-offset-based routine
2015-06-25 Mysterie <kajusska@gmail.com>
* : Merge pull request #27 from kernelsmith/master call python via /usr/bin/env python to make script more portable
2014-11-26 Mysterie <kajusska@gmail.com>
* : Merge pull request #23 from jbremer/master support hardcoded 64-bit integers (sorry, so late lol)
2014-02-12 root <root@oros.mysterie.fr>
* uncompyle2/scanner25.py, uncompyle2/scanner26.py: Fix Raise TODO +
NOP opcode
2013-12-30 root <root@oros.mysterie.fr>
* README.rst: MAJ readme
2013-07-19 root <root@debian>
* uncompyle2/disas.py: marshal unpack cast bug
2013-07-18 root <root@debian>
* uncompyle2/__init__.py, uncompyle2/disas.py: Fix marshal UTF8 bug
2013-07-16 root <root@debian>
* uncompyle2/__init__.py, uncompyle2/disas.py,
uncompyle2/magics.py, uncompyle2/scanner27.py, uncompyle2/walker.py:
marshal disassembly improvement
2013-06-20 Mysterie <kajusska@gmail.com>
* : Merge pull request #13 from ralph-moeritz/master Minor script cleanup
2013-04-25 root <root@debian>
* uncompyle2/scanner25.py, uncompyle2/scanner26.py,
uncompyle2/scanner27.py, uncompyle2/walker.py: Improvement from
wibiti
2013-03-05 root <root@debian>
* README.rst, uncompyle2/parser.py, uncompyle2/scanner.py,
uncompyle2/scanner25.py, uncompyle2/scanner26.py,
uncompyle2/scanner27.py, uncompyle2/walker.py: Grammar improvement
2013-03-05 Mysterie <kajusska@gmail.com>
* : Merge pull request #9 from SuperVirus/master Fix for issue #6
2013-02-20 Mysterie <kajusska@gmail.com>
* : Merge pull request #8 from skyfion/master fix error
2013-02-13 skyfion <sky.fion@gmail.com>
* uncompyle2/__init__.py: correct work if list in def
uncompyle_file
2013-02-09 root <root@debian>
* test/test_functions.py, uncompyle2/scanner25.py,
uncompyle2/scanner26.py: Fix for RETURN_END_IF bug
2013-01-10 Mysterie <kajusska@gmail.com>
* uncompyle2/scanner25.py, uncompyle2/scanner26.py,
uncompyle2/scanner27.py: Patch bug on LOAD_CLOSURE
2012-12-14 Mysterie <kajusska@gmail.com>
* uncompyle2/opcode/opcode_25.py, uncompyle2/opcode/opcode_26.py,
uncompyle2/opcode/opcode_27.py, uncompyle2/scanner.py,
uncompyle2/scanner25.py, uncompyle2/scanner26.py,
uncompyle2/scanner27.py: modification of LIST_APPEND opcode handling
2012-11-25 Mysterie <kajusska@gmail.com>
* : Merge pull request #3 from htgoebel/mysterie Update email and URLs for original author.
2012-11-16 Hartmut Goebel <h.goebel@crazy-compilers.com>
* build/scripts-2.7/uncompyle2, uncompyle2.py,
uncompyle2/__init__.py, uncompyle2/parser.py,
uncompyle2/scanner.py, uncompyle2/scanner25.py,
uncompyle2/scanner26.py, uncompyle2/scanner27.py,
uncompyle2/verify.py, uncompyle2/walker.py: Updating original
authors email-address.
2012-10-26 Mysterie <kajusska@gmail.com>
* README, README.rst: README patch
2012-10-26 Mysterie <kajusska@gmail.com>
* MANIFEST, MANIFEST.in, README, test_pythonlib.py,
uncompyle2/disas.py, uncompyle2/scanner25.py,
uncompyle2/scanner26.py, uncompyle2/scanner27.py: Patch for while
loop + manifest + bug in test_pythonlib.py
2012-10-11 Mysterie <kajusska@gmail.com>
* scripts/uncompyle2, setup.py, test/test_loops.py,
test/test_tuples.py, test_one, test_pythonlib, test_pythonlib.py,
uncompyle2.py, uncompyle2/Parser.py, uncompyle2/Scanner.py,
uncompyle2/Scanner25.py, uncompyle2/Scanner26.py,
uncompyle2/Scanner27.py, uncompyle2/Walker.py,
uncompyle2/__init__.py, uncompyle2/disas.py,
uncompyle2/opcode/opcode_25.py, uncompyle2/opcode/opcode_26.py,
uncompyle2/opcode/opcode_27.py, uncompyle2/parser.py,
uncompyle2/scanner.py, uncompyle2/scanner25.py,
uncompyle2/scanner26.py, uncompyle2/scanner27.py,
uncompyle2/spark.py, uncompyle2/verify.py, uncompyle2/walker.py:
Cleaning code & patch
2012-09-22 Mysterie <kajusska@gmail.com>
* test/test_loops.py, uncompyle2/Scanner25.py,
uncompyle2/Scanner26.py: Improvement of loop handling
2012-09-22 Mysterie <kajusska@gmail.com>
* uncompyle2/Scanner26.py: Little modification in Scanner26
2012-09-21 Mysterie <kajusska@gmail.com>
* test/compile_tests, test/test_applyEquiv.py,
test/test_augmentedAssign.py, test/test_class.py, test/test_del.py,
test/test_docstring.py, test/test_exec.py,
test/test_expressions.py, test/test_extendedImport.py,
test/test_extendedPrint.py, test/test_extendedarg.py,
test/test_functions.py, test/test_global.py, test/test_globals.py,
test/test_import.py, test/test_import_as.py, test/test_integers.py,
test/test_lambda.py, test/test_listComprehensions.py,
test/test_loops.py, test/test_loops2.py, test/test_misc.py,
test/test_nested_elif.py, test/test_nested_scopes.py,
test/test_prettyprint.py, test/test_print.py,
test/test_print_to.py, test/test_slices.py,
test/test_tuple_params.py, test/test_tuples.py,
uncompyle2/Scanner25.py, uncompyle2/Scanner26.py: Patch for
conditional tuple
2012-09-20 Mysterie <kajusska@gmail.com>
* uncompyle2/Scanner25.py, uncompyle2/Scanner26.py: Optimisation for
bytecode 2.5/2.6 restructuration
2012-09-20 Mysterie <kajusska@gmail.com>
* uncompyle2/Parser.py, uncompyle2/Scanner25.py,
uncompyle2/Scanner26.py, uncompyle2/Scanner27.py,
uncompyle2/Walker.py: Update from master branch uncompyle2
2012-06-14 Mysterie <kajusska@gmail.com>
* uncompyle2/Scanner25.py, uncompyle2/Scanner26.py,
uncompyle2/__init__.py: fix for the with statement
2012-06-12 Mysterie <kajusska@gmail.com>
* uncompyle2/Scanner25.py, uncompyle2/Scanner26.py: fix module & 2.6
2012-06-12 Mysterie <kajusska@gmail.com>
* uncompyle2/Scanner.py: fix module & 2.6
2012-06-05 Mysterie <kajusska@gmail.com>
* build/lib.linux-i686-2.7/uncompyle2/Parser.py,
build/lib.linux-i686-2.7/uncompyle2/Scanner.py,
build/lib.linux-i686-2.7/uncompyle2/Scanner25.py,
build/lib.linux-i686-2.7/uncompyle2/Scanner26.py,
build/lib.linux-i686-2.7/uncompyle2/Scanner27.py,
build/lib.linux-i686-2.7/uncompyle2/Walker.py,
build/lib.linux-i686-2.7/uncompyle2/__init__.py,
build/lib.linux-i686-2.7/uncompyle2/disas.py,
build/lib.linux-i686-2.7/uncompyle2/magics.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/__init__.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/opcode_23.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/opcode_24.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/opcode_25.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/opcode_26.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/opcode_27.py,
build/lib.linux-i686-2.7/uncompyle2/spark.py,
build/lib.linux-i686-2.7/uncompyle2/verify.py: creating clean .py
2012-06-05 Mysterie <kajusska@gmail.com>
* build/lib.linux-i686-2.7/uncompyle2/Parser.py,
build/lib.linux-i686-2.7/uncompyle2/Scanner25.py,
build/lib.linux-i686-2.7/uncompyle2/Scanner26.py,
build/lib.linux-i686-2.7/uncompyle2/Scanner27.py,
build/lib.linux-i686-2.7/uncompyle2/Walker.py,
build/lib.linux-i686-2.7/uncompyle2/__init__.py,
build/lib.linux-i686-2.7/uncompyle2/disas.py,
build/lib.linux-i686-2.7/uncompyle2/magics.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/__init__.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/opcode_23.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/opcode_24.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/opcode_25.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/opcode_26.py,
build/lib.linux-i686-2.7/uncompyle2/opcode/opcode_27.py,
build/lib.linux-i686-2.7/uncompyle2/spark.py,
build/lib.linux-i686-2.7/uncompyle2/verify.py,
uncompyle2/__init__.py: creating clean .py
2012-06-05 Mysterie <kajusska@gmail.com>
* PKG-INFO, setup.cfg, setup.py: MAJ owner/information
2012-06-05 Mysterie <kajusska@gmail.com>
* uncompyle2/Scanner.py: delete old file
2012-06-05 Mysterie <kajusska@gmail.com>
* first commit