При правильном сопоставлении входов и выходов ЛЮБОЙ язык можно преобразовать в ЛЮБОЙ ДРУГОЙ язык, предполагая, что существуют механизмы для сопоставления каждой функции каждого из них.
Практичность таких инструментов спорна, а читаемость / ремонтопригодность получающегося кода просто ужасна.
Но вы говорите о теории, и да, теоретически возможно отобразить ЛЮБОЙ язык X на ЛЮБОЙ ДРУГОЙ язык Y.