Basic AST

Do we need this class already? Just curious.
(NB: As we'll have to implement an attribute grammar for semantic analysis, the class might even be called something entirely different.)