Polyglot - это имя, данное программам, которые действительны более чем на одном языке. < /p>
Например, < /p>
#include
#define do main()
do {
printf("Hello World!\n");
}
< /code>
действителен в C и Perl. < /p>
Я не программист, только математик, который писал несколько примеров для студентов. Я писал примеры с версиями C ++ и Python для их удобства, когда я подумал о том, чтобы иметь две версии в одном файле. Я не знал существования термина «Полиглот» (ссылки на программы) или что они могут быть таким источником веселья. Под Universal я имею в виду, что вместо того, чтобы быть единственной программой, это шаблон, который позволяет переписать любую (достаточно короткую) программу в C ++ и его версию для Python в полиглот, который их объединяет. PolyGlot. < /p>
Я разместил его здесь, потому что я хотел полиглот по слегка практической причине. Я мог бы опубликовать его в программировании головоломков и кодового гольфа. Если он должен пойти туда. У меня нет большого опыта в этих умных конструкциях. Для C ++-используемой части я попытался заключить ее в Docstring, что для большинства эффектов будет проигнорировано Python. Но не смог найти способ сделать кавычки приемлемыми как для Python, так и для C ++. < /P>
#if 0
print('Hi there')
#endif
#if 0
"""
#endif
#include
int main() {
std::cout : < /p>
Предупреждение: отсутствует завершение" < /code> символ < /p>
< /blockquote>
Подробнее здесь: https://stackoverflow.com/questions/529 ... n-polyglot