about summary refs log tree commit diff stats
path: root/example/expression/simplification_add.py
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2022-03-24 10:52:48 +0100
committerGitHub <noreply@github.com>2022-03-24 10:52:48 +0100
commit299fa40894236163a13051fe3b52b3d2e6951e8a (patch)
tree6d502cae4c62e48f4e254df60560c543cdc0c938 /example/expression/simplification_add.py
parent0601bbed4cb32098f216b4a2af0310e996e69a56 (diff)
parentaa863605984cde8ae14eb14cf62027e6af4b22ad (diff)
downloadmiasm-299fa40894236163a13051fe3b52b3d2e6951e8a.tar.gz
miasm-299fa40894236163a13051fe3b52b3d2e6951e8a.zip
Merge pull request #1420 from CLOVIS-AI/examples-update
Updates to the examples
Diffstat (limited to 'example/expression/simplification_add.py')
-rw-r--r--example/expression/simplification_add.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/example/expression/simplification_add.py b/example/expression/simplification_add.py
index ff28d56e..c24c15e3 100644
--- a/example/expression/simplification_add.py
+++ b/example/expression/simplification_add.py
@@ -1,7 +1,11 @@
 from __future__ import print_function
+
 import miasm.expression.expression as m2_expr
-from miasm.expression.simplifications import expr_simp
-from pdb import pm
+from miasm.expression.simplifications import ExpressionSimplifier
+
+# Creates an expression simplifier that (by default) applies no simplifications.
+# Other instances with simplifications enabled by default can be found in `expressions/simplifications.py`.
+simp = ExpressionSimplifier()
 
 print("""
 Expression simplification demo: Adding a simplification:
@@ -10,6 +14,7 @@ a + a + a == a * 3
 More detailed examples can be found in miasm/expression/simplification*.
 """)
 
+
 # Define the simplification method
 ## @expr_simp is the current expression simplifier instance
 ## (for recursive simplifications)
@@ -31,17 +36,17 @@ def simp_add_mul(expr_simp, expr):
         # Do not simplify
         return expr
 
+
 a = m2_expr.ExprId('a', 32)
 base_expr = a + a + a
 print("Without adding the simplification:")
-print("\t%s = %s" % (base_expr, expr_simp(base_expr)))
+print("\t%s = %s" % (base_expr, simp(base_expr)))
 
 # Enable pass
-expr_simp.enable_passes({m2_expr.ExprOp: [simp_add_mul]})
+simp.enable_passes({m2_expr.ExprOp: [simp_add_mul]})
 
 print("After adding the simplification:")
-print("\t%s = %s" % (base_expr, expr_simp(base_expr)))
+print("\t%s = %s" % (base_expr, simp(base_expr)))
 
-# Automatic fail
-assert(expr_simp(base_expr) == m2_expr.ExprOp("*", a,
-                                              m2_expr.ExprInt(3, a.size)))
+assert simp(base_expr) == m2_expr.ExprOp("*", a,
+                                         m2_expr.ExprInt(3, a.size))