Существование универсального 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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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