Какие языки используются в полигоне Qaru 404?

В настоящее время, когда пользователь получает 404, он видит следующее изображение:

polygot-404.png

Который представляет текст:

# define v putchar
#   define print(x) main(){v(4+v(v(52)-4));return 0;}/*
#>+++++++4+[>++++++<-]> ++++.----.++++.*/
print(202*2);exit();
#define/*>[email protected]*/exit()

Это выглядит подозрительно полиглотски. На каких языках это интересно?


Боковая мысль: это только я, или я нашел ошибку в Prettify?

Ответы

Ответ 1

Строка 4 с print(202*2) действительна в любом количестве языков сценариев, таких как Perl, Ruby, ECMAScript (обеспечивается подходящая реализация функции print) и, возможно, Python.

Строка 2 должна сделать строку 4 действительной в C и Objective-C, возможно, также С++ и Objective-C ++.

Линия 3 содержит некоторый Brainfuck, но, похоже, там что-то есть.

Я понятия не имею, для какой строки 1 используется v. Почему бы просто не называть putchar непосредственно в строке 2? Поэтому я подозреваю, что существует другой язык, который каким-то образом действует в этой строке. (Сначала я подумал о Whitespace, но там недостаточно пробелов, чтобы быть действительной программой Whitespace.)

И строка 5, очевидно, также содержит некоторый код на некотором сильно сжатом языке. Может быть, что-то в семье APL (J, K,...) или Golfscript?

Ответ 2

Это C и brainf**k. Оба они печатают 404.