chameleon compiler