while :: Parser Statement
while = do reserved "while"
           condition <- booleanExpression
           reserved "do"
           s <- statements
           return (While condition s)
while :: Parser Statement
while = do reserved "while"
           condition <- booleanExpression
           reserved "do"
           s <- statements
           return (While condition s)
while = do reserved "while"
           condition <- booleanExpression
           reserved "do"
           s <- statements
           return (While condition s)