about summary refs log tree commit diff stats
path: root/example/expression/expr_translate.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2019-02-25 11:09:54 +0100
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2019-03-05 16:52:49 +0100
commit02bbb30efea4980c9d133947cbbf69fb599071ad (patch)
tree3fea6826fcc5354840a27cb1dc99ff31eef81896 /example/expression/expr_translate.py
parenteab809932871f91d6f4aa770fc321af9e156e0f5 (diff)
downloadmiasm-02bbb30efea4980c9d133947cbbf69fb599071ad.tar.gz
miasm-02bbb30efea4980c9d133947cbbf69fb599071ad.zip
Support python2/python3
Diffstat (limited to 'example/expression/expr_translate.py')
-rw-r--r--example/expression/expr_translate.py27
1 files changed, 15 insertions, 12 deletions
diff --git a/example/expression/expr_translate.py b/example/expression/expr_translate.py
index e1505dae..1a36a64c 100644
--- a/example/expression/expr_translate.py
+++ b/example/expression/expr_translate.py
@@ -1,5 +1,8 @@
+from __future__ import print_function
 import random
 
+from future.utils import viewitems
+
 from miasm2.expression.expression import *
 from miasm2.expression.expression_helper import ExprRandom
 from miasm2.ir.translators import Translator
@@ -13,32 +16,32 @@ class ExprRandom_OpSubRange(ExprRandom):
                                  }
 
 
-print "[+] Compute a random expression:"
+print("[+] Compute a random expression:")
 expr = ExprRandom_OpSubRange.get(depth=8)
-print "-> %s" % expr
-print
+print("-> %s" % expr)
+print()
 
 target_exprs = {lang:Translator.to_language(lang).from_expr(expr)
                 for lang in Translator.available_languages()}
-for target_lang, target_expr in target_exprs.iteritems():
-    print "[+] Translate in %s:" % target_lang
-    print target_expr
-    print
+for target_lang, target_expr in viewitems(target_exprs):
+    print("[+] Translate in %s:" % target_lang)
+    print(target_expr)
+    print()
 
-print "[+] Eval in Python:"
+print("[+] Eval in Python:")
 def memory(addr, size):
     ret = random.randint(0, (1 << size) - 1)
-    print "Memory access: @0x%x -> 0x%x" % (addr, ret)
+    print("Memory access: @0x%x -> 0x%x" % (addr, ret))
     return ret
 
 for expr_id in expr.get_r(mem_read=True):
     if isinstance(expr_id, ExprId):
         value = random.randint(0, (1 << expr_id.size) - 1)
-        print "Declare var: %s = 0x%x" % (expr_id.name, value)
+        print("Declare var: %s = 0x%x" % (expr_id.name, value))
         globals()[expr_id.name] = value
 
-print "-> 0x%x" % eval(target_exprs["Python"])
+print("-> 0x%x" % eval(target_exprs["Python"]))
 
-print "[+] Validate the Miasm syntax rebuilding"
+print("[+] Validate the Miasm syntax rebuilding")
 exprRebuild = eval(target_exprs["Miasm"])
 assert(expr == exprRebuild)