summaryrefslogtreecommitdiff
path: root/Assignment2/src/Expression.icl
diff options
context:
space:
mode:
authorCamil Staps2018-07-06 14:55:23 +0200
committerCamil Staps2018-07-06 14:55:23 +0200
commit16ab2568f8bd784d2426eaac0214549146cfa561 (patch)
tree292bccbd382cb7b31aced1b6cb409d32adaa0855 /Assignment2/src/Expression.icl
parentMerge branch 'master' of gitlab.science.ru.nl:eveen/Model-Checking (diff)
Add minimization goals (not supported by Z3)
Diffstat (limited to 'Assignment2/src/Expression.icl')
-rw-r--r--Assignment2/src/Expression.icl10
1 files changed, 6 insertions, 4 deletions
diff --git a/Assignment2/src/Expression.icl b/Assignment2/src/Expression.icl
index 7622103..53699c0 100644
--- a/Assignment2/src/Expression.icl
+++ b/Assignment2/src/Expression.icl
@@ -1,8 +1,10 @@
implementation module Expression
from StdChar import instance == Char
-from StdOverloaded import class toString(toString)
-from StdString import instance toString {#Char}, instance toString Int, instance toString Real
+from StdOverloaded import class toString(toString), class toReal(toReal)
+from StdReal import entier, instance toReal Int, instance == Real
+from StdString import
+ instance toString {#Char}, instance toString Int, instance toString Real
import Data._Array
from Data.Func import $
@@ -46,6 +48,6 @@ where
(e1 - e2) -> "(- " <+ e1 <+ " " <+ e2 <+ ")"
(e1 * e2) -> "(* " <+ e1 <+ " " <+ e2 <+ ")"
(e1 / e2) -> "(/ " <+ e1 <+ " " <+ e2 <+ ")"
- LitInt i -> toString i
- LitReal r -> toString r
+ LitInt i -> toString i <+ ".0"
+ LitReal r -> if (toReal (entier r) == r) (r <+ ".0") (toString r)
Var v -> v