------- C++ CodeGen INTEGRATION --- The actual work is done by Yannis and Luis --- IT IS NOT COMPLETE AND GENERALIZED YET, but is added for making the future migration easier