SWhile (EGt (EIdent (Ident "x")) (EIdent (Ident "y"))) (SExp (EAss (Ident "y") (SExp (EAss (Ident "x") (EInt 3)))))
should be
SWhile (EGt (EIdent (Ident "x")) (EIdent (Ident "y"))) (SExp (EAss (Ident "y") (EAss (Ident "x") (EInt 3))))/Johannes
SWhile (EGt (EIdent (Ident "x")) (EIdent (Ident "y"))) (SExp (EAss (Ident "y") (EAss (Ident "x") (EInt 3))))
/Johannes