setup base grammar and AST classes