I beg to disagree. For something as complex as C++, writing the preprocessor, the parser, and the code generator is very much beyond a man year.
The other part of the issue is building the internal representation so that halfway decent code can be generated, not even thinking about optimization.
And, like the syntax and grammar of the language, the semantics of C++ are quite complex.