COOL compiler