Implementing a Finite-domain CLP-language on Top of Prolog: a Transformational Approach