A compiler for the COOL programming language (learning)