Например,
Код: Выделить всё
#include
#define do main()
do {
printf("Hello World!\n");
}
Я не программист, а всего лишь математик, который писал несколько примеров для студентов. Я писал примеры для удобства как на C++, так и на Python, когда задумался о возможности размещения двух версий в одном файле. Я не знал о существовании термина «полиглот» (относящегося к программам) или о том, что они могут быть источником удовольствия.
Мой вопрос: известна ли методика, имеющая универсальный полиглот для C++ и Python? Под универсальным я подразумеваю, что это не отдельная программа, а шаблон, который позволяет переписать любую (достаточно короткую) программу на C++ и ее версию для Python в полиглот, который их объединяет.
Может быть, мне следует сначала спросить о существовании полиглотов C++/Python, потому что в моих поисках я не нашел полиглота C++/Python.
Для меня трудно судить о существовании или материализовать решение. У меня нет большого опыта работы с этими умными конструкциями.
Я попробовал заключить часть Python между #if 0 и #endif, которая будет комментариями в Python, и указать C++ игнорировать эту часть. Что касается части, пригодной для использования на C++, я попытался включить ее в строку документации, которая для большинства эффектов будет игнорироваться Python. Но не смог найти способ сделать кавычки приемлемыми как для Python, так и для C++.
Код: Выделить всё
#if 0
print('Hi there')
#endif
#if 0
"""
#endif
#include
int main() {
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/52980076/existence-of-universal-c-python-polyglot[/url]
Мобильная версия