about summary refs log tree commit diff stats
path: root/example/expression/expr_grapher.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2014-09-19 15:27:13 +0200
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2014-09-19 15:27:13 +0200
commit308e7127ab1f67d62d02496aa73385533f8a3e7a (patch)
treead1b5eab8133ef9cc3d188e63f482ac680bcfa9a /example/expression/expr_grapher.py
parent032263e8f58573c5cbb61928b9edcc62855c989d (diff)
parent602f73846b316b7d6ba14f74355fb0da72571fb6 (diff)
downloadmiasm-308e7127ab1f67d62d02496aa73385533f8a3e7a.tar.gz
miasm-308e7127ab1f67d62d02496aa73385533f8a3e7a.zip
merge
Diffstat (limited to 'example/expression/expr_grapher.py')
-rw-r--r--example/expression/expr_grapher.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/example/expression/expr_grapher.py b/example/expression/expr_grapher.py
new file mode 100644
index 00000000..d1cbb73b
--- /dev/null
+++ b/example/expression/expr_grapher.py
@@ -0,0 +1,21 @@
+from miasm2.core.graph import DiGraph
+from miasm2.expression.expression import *
+
+print "Simple Expression grapher demo"
+
+a = ExprId("A")
+b = ExprId("B")
+c = ExprId("C")
+d = ExprId("D")
+m = ExprMem(a + b + c + a)
+
+e1 = ExprCompose([(a + b - (c * a) / m | b, 0, 32), (a + m, 32, 64)])
+e2 = ExprInt64(15)
+e = ExprCond(d, e1, e2)[0:32]
+
+print "[+] Expression:"
+print e
+
+g = e.graph()
+print "[+] Graph:"
+print g.dot()