Существование универсального C++/Python PolyglotC++

Программы на C++. Форум разработчиков
Anonymous
Существование универсального C++/Python Polyglot

Сообщение Anonymous »

Полиглот – это название программ, которые поддерживаются более чем на одном языке.

Например,

Код: Выделить всё

#include 
#define do main()
do {
printf("Hello World!\n");
}
действителен в C и Perl.

Я не программист, а всего лишь математик, который писал несколько примеров для студентов. Я писал примеры для удобства как на 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]

Вернуться в «C++»