"L;L'!+!'_
Попробуйте онлайн!
Это печатает:
_'!+!'L;L"
Попробуйте онлайн!
И наоборот.
объяснение
Это модификация обратного квина . Это работает в наших интересах здесь, который !используется для печати, а также находится всего в одном коде от цитаты ". Это облегчает создание секции печати цитат палиндромной ( '!+!'). Давайте начнем с первого кода:
"L;L'!+!'_
Эта программа имеет две точки входа в точке Ls, каждая из которых создает левый атом. Тем не менее, правильный сразу попадает в тот, ;который разрушает его. Левый вводит строковый режим и оборачивается до конца, так что печатает весь код (кроме ") сзади-спереди. Это уже дает нам _'!+!'L;L. Осталось только распечатать ". _может быть проигнорировано, '!устанавливает массу атома равной 33 (кодовая точка !), +увеличивает ее "и !печатает. Это все, что сделано на выходе. В 'Lустанавливает атомы массы до точки коды , Lно это не имеет значения. ;уничтожает также и этот атом, и так как не осталось ни одного атома, программа завершается.
Теперь наоборот:
_'!+!'L;L"
Опять же, у нас есть две точки входа, но один атом немедленно уничтожается. На этот раз мы !+!'сначала перемещаемся по разделу, поэтому начнем с печати цитаты. '_Снова не имеет значения, но нам нужен _(или какой -либо другой бесполезный персонаж) здесь , чтобы избежать возможности 'избежать ". Атом доходит до конца, перебирает исходный код один раз в строковом режиме, чтобы напечатать остальную часть программы в обратном порядке, Lзатем игнорируется и ;уничтожает атом и завершает программу.