added cpp backend for supporting clang related tools

Sorry for all the PR's
This is the last one i promise

We will need the cpp backend to support clang related tools.