diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2022-03-24 10:52:48 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-24 10:52:48 +0100 |
| commit | 299fa40894236163a13051fe3b52b3d2e6951e8a (patch) | |
| tree | 6d502cae4c62e48f4e254df60560c543cdc0c938 /example/expression/simplification_add.py | |
| parent | 0601bbed4cb32098f216b4a2af0310e996e69a56 (diff) | |
| parent | aa863605984cde8ae14eb14cf62027e6af4b22ad (diff) | |
| download | miasm-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.py | 21 |
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)) |