grammar is OK, SableCC is cool, It makes the AST very elegant