An implementation of the COOL compiler