Deadfish adalah lelucon "bahasa pemrograman" dengan empat perintah. Karena halaman Esolang agak kontradiktif dan penerjemah pada halaman itu tidak semuanya bekerja persis sama, Anda harus menerapkan variasi berikut:
Spesifikasi
- Ada akumulator yang setidaknya 16 bit dalam ukuran, lebih banyak diperbolehkan tetapi lebih sedikit tidak. Angka negatif tidak perlu didukung. Akumulator adalah
0
ketika program dimulai. - Ada dua set empat perintah berikut, dan program Anda harus mendukung keduanya pada saat yang sama.
Deadfish Standar │ Varian XKCD │ Artinya ────────────────────aha ────────────────────────── i │ x │ Akumulator kenaikan d │ d │ Akumulator penurunan s │ k │ Kotak (acc = acc * acc) o │ c │ Output akumulator, sebagai angka
- Jika, setelah menjalankan perintah, akumulator adalah salah satu
-1
atau256
, akumulator harus diatur ulang ke nol. Perhatikan bahwa ini bukan bungkus biasa. Jika, katakanlah, akumulator adalah20
, dans
perintah dijalankan, akumulator harus400
sesudahnya. Demikian pula, jika akumulator257
dand
perintah dijalankan, akumulator harus menjadi0
. - Masukan apa pun yang bukan salah satu dari perintah ini harus diabaikan.
Program uji
xiskso
harus keluar0
xiskisc
harus keluar289
I / O
Program Anda harus menampilkan prompt: >>
. Prompt harus di awal baris baru. Kemudian harus membaca baris input pengguna, dan menjalankan perintah yang diberikan dari kiri ke kanan. Saat mengeluarkan angka, angka harus dipisahkan. Yaitu, 12 34
tidak apa-apa, 12,34
tidak apa-apa,
12
34
tidak apa-apa, tetapi 1234
tidak.
Program Anda harus terus melakukan ini dalam satu lingkaran, setidaknya sampai EOF
tercapai.
Sesi contoh:
>> xiskso
0
>> xiskisc
289
>> ddddo ddddo
285
281
>> ddddo ddddo
277
273
>> dddddddo
266
>> dddddddddo
257
>> do
0
>> do
0
>> io
1
>>
#{STDIN.gets}
akan bekerja tetapi memang tidak.