Refactoring the grammar, aiming to parse real code
Clarifying tests
All tests updated