Navigation Menu

Skip to content

Commit

Permalink
Fill out more as a package
Browse files Browse the repository at this point in the history
  • Loading branch information
rocky committed Apr 7, 2018
1 parent 6b52fa6 commit d723d9b
Show file tree
Hide file tree
Showing 9 changed files with 65 additions and 11 deletions.
2 changes: 1 addition & 1 deletion eldecompile/bb.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python
from graph import (BB_ENTRY, BB_JUMP_UNCONDITIONAL, BB_NOFOLLOW)
from eldecompile.graph import (BB_ENTRY, BB_JUMP_UNCONDITIONAL, BB_NOFOLLOW)
from eldecompile.tok import Token

class BasicBlock(object):
Expand Down
4 changes: 2 additions & 2 deletions eldecompile/cfg.py
@@ -1,6 +1,6 @@
from dominators import DominatorTree
from eldecompile.dominators import DominatorTree
from operator import attrgetter
from graph import DiGraph, jump_flags, BB_LOOP, BB_NOFOLLOW
from eldecompile.graph import DiGraph, jump_flags, BB_LOOP, BB_NOFOLLOW

class ControlFlowGraph(object):
"""
Expand Down
6 changes: 3 additions & 3 deletions eldecompile/dominators.py
Expand Up @@ -2,12 +2,12 @@
"""
Dominator tree
Copyright (c) 2017 by Rocky Bernstein
Copyright (c) 2017, 2018 by Rocky Bernstein
Copyright (c) 2014 by Romain Gaucher (@rgaucher)
"""

from graph import TreeGraph, BB_ENTRY
from traversals import dfs_postorder_nodes
from eldecompile.graph import TreeGraph, BB_ENTRY
from eldecompile.traversals import dfs_postorder_nodes


class DominatorTree(object):
Expand Down
3 changes: 2 additions & 1 deletion eldecompile/dotio.py
Expand Up @@ -2,10 +2,11 @@
"""
Converts graph to dot format
:copyright: (c) 2018 by Rocky bernstein
:copyright: (c) 2014 by Romain Gaucher (@rgaucher)
"""

from graph import DiGraph, BB_ENTRY, BB_NOFOLLOW, format_flags
from eldecompile.graph import DiGraph, BB_ENTRY, BB_NOFOLLOW, format_flags

DOT_STYLE = """
rankdir=TD; ordering=out;
Expand Down
2 changes: 1 addition & 1 deletion eldecompile/graph.py
Expand Up @@ -111,7 +111,7 @@ def add_node(self, node):
self.nodes.add(node)

def to_dot(self):
from dotio import DotConverter
from eldecompile.dotio import DotConverter
return DotConverter.process(self)

@staticmethod
Expand Down
2 changes: 1 addition & 1 deletion eldecompile/traversals.py
Expand Up @@ -9,7 +9,7 @@
:license: Apache 2, see LICENSE for more details.
"""

from graph import Edge
from eldecompile.graph import Edge


class EdgeVisitor(object):
Expand Down
2 changes: 1 addition & 1 deletion elisp/dedis.el
Expand Up @@ -43,7 +43,7 @@

;;;###autoload
(defun disassemble-file (filename)
"Disassemble a Emacs bytecode"
"Disassemble an Emacs bytecode file"
;; Thanks to wasamasa on stackoverflow.
(interactive
(list (car (find-file-read-args "Find file: "
Expand Down
18 changes: 17 additions & 1 deletion setup.py
@@ -1,5 +1,21 @@
from setuptools import setup
classifiers = [
'Intended Audience :: Developers',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
]

setup(
install_requires = ('spark_parser>=1.7.0',),
author = "Rocky Bernstein",
install_requires = ('spark_parser>=1.8.5',),
name = 'eldecompile',
entry_points = {
'console_scripts': [
'eldecompile = eldecompile.main:main',
]},
)
37 changes: 37 additions & 0 deletions testdata/cl-gcd.lap
@@ -0,0 +1,37 @@
byte code for cl-gcd:
doc-start 69: Return the greatest common divisor of the arguments.

(fn &rest ARGS)
args: (&rest rest)
0 dup
1 stack-ref 1
2 cdr
3 stack-set 2
5 car-safe
6 goto-if-not-nil-else-pop 1
9 constant 0
10:1 stack-ref 1
11:2 dup
12 goto-if-nil 5
15 dup
16 car
17:3 dup
18 constant 0
19 eqlsign
20 goto-if-not-nil 4
23 stack-ref 2
24 stack-ref 1
25 dup
26 stack-set 5
28 rem
29 stack-set 1
31 goto 3
34:4 stack-ref 1
35 cdr
36 discardN-preserve-tos 2
38 goto 2
41:5 discard
42 constant abs
43 stack-ref 1
44 call 1
45 return

0 comments on commit d723d9b

Please sign in to comment.