diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-02-25 11:09:54 +0100 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-03-05 16:52:49 +0100 |
| commit | 02bbb30efea4980c9d133947cbbf69fb599071ad (patch) | |
| tree | 3fea6826fcc5354840a27cb1dc99ff31eef81896 /example/expression/expr_translate.py | |
| parent | eab809932871f91d6f4aa770fc321af9e156e0f5 (diff) | |
| download | miasm-02bbb30efea4980c9d133947cbbf69fb599071ad.tar.gz miasm-02bbb30efea4980c9d133947cbbf69fb599071ad.zip | |
Support python2/python3
Diffstat (limited to 'example/expression/expr_translate.py')
| -rw-r--r-- | example/expression/expr_translate.py | 27 |
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) |