GCC преобразует сложный код C ++ в машинный код и, таким образом, технически является ответом на ваш вопрос.На самом деле таких компиляторов много, но я не думаю, что это то, что вы хотели спросить.
Существуют инструменты, которые встроены для перевода просто одного языка в другойв качестве исходного кода (другой автор предложил "f2C", который является прекрасным примером).Они похожи на компиляторы ... но реже.
Практически нет инструментов, которые могли бы отображать из одного языка во многие другие, из коробки.Проблема состоит в том, что языки имеют разные модели исполнения, типы данных и схемы исполнения, которые такой переводчик должен правильно имитировать на целевом языке.Это «генераторы кода», которые утверждают, что делают это, но они в значительной степени являются спецификациями IMHO довольно простых функций, которые тривиально преобразуются в простой код в целевом языке.
Если вы хотите перевести один язык на другой вВ общем, вам нужна система преобразования программ, например, система, которая может анализировать произвольные языки и для которой вы можете предоставить правила перевода, которые отображаются на другие языки в некотором роде.
Наш DMS Software Reengineering Toolkit является одним из них.Это SO Какие типы шаблонов я мог бы применить в коде, чтобы упростить перевод на другой язык программирования? обсуждает проблемы более подробно.