Parser now create a parse tree during parsing
Added test cases (including one that fails until our grammar is LL1)