Checkpoint commit in implementing visitor pattern for compiler

Currently only uses PrintVisitor to print AST, and does not
correctly implement compilation code using visitor pattern