improved diferenciation between function declarations and definitions
implemented do/while loop
improved unit test support while loop support function declaration