Tugas Anda adalah membangun penerjemah ke bahasa yang tidak berguna :
Berikut adalah persyaratan fungsional:
- Semua perintah yang dijelaskan harus diterima oleh penerjemah.
NO.
,NOOP
danINCLUDE-xxx
harus dihormati.DONTUSEME(n)
harus memiliki tanggal dasar agar mudah dikonfigurasikan ke sesuatu yang lebih masuk akal untuk tujuan pengujian.INCLUDE-xxx
harus dapat menghasilkan perintah apa pun dengan probabilitas yang kira-kira sama. Jika menghasilkan aDONTUSEME(n)
, ia harus secara acak memilih nilai kecil untuk n.DONTUSEME(n)
windows harus selamat dariNO.
instruksi. Kiat: menelurkan proses baru untuk windows itu.BOOM!
danKABOOM!
harus melakukan sesuatu yang buruk dan menakutkan, danKABOOM!
harus lebih buruk dari ituBOOM!
. Tetapi ini tidak boleh dianggap terlalu serius, jadi itu seharusnya tidak menjadi sesuatu yang merusak, terlalu mengganggu atau sulit untuk dibatalkan. Tolong, jangan, jangan , dan jangan membuat instruksi ini menjalankanrm -rf \
perintah, menjalankan bom fork, menginstal malware, data yang rusak dalam sistem file, atau memposting atau mengunduh konten yang tidak pantas dari internet, atau hal lain yang jelas-jelas kasar.TURINGVSALONZO
harus dijalankan seolah-olah sebenarnya melakukan apa yang seharusnya dilakukan. Tip: Buat secara acak putuskan apakah akan tidur untuk waktu yang sangat lama secara acak, atau waktu singkat secara acak, atau selamanya.- Semua instruksi yang telah ditentukan sebelumnya harus melakukan sesuatu selain dari instruksi yang disebutkan di atas dan berbeda satu sama lain, tetapi tidak pernah sesuatu yang lebih buruk dari
BOOM!
atauKABOOM!
. Apa yang mereka lakukan sebenarnya terserah Anda, tetapi implementasi sederhana hanya akan menghasilkan pesan kesalahan atau teks lainnya. - Anda harus memberikan cara mudah bagi pengguna untuk menyediakan program yang akan dijalankan oleh penerjemah. yaitu Membaca plaintext dari file atau dari
stdin
is ok. Membacanya dari file terenkripsi di suatu tempat di internet tidak.
Pilihan:
- Anda mungkin menciptakan beberapa perintah baru jika Anda mau, tetapi mereka harus tunduk pada aturan yang sama seperti yang lain. Jangan gunakan ini untuk menghindari batasan di
BOOM!
danKABOOM!
atau untuk mengalahkanDONTUSEME(n)
. Dan jika Anda menemukan perintah baru, jelaskan apa yang mereka lakukan. - Anda harus memikirkan apa yang dilakukan penerjemah jika menerima input dengan perintah yang tidak diketahui (atau bahkan omong kosong byte yang benar-benar tidak dapat dipecahkan).
- Meskipun tidak ada instruksi yang dapat mengalahkan
DONTUSEME(n)
perintah, Anda mungkin menambahkan saklar mematikan untuk itu. Hanya saja, jangan mengekspos itu dalam bahasa.
Kami memiliki beberapa persyaratan non-fungsional untuk menghindari penyalahgunaan:
- Entri Anda harus lengkap dan diotomatiskan sebanyak mungkin. Ini berarti bahwa itu tidak boleh hanya semacam installer atau program yang jelas tidak lengkap. Dengan cara ini, mengunduh dan menggunakan pustaka seperti jQuery atau paket dari maven central tidak masalah, tetapi mengunduh kode dan paket sewenang-wenang dari server kustom Anda tidak.
- Entri Anda tidak boleh mendapatkan konten apa pun dari halaman ini atau dari beberapa mirror atau salinan halaman ini untuk melakukan semacam refleksi atau untuk tujuan lain apa pun. Ini penting untuk menghindari beberapa program yang mencoba membaca jawaban peserta lain untuk pertanyaan ini atau mencoba mengacaukan pertanyaan atau jawaban dengan cara apa pun.
- Penerjemah Anda harus tidak berubah dan tidak memodifikasi sendiri atau memodifikasi file inputnya. Tapi, membuat salinan mutan penerjemah atau file input tanpa mengubah aslinya tidak masalah.
Dan akhirnya, mengingat itu:
- Program-program dalam jawaban diharapkan sangat tidak berguna bahkan jika sepenuhnya sesuai;
- Bahasa ini (sengaja) sangat tidak ditentukan, dan penjawabnya memiliki banyak kebebasan untuk diambil dan didorong untuk mengambilnya;
- Persyaratan dan kemungkinan implementasi memiliki banyak titik subjektif;
- Tujuannya adalah untuk mendapatkan kesenangan dan kreativitas.
Kemudian, ini adalah kontes popularitas , dan jawaban yang paling banyak dipilih sepenuhnya sesuai dengan aturan menang! Jadi, Anda tidak perlu golf atau mengaburkan jawaban Anda (tetapi Anda mungkin melakukannya jika Anda mau). Pastikan untuk memposting sesuatu yang orisinal dan kreatif untuk mendapatkan upvotes, yaitu tolong jangan posting entri membosankan.
popularity-contest
interpreter
Victor Stafusa
sumber
sumber
Jawaban:
TI-DASAR
Ada tombol bunuh untuk
DONTUSEME
, bisakah Anda mencari tahu yang mana itu? :)sumber
:Goto 1
berartiBOOM!
hanya larangan?INCLUDE-
.HTML + Javascript + jQuery + jQuery UI
Input harus diberikan di area teks dan harus diformat sebagai setiap perintah dalam satu baris. Perintah tidak peka huruf besar kecil. Semua perintah diimplementasikan sepenuhnya. Saya harap Anda menikmati.
Anda dapat mencobanya di http://jsfiddle.net/bCBfk/
Ini memiliki satu perintah baru:
Spoiler lainnya:
sumber