コード例 #1
0
ファイル: decompiler.py プロジェクト: pcostesi/spy
def rebuild_ast(instructions):
    tags, exit = _extract_tags(instructions)
    for idx, (op, var, val) in enumerate(instructions):
        if op == Instruction.TAG:
            yield (op, None, tags[idx + 1])
        elif op in (Instruction.INC, Instruction.DEC):
            yield (op, Instruction.num_to_var(var), str(val))
        elif op == Instruction.JNZ:
            yield (op, Instruction.num_to_var(var), tags.get(idx + 1, exit))