Initial work on C++ code generation