A class project, make a tiny complier