Skip to content
2 changes: 1 addition & 1 deletion doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = /Users/sean/indigo_workspace/Meta_Doc
BUILDDIR = _build

# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
Expand Down
8 changes: 4 additions & 4 deletions meta/asttools/visitors/cond_symbol_visitor.py
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ def visitExceptHandler(self, node):
self.update_stable_rhs(get_symbols(node.type, ast.Load))

if node.name:
self.update_stable_lhs({node.name})
self.update_stable_lhs(set([node.name]))

self.visit_list(node.body)

Expand All @@ -315,7 +315,7 @@ def visitImport(self, node):
def visitLambda(self, node):

gen = ConditionalSymbolVisitor()
gen.update_stable_lhs(symbols={arg for arg in node.args.args})
gen.update_stable_lhs(symbols=set(arg for arg in node.args.args))
gen.visit_list(node.body)

self.update_stable_rhs(gen.undefined)
Expand All @@ -325,10 +325,10 @@ def visitFunctionDef(self, node):
for decorator in node.decorator_list:
self.update_stable_rhs(get_symbols(decorator, ast.Load))

self.update_stable_lhs({node.name})
self.update_stable_lhs(set([node.name]))

gen = ConditionalSymbolVisitor()
gen.update_stable_lhs(symbols={arg for arg in node.args.args})
gen.update_stable_lhs(symbols=set(arg for arg in node.args.args))
gen.visit_list(node.body)

self.update_stable_rhs(gen.undefined)
Expand Down
4 changes: 2 additions & 2 deletions meta/asttools/visitors/graph_visitor.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def visitName(self, node):
if not self.graph.has_edge(node.id, ctx_var):
self.graph.add_edge(node.id, ctx_var)

return {node.id}
return set([node.id])

def visitalias(self, node):
name = node.asname if node.asname else node.name
Expand All @@ -68,7 +68,7 @@ def visitalias(self, node):
if not self.graph.has_node(name):
self.graph.add_node(name)

return {name}
return set([name])

def visitCall(self, node):
left = self.visit(node.func)
Expand Down
2 changes: 1 addition & 1 deletion meta/asttools/visitors/print_visitor.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import _ast
from warnings import warn

if sys.version_info.major < 3:
if sys.version_info[0] < 3:
from StringIO import StringIO
else:
from io import StringIO
Expand Down
2 changes: 1 addition & 1 deletion meta/asttools/visitors/pysourcegen.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from meta.utils import py3op, py2op
from contextlib import contextmanager

if sys.version_info.major < 3:
if sys.version_info[0] < 3:
from StringIO import StringIO
else:
from io import StringIO
Expand Down
4 changes: 2 additions & 2 deletions meta/asttools/visitors/symbol_visitor.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def visitDefault(self, node):

def visitName(self, node):
if isinstance(node.ctx, self.ctx_types):
return {node.id}
return set([node.id])
else:
return set()

Expand All @@ -41,7 +41,7 @@ def visitalias(self, node):
name = name.split('.', 1)[0]

if ast.Store in self.ctx_types:
return {name}
return set([name])
else:
return set()

Expand Down
2 changes: 1 addition & 1 deletion meta/bytecodetools/disassembler_.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import sys
from meta.bytecodetools.instruction import Instruction

py3 = sys.version_info.major >= 3
py3 = sys.version_info[0] >= 3
co_ord = (lambda c:c) if py3 else ord

def disassembler(co, lasti= -1):
Expand Down
2 changes: 1 addition & 1 deletion meta/bytecodetools/instruction.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import opcode
import sys

py3 = sys.version_info.major >= 3
py3 = sys.version_info[0] >= 3
co_ord = (lambda c:c) if py3 else ord


Expand Down
4 changes: 3 additions & 1 deletion meta/decompiler/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ def compile_func(ast_node, filename, globals, **defaults):
funcion_name = ast_node.name
module = _ast.Module(body=[ast_node])

ctx = {'%s_default' % key : arg for key, arg in defaults.items()}
ctx = {}
for key, arg in defaults.iteritems():
ctx['%s_default' % key] = arg

code = compile(module, filename, 'exec')

Expand Down
22 changes: 16 additions & 6 deletions meta/decompiler/control_flow_instructions.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,21 @@
from __future__ import print_function
import opcode
import _ast
import sys
from meta.bytecodetools.instruction import Instruction
from meta.asttools.visitors.print_visitor import print_ast
from meta.utils import py3op, py2op, py3
AND_JUMPS = ['JUMP_IF_FALSE_OR_POP', 'POP_JUMP_IF_FALSE']
OR_JUMPS = ['JUMP_IF_TRUE_OR_POP', 'POP_JUMP_IF_TRUE']
JUMPS = AND_JUMPS + OR_JUMPS
JUMP_OPS = [opcode.opmap[name] for name in JUMPS]

if sys.version_info >= (2, 7):
AND_JUMPS = ['JUMP_IF_FALSE_OR_POP', 'POP_JUMP_IF_FALSE']
OR_JUMPS = ['JUMP_IF_TRUE_OR_POP', 'POP_JUMP_IF_TRUE']
JUMPS = AND_JUMPS + OR_JUMPS
JUMP_OPS = [opcode.opmap[name] for name in JUMPS]
else:
AND_JUMPS = []
OR_JUMPS = []
JUMPS = []
JUMP_OPS = []


def split(block, name):
Expand Down Expand Up @@ -602,7 +610,9 @@ def while_loop(self, instr, loop_block):

kw = dict(lineno=instr.lineno, col_offset=0)

loop_block_map = {instr.i:instr.op for instr in loop_block}
loop_block_map = {}
for instr in loop_block:
loop_block_map[instr.i] = instr.op

first_i = loop_block[0].i

Expand Down Expand Up @@ -662,7 +672,7 @@ def gather_jumps(self, jump_instr):

and_block = self.make_block(to=to, inclusive=False, raise_=False)

jump_tos = {to}
jump_tos = set([to])
last_len = 0
old_max = to

Expand Down
2 changes: 1 addition & 1 deletion meta/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
'''
import sys

py3 = sys.version_info.major >= 3
py3 = sys.version_info[0] >= 3

class Python2(object):
@staticmethod
Expand Down