Parser grammar now only outputs the AST, created a tree grammar to check
for semantic errors