Terinspirasi oleh poliglot pada halaman Stack Overflow 404 :
Tujuan
Tujuan Anda sederhana, untuk membuat polyglot yang menghasilkan angka 404 , dan kemudian mengakhiri, dalam bahasa sebanyak mungkin.
Batasan
Ini twistnya, ada batasan untuk membuatnya lebih sulit:
Anda harus menulis program N dan memilih bahasa N dalam urutan tertentu. program i perlu mencetak 404
dalam bahasa i pertama , tetapi tidak dalam bahasa apa pun setelah i . Ini untuk mencegah solusi yang sangat sederhana dari menghancurkan persaingan
Mencetak:
- Kriteria pertama untuk menentukan pemenang adalah jumlah bahasa yang digunakan oleh program utama.
- Kriteria kedua adalah jumlah byte, di mana program dengan lebih banyak bahasa lebih penting untuk kriteria ini.
- Kriteria ketiga dan terakhir adalah waktu penyerahan
Klarifikasi:
Kode sumber program tidak perlu memiliki hubungan apa pun. Mereka dijalankan sebagai program terpisah. Setiap program dapat menampilkan trailing dan / atau memimpin spasi putih. PROGRAM-PROGRAM INI TIDAK HARUS MENJADI SUBSEKUENSI SETIAP ORANG LAIN!
Terima kasih kepada @MartinEnder untuk penjelasan yang lebih baik!
sumber
Jawaban:
54 Bahasa, 1331 byte
> <> , Gol> <> , Foo , Befunge-93 , Befunge-98 , brainfuck , Brain-Flak , Python 2 , Python 3 , Hexagony , Perl , Ruby , Julia , Kardinal , Brainbash , Turtlèd , Deadfish ~ , Whitespace , Braille , Rel , Fisi , ETA , Pemicu , Self-memodifikasi Brainfuck , Numberwang , Sebenarnya , Emoji , Simbolik Brainfuck , Tincan , Alphuck , Sodok , Cood , Wise , Lebar , Whispers , Thue , Surface , Stones , jahat , Set , Prelude , Gaot ++ , Cubix , Cubically , PATH , Commercial , Brian & Chuck, Monyet , Nhohnhehr , Beam , AsciiDots , Alumin , Alice , Whirl
Ini semakin lama, jadi atas saran @ MDXF, saya memindahkan subprogram dan komentar ke intisari . Program di sini hanya program akhir. Terima kasih kepada MDXF lagi untuk menyediakan driver tes TIO.
54. Whirl
Cobalah online!
Whirl digambarkan sebagai Turning Tarpit [sic], yang hanya menggunakan dua instruksi, 1 dan 0. 1 memutar roda instruksi saat ini (baik roda matematika atau roda operasi), 0 menukar rotasi roda, dan dua 0s menjalankan instruksi dan mengganti roda. Instruksi yang relevan ada di baris pertama:
000110000011110000100000100000110000011001100000111100001110011000111000110000
01 yang memimpin membatalkan satu sama lain, dan 01 yang tertinggal menyebabkan pengecualian floating point.
Sunting: memperbaiki banyak barang yang rusak
(Perintah untuk berhati-hati di masa depan
UDLR%"[.]o473psjw
:)Jika ada program yang berfungsi untuk bahasa mendatang atau tidak berfungsi untuk bahasa saat ini atau sebelumnya, silakan komentar.
sumber
...print(0 or 404)
tetapi bukan merupakan lanjutan dari program N-byte 97 byte.#
. Saya sangat menyesal termasuk dua bahasa haha.53 bahasa, 2789 byte
Bash, Foo, Implisit, Arang, Emoji,> <>, rk, Brain-Flak, C, Set, Cood, Arcyou, TRANSCRIPT, SILOS, Komersial, C ++, Braille, Deadfish ~, Memescript 1.0, ETA, Python 1, Python 3, PARI / GP, Lily, Fission, Desimal, Kubus, Bitwise, TinCan, Whispers, Thue, Emotinomicon, what ??!, Ook !, evil, Lennyfuck, Blablafuck, Stones, TacO, COW, Symbolic Brainfuck, Underload, Rail , Reticular, Gaot ++, PATH, axo, Monyet, Nhohnhehr, xEec, VTFF, K-on Fuck, Churro, dan Forked. Coba semuanya online di driver tes!
Bergabunglah bersama kami di ruang obrolan untuk tantangan ini!
Posting ini terlalu besar jadi inilah intisari yang berisi kemajuan saya. Program akhir saat ini:
Bercabang dua
Cobalah online!
Esolang baru saya (diterapkan)!
sumber
34 Bahasa, 387 karakter
Jelly , M , Pyon , Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari / GP, brainfuck, Emoji, Emotin🌗micon, Arang, Braingolf, Whitespace, Deadfish ~, Deadfish, Brainfuck pemodifikasi-sendiri, Brainfuck Simbolik, Numberwang, Kardinal, Sebenarnya, Fisi, Pendahuluan, Brain-Flak (BrainHack), Alphuck, Deadfish x, TacO, Braille, rk , evil
Jawaban ini semakin panjang, jadi inilah jawaban lengkapnya. Mulai sekarang hanya program terakhir yang akan disimpan di sini.
Jika ada yang menemukan bahwa salah satu program rusak karena satu bahasa atau satu program bekerja untuk bahasa yang seharusnya tidak, beri tahu saya.
Cobalah online!
sumber
11 bahasa, 10 byte
Pyon
Pyon, Python 2
Pyon, Python 2, Python 1
Pyon, Python 2, Python 1, Python 3
Pyon, Python 2, Python 1, Python 3, Lua
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6, Julia
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6, Julia, Lily
sumber
4 Bahasa: CJam, Python, Underload,> <>
Berikut ini berfungsi dalam CJam tetapi tidak Python, Underload, atau> <>:
404
ke stack. Program berakhir, dan404
hasilnya adalah.404
. Ekspresi dievaluasi, dan program berakhir.4
dan0
merupakan perintah yang tidak valid, sehingga penerjemah TIO mengabaikannya, dan program berakhir.404
mendorong4
,0
dan4
ke tumpukan. IP membungkus sekitar ke awal, dan program ini berulang tanpa batas.Berikut ini berfungsi dalam CJam atau Underload (meskipun kesalahan) tetapi tidak Python atau> <>:
N
mendorong string (array karakter) yang berisi baris baru ke stack.(
muncul karakter tunggal (baris baru) dari string.404
mendorong404
ke tumpukan, dan kemudian)
menambahkannya untuk diberikan405
.S;
mendorong spasi dan kemudian segera menghapusnya.(
decrements lagi untuk mendapatkan404
, dan kemudian\
menukar baris baru dan404
.404\n
adalah output (array kosong ditampilkan sebagai tidak ada).N
diabaikan.(404)
mendorong string404
ke tumpukan.S
keluaran itu.;
diabaikan.(
menyebabkan penerjemah mencoba mencari penutupan)
, tetapi karena tidak ada yang ditemukan, program segfault.N(404)
diikuti oleh pengenalS
, yang salah bentuk), sehingga kesalahan program.N
adalah instruksi yang tidak valid, sehingga kesalahan program.Berikut ini berfungsi dalam CJam (meskipun kesalahan), Underload, atau Python, tetapi tidak> <>:
[]
mendorong array kosong ke stack, danL
mendorong array kosong ke stack.e=
menghitung jumlah kejadian[]
dalam[]
, memberi0
.404
mendorong404
ke tumpukan.+
menambahkan dua angka bersamaan, memberi404
.L
mendorong array kosong ke tumpukan lagi, dane#
membuat komentar yang bertahan hingga akhir baris.(
mencoba mengeluarkan elemen dari array, tetapi karena elemen tumpukan atas adalah array kosong[]
, kesalahan program.404
masih keluaran.[]
adalah pernyataan yang terdiri dari instruksi no-op.Le=404
mendefinisikan variabelLe
agar sama dengan404
.+Le
mengambil plus unary dari variabelLe
(operasi yang agak tidak berguna) dan hasilnya dibuang.#(404)S
adalah komentar baris.(print(404))
mencetak 404.(404)S
, yang mendorong404
ke tumpukan dan mengeluarkannya.(print(404))
mendorongprint(404)
ke tumpukan, tetapi tidak ada yang dilakukan dengan itu dan program berakhir.[
mencoba mengeluarkan nomor dari tumpukan teratas di metastack, dan kemudian mengeluarkan banyak elemen dari tumpukan itu dan membuatnya menjadi tumpukan baru yang kemudian didorong ke metastack. Tidak ada nomor di tumpukan, sehingga kesalahan program.Berikut ini berfungsi di CJam (meskipun kesalahan), Python, Underload, dan> <>:
[]
, kami sekarang memiliki string literal, tetapi kontennya masih tidak penting.[]
, ekspresi pertama yang tidak digunakan sekarang menjadi string literal, tetapi kontennya tetap tidak penting."
Mode string yang dimulai, dan IP membungkus di sekitar baris pertama mendorong setiap kode karakter yang dilihatnya ke stack (ini tidak penting). IP membungkus dan mengenai"
lagi, yang keluar dari mode string.404
mendorong angka404
ke tumpukan, dan kemudiannnn
mengeluarkan masing-masing (secara teknis, ini terjadi dalam urutan terbalik, tetapi karena 404 adalah palindrom, ini tidak masalah).;
mengakhiri program.sumber
6 Bahasa Brain-Hack, Brain-Flak, Brain-Brengsek, Foo, Javascript, Alphuck
Akan datang lebih banyak lagi!
Brain-Hack
Mencetak 404 di Brain-Hack
Brain-Hack, Brain-Flak
Brain-Hack, Brain-Flak, Brain-Brengsek
Gunakan komentar di Brain-Flak untuk mencetaknya
Brain-Hack, Brain-Flak, Brain-Brengsek, Foo
Brain-Hack, Brain-Flak, Brain-Brengsek, Foo, Javascript
Brain-Hack, Brain-Flak, Brain-Brengsek, Foo, Javascript, Alphuck
sumber
4
...5 bahasa (87 byte)
Pyon
Cobalah online!
Python 2
Cobalah online!
Brain-Flak (BrainHack)
Cobalah online!
brainfuck
Diambil dari jawaban Jo King karena saya tidak dapat menemukan kode brainfuck yang memiliki tanda kurung seimbang (pembatasan Brain-flak).
Cobalah online!
05AB1E
Perhatikan bahwa ini juga berfungsi dengan Ohm.
Cobalah online!
Terima kasih kepada Jo King untuk -6 byte.
sumber
x%x
dan[-]
tidak perlu2 Bahasa, 24 byte, Python dan Batch
Program 1: Python 3
Program 2: Python 3 dan Batch
Setelah komentar hash sisa kode dalam python, dan | adalah pernyataan dalam bash untuk melakukan ini jika perintah lain gagal.
sumber
2 Bahasa, 53 byte: C dan Python
Mari kita mulai dengan sesuatu yang sederhana.
Program 1: C
Program 2: C dan Python
TIO tautan:
Ini hanya sebuah contoh, dan mungkin akan dikalahkan berulang kali.
sumber
4 bahasa, 91 byte
C ++
C ++, C
Menghapus makro C ++
C ++, C, Befunge
Menambahkan makro yang akan diabaikan dalam C ++, tetapi dibaca sebagai kode di Befunge.
C ++, C, Befunge, Python
Iklan sepotong kode yang menyebabkan baris berikutnya menjadi komentar dalam C, tetapi tidak dalam Python (
//<backslash>
)sumber