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