"L;L'!+!'_
Cobalah online!
Ini mencetak:
_'!+!'L;L"
Cobalah online!
Dan sebaliknya.
Penjelasan
Ini adalah modifikasi dari quine terbalik . Ini berfungsi untuk keuntungan kami di sini yang !
digunakan untuk mencetak dan juga hanya berjarak satu poin kode dari kutipan "
. Itu membuatnya lebih mudah untuk membuat bagian pencetakan kutipan palindromic (the '!+!'
). Mari kita mulai dengan kode pertama:
"L;L'!+!'_
Program ini memiliki dua titik masuk di L
s, yang masing-masing membuat atom yang tersisa. Namun, yang tepat langsung mengenai ;
yang menghancurkannya. Yang kiri memasuki mode string dan membungkus sampai akhir, sehingga mencetak seluruh kode (kecuali "
) dari belakang ke depan. Itu sudah memberi kita _'!+!'L;L
. Yang tersisa adalah mencetak "
. _
dapat diabaikan, '!
setel massa atom menjadi 33 (titik kode !
), +
menambahnya "
, dan !
mencetaknya. Itu semua yang dilakukan. The 'L
set atom massa ke titik kode L
tapi itu tidak relevan. ;
menghancurkan atom ini juga dan karena tidak ada atom yang tersisa, program berakhir.
Sekarang sebaliknya:
_'!+!'L;L"
Sekali lagi, kami memiliki dua titik masuk tetapi satu atom segera dihancurkan. Kali ini kami bergerak melalui !+!'
bagian pertama, jadi kami mulai dengan mencetak penawaran. The '_
lagi relevan, tapi kita perlu _
(atau beberapa karakter yang tidak berguna lainnya) di sini untuk menghindari '
melarikan diri "
. Atom membungkus sampai akhir, melintasi kode sumber sekali dalam mode string untuk mencetak sisa program secara terbalik, yang L
kemudian diabaikan dan ;
menghancurkan atom dan mengakhiri program.