Deadfish adalah bahasa pemrograman lelucon. Menurut wiki bahasa pemrograman esoteris, bahasa pemrograman lelucon adalah salah satunya
tidak menarik kecuali potensi nilai humornya. Secara umum, ini sama sekali tidak dapat digunakan untuk pemrograman bahkan secara teori
Salah satu bahasa lelucon tersebut adalah Deadfish, yang mendapatkan namanya
Deadfish awalnya disebut fishheads karena pemrograman dalam bahasa ini seperti memakan kepala ikan mentah. Namun, karena keterbatasan fitur bahasanya, pemrograman dalam bahasa ini menjadi seperti makan (dan harus mencium) kepala ikan yang mati dan membusuk, sebuah pengalaman yang umumnya tidak dianggap menyenangkan.
Namun demikian, halaman wiki untuk Deadfish berisi implementasi dalam 65 bahasa berbeda termasuk C, C#, C++, Chicken, Clever, COBOL, dan Commodore 64 BASIC dan hanya nama C saja.
Deadfish telah diperluas ke Deadfish~, yang merupakan super-set dari bahasa Deadfish asli. Mungkin karena alasan yang bagus, Deadfish~ tetap tidak diterapkan... hingga hari ini.
Program Deadfish memiliki variabel akumulator bilangan bulat tunggal, yang diinisialisasi ke nol. Bahasa pemrograman hanya mendefinisikan empat operasi
cmd | keterangan |
---|---|
Saya | Ini meningkatkan akumulator |
D | Ini mengurangi akumulator |
S | Mengkuadratkan nilai dalam akumulator |
Hai | Mengeluarkan akumulator |
Jika akumulator menjadi -1 atau 256, maka direset ke nol.
Deadfish~ adalah super-set dari bahasa pemrograman Deadfish. Program memiliki variabel akumulator bilangan bulat tunggal yang sama seperti Deadfish, yang diinisialisasi ke nol, dan memiliki perilaku yang sama di sekitar nilai -1 dan 256. Bahasanya ditentukan melalui halaman di esolangs.org, yang berisi tabel perintah yang didukung berikut ini
cmd | keterangan |
---|---|
Saya | Ini meningkatkan akumulator |
D | Ini mengurangi akumulator |
C | Menjadikan akumulator menjadi karakter |
Hai | Mengeluarkan akumulator |
S | Mengkuadratkan nilai dalam akumulator |
{} | Instruksi di dalam kurung kurawal dilingkarkan dari nol hingga sepuluh kali dengan kelipatan satu |
() | Jika akumulatornya bukan nol maka jalankan pernyataan di dalamnya satu kali |
H | Berhenti |
w | Halo Dunia! salam ditampilkan |
Beberapa dari perintah ini agak ambigu, jadi saya memutuskan itu untuk implementasi ini
c
, mengeluarkan akumulator sebagai karakter ascii, sehingga nilai dalam akumulator tidak berubah{}
, pernyataan di dalam kurung kurawal diulang sepuluh kali.Kode tidak melakukan pemeriksaan kesalahan, dan perintah yang tidak valid atau kurung kurawal yang salah dilewati secara diam-diam, seperti yang diinginkan oleh penulis asli Deadfish.
#Penggunaan
Kode sumber seluruhnya terdapat di deadfish.py
. Evaluasi string Deadfish dengan metode deadfish.deadfish
.
>> > import deadfish
>> > deadfish . deadfish ( "iisiiiis{ic}{ic}icicicicicic" )
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Ada juga CLI untuk Deadfish~, yang dapat diakses dengan deadfish.deadfish_cli()
>>> deadfish.deadfish_cli()
>>iiio
3
>>h
Dari deadfish_cli()
:
>>iisiiiisiiiiiiiiciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiciii{c}dddddddddcdddddddciiiiiiiiiicdddddddc
Horrrrrrrrrrible
>>o
101
>>w
Hello, World!
Contoh ini menunjukkan kueri standar dari bagian atas halaman wiki Deadfish, menunjukkan bahwa aritmatika berfungsi seperti yang 'diharapkan' di Deadfish
>>iisssoiissiso
0289