Commit Graph

167 Commits

Author SHA1 Message Date
rocky
631d7be921 Redo make_function for *, arg
main(*, file='foo') and things like that now work
2016-05-11 20:34:20 -04:00
rocky
b134d08e91 add pos_arg ::= expr to make params of fns clear 2016-05-10 18:05:25 -04:00
rocky
8a66fd0be3 * call WIP 2016-05-09 20:23:54 -04:00
rocky
9ae45b363f 3.2 class bug 2016-05-09 20:11:25 -04:00
rocky
b287a305ea 3.2 WhileTrue grammar bug 2016-05-09 19:39:37 -04:00
rocky
d823dfb5d3 Python 3 "while True" bug 2016-05-09 14:44:34 -04:00
rocky
8b9e0eca42 Some grammar cleanup 2016-05-09 11:58:05 -04:00
rocky
41f9e9e53e Track recent lc changes in fragment semantics 2016-05-09 06:57:13 -04:00
rocky
e63bcd54e9 Another Python 3 closure grammar bug 2016-05-09 06:21:57 -04:00
rocky
e37b197db9 Fix Python 3 list comprehansion closure bug 2016-05-09 05:03:49 -04:00
rocky
196495c40e Python 3 DUP_TOP_TWO bug 2016-05-08 18:41:59 -04:00
rocky
dddb486d78 DRY parse{2,3} code
Add test for last bug.
2016-05-08 18:15:07 -04:00
rocky
ce2ae463c4 Fix another if/loop parse bug 2016-05-08 18:07:04 -04:00
rocky
739ce7b1fd Go over history yet again. 2016-05-08 16:44:17 -04:00
rocky
b11f6d94f7 come_from_opt handles and/or precidence properly
main.py: give a better error message when file is not found.
2016-05-08 15:51:54 -04:00
rocky
debb46b0fe Semantic routine nonterminal typo 2016-05-08 13:49:15 -04:00
rocky
400153ea53 Yet another Python 3.x COME_FROM grammar problem 2016-05-08 13:08:12 -04:00
rocky
a65a8bb68e 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 12:09:50 -04:00
rocky
4a79082872 Fix 3.5 if..pass bug
Update HISTORY.MD to include Dan Pascu. Some minor doc corrections
2016-05-08 10:32:11 -04:00
rocky
61c4a711a2 DRY scanner 3.{4,5} code 2016-05-08 00:52:02 -04:00
rocky
406df297df Python 3 build class parsing 2016-05-07 23:32:59 -04:00
rocky
36ffd4c31f Handle Python 3 yield from
Start dealing with MAKE_FUNCTION flags - not done yet.
2016-05-07 11:33:18 -04:00
rocky
039c115679 More Python3 deparsing
- grammar rule genexpr
- More Python3 docstring formatted
2016-05-06 23:51:25 -04:00
rocky
163dfd888d Minor tweaks 2016-05-05 22:09:22 -04:00
rocky
408ba8c564 All Python 2.7 lib files decompile 2016-05-05 21:34:56 -04:00
rocky
c58481a9eb More Python 2 and 3 deparsing bugs fixed
* while + if break
* try + finall /pass
2016-05-05 20:56:41 -04:00
rocky
469cadd5c9 Start PYPY 2.7 tolerance 2016-05-05 11:27:56 -04:00
rocky
4377354cf9 Get ready for release 2.3.4 2016-05-05 05:05:01 -04:00
rocky
6f3a88d7e2 Fix up 3.2 tests
Remove pypy
2016-05-05 04:41:23 -04:00
rocky
05733c6171 Python 3.5 abc.py bug distilled 2016-05-05 04:11:53 -04:00
rocky
6765a2ea97 Add cross-Python-protable 3.5 dis module 2016-05-05 03:17:25 -04:00
rocky
c85496a92d Handle 3.5 with [as]
scanner35.py: Fix a small variable-name typo
2016-05-04 22:15:03 -04:00
rocky
7bf93980ce Don't repeat next_except_jump 2016-05-03 19:39:01 -04:00
rocky
fe04b97c6b Remove one more old-style Python class 2016-05-03 03:55:43 -04:00
rocky
62f6220082 DRY Python 2.7 scanner more 2016-05-03 03:29:56 -04:00
rocky
2286aa5320 Get ready for release 2.3.3 2016-05-03 03:02:36 -04:00
rocky
a8c5f71cfe Merge branch 'master' of github.com:rocky/python-uncompyle6 2016-05-02 21:25:35 -04:00
rocky
feec241da8 Misc: long lists, DRY 2/3 grammars, '%' count
parse{2,3,r}.py: DRY Python expressions between Python 2 and 3
pysource.py, fragment.py, parser.py: handle long lists by grouping in chunks of 32
and 256
bin/uncompyle6: count %s properly
2016-05-02 21:25:16 -04:00
rocky
bfe8357f52 Trivial spacing change 2016-05-02 10:44:48 -04:00
rocky
ceb47aba9c Add -V | --version and simplfy changing it 2016-05-02 04:09:51 -04:00
rocky
08720474bf Expose uncompyle_file 2016-05-01 23:11:48 -04:00
rocky
119bb9bb26 Bug 2016-05-01 21:14:25 -04:00
rocky
dcbf8d2cf7 Bug in 3.5 constant map parsing 2016-05-01 20:54:42 -04:00
rocky
b52baddab6 Export module load and fns load_file, load_module 2016-05-01 13:27:00 -04:00
rocky
03bb54f8ea License is MIT
marsh.py: remove unused import
2016-05-01 11:58:46 -04:00
rocky
313e468bdc Forgot to define Python3ParserSingle 2016-05-01 07:18:29 -04:00
rocky
dc80b140c6 Start to DRY Python2 and Python3 grammars
Separate out 3.2, and 3.5+ specific grammar code
2016-05-01 07:13:36 -04:00
rocky
0a32a16d88 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 09:12:03 -04:00
rocky
f3a4e6ee54 Pevious commit grammar change is Python 3.5 and up 2016-04-30 04:03:38 -04:00
rocky
43f5c5dcca 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-30 03:51:54 -04:00