urcl provides a backend for the URCL intermediate language, which can be then used to compile to a variety of targets.
urcl