The grammar has passed all the tests I made. Started refactoring