Или про gp2c правильно говорить ретранслятор?
Правильнее - транслятор:
Трансля́тор — программа или техническое средство, выполняющее трансляцию программы[1][2][3].
Трансля́ция програ́ммы — преобразование программы, представленной на одном из языков программирования, в программу, написанную на другом языке.
Компилятор является частным случаем транслятора если на выходе машинный код (хотя само понятие машинного кода не вполне чётко, процессоры бывают очень разные и некоторые могут принимать довольно высокоуровневый код, который для других транслируется в их машинный код). Но и интерпретатор тоже частный случай транслятора.
Так что если не знаете как называть - говорите транслятор, не ошибётесь.
Или есть вариант транскомпилятор/транспайлер:
Транспайлер — тип компилятора, который использует исходный код программы, написанной на одном языке программирования, в качестве исходных данных и производит эквивалентный исходный код на другом языке программирования.
Цитата:
Source-to-source compilers are a type of compiler that takes a high-level language as its input and outputs a high-level language. Other terms for a source-to-source compiler are transcompiler or transpiler.
Но я такого термина ни разу не слышал.
Я по привычке делю все трансляторы на два типа в зависимости от что именно они делают: компиляторы выдают код на другом (или том же) языке (машинном или нет без разницы, главное что выполняется не сама программа, а лишь её преобразование) и интерпретаторы которые код сразу исполняют. Тогда gp2c компилятор. И придумывать лишние термины типа транскомпилятора или кросскомпилятора (когда код генерится под другую платформу чем где работает сам компилятор) большого смысла не вижу, это скорее запутывает классификацию (слишком много исключений и двойных смыслов появляется).