about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2016-03-15 17:14:30 +0100
committerserpilliere <serpilliere@users.noreply.github.com>2016-03-15 17:14:30 +0100
commit0bcc00e10a1f9ea996f655b662a004b033063294 (patch)
treec2434e4777d7f74dfaaea6acb3f5750de1ea431d
parentfd90bd76db35d3cb077d72e4782c3c1d5e3820ec (diff)
parentdd60a5ac6c0f14b7ffef73c132f4f31c1f310826 (diff)
downloadmiasm-0bcc00e10a1f9ea996f655b662a004b033063294.tar.gz
miasm-0bcc00e10a1f9ea996f655b662a004b033063294.zip
Merge pull request #334 from mrphrazer/fix_smt2translator
Fix smt2translator
-rw-r--r--miasm2/ir/translators/__init__.py1
-rw-r--r--miasm2/ir/translators/smt2.py7
2 files changed, 7 insertions, 1 deletions
diff --git a/miasm2/ir/translators/__init__.py b/miasm2/ir/translators/__init__.py
index 22e00d98..d3678ffc 100644
--- a/miasm2/ir/translators/__init__.py
+++ b/miasm2/ir/translators/__init__.py
@@ -3,6 +3,7 @@ from miasm2.ir.translators.translator import Translator
 import miasm2.ir.translators.C
 import miasm2.ir.translators.python
 import miasm2.ir.translators.miasm
+import miasm2.ir.translators.smt2
 try:
     import miasm2.ir.translators.z3_ir
 except ImportError:
diff --git a/miasm2/ir/translators/smt2.py b/miasm2/ir/translators/smt2.py
index 21f40e54..5bffd7f2 100644
--- a/miasm2/ir/translators/smt2.py
+++ b/miasm2/ir/translators/smt2.py
@@ -284,13 +284,14 @@ class TranslatorSMT2(Translator):
         dst = self.from_expr(expr.dst)
         return smt2_assert(smt2_eq(src, dst))
 
-    def to_smt2(self, exprs, logic="QF_ABV"):
+    def to_smt2(self, exprs, logic="QF_ABV", model=False):
         """
         Converts a valid SMT2 file for a given list of
         SMT2 expressions.
 
         :param exprs: list of SMT2 expressions
         :param logic: SMT2 logic
+        :param model: model generation flag
         :return: String of the SMT2 file
         """
         ret = ""
@@ -313,6 +314,10 @@ class TranslatorSMT2(Translator):
         # define action
         ret += "(check-sat)\n"
 
+        # enable model generation
+        if model:
+            ret += "(get-model)\n"
+
         return ret