X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;ds=inline;f=expr%2Fexist%2Fwhile.icl;h=72430fc6d9dd61a0a5eae3503c6b2602dcced87a;hb=1ed4222009881d320de99275c369c4f55ef56237;hp=4e23327c3a8413017d630ada1fb9b5aa97706822;hpb=938d3406c1e406db293024b9a5710579a0090893;p=clean-tests.git diff --git a/expr/exist/while.icl b/expr/exist/while.icl index 4e23327..72430fc 100644 --- a/expr/exist/while.icl +++ b/expr/exist/while.icl @@ -35,4 +35,28 @@ where evalb (Not a) = not o evalb a evalb (WBool e) = evalb e +instance print WhileExpr +where + print (i =. v) = i +++ " := " +++ print v + print (If b _ t _ e) = "If " +++ print b +++ " then " +++ print t +++ " else " +++ print e + print (a :. b) = print a +++ "; " +++ print b + print x=:(While b _ e) = "While " +++ print b +++ " do " +++ print e + print Skip = "Skip" + print (WExpr e) = print e + +instance print WhileInt +where + print (Int i) = toString i + print (Var s) = s + print (a +. b) = print a +++ " + " +++ print b + print (WInt e) = print e + +instance print WhileBool +where + print (Bool b) = toString b + print (a ==. b) = print a +++ " = " +++ print b + print (a &. b) = print a +++ " && " +++ print b + print (Not a) = "!" +++ print a + print (WBool e) = print e + Start = (eval ("a" =. Int 42 :. While (Bool False) Do ("b" =. Int 4)) emptyGamma) "a"