added while, break, continue and simplified the grammar