implement cxx expression generator