An implementation of the cool compiler