execute (SWhile e s) = do
(VBool b) <- eval e
if b then pushAndPop (execute s) >> execute (SWhile e s) else return ()
+execute (SDeclD t i) = execute (SDecl t i $ case t of
+ TInt -> EInt 0
+ TBool -> EBool False
+ )
execute (SDecl t i e) =do
e' <- eval e
(m:ms) <- get