Added AST and new compiler