HeadlinesBriefing favicon HeadlinesBriefing.com

Tantangan code golf interpreter Python 1024 byte

Hacker News •
×

Austin Z. Henley, seorang pengembang yang menulis kode secara manual di akhir pekan, mengumumkan tantangan code golf untuk membangun interpreter Python hanya dalam 1024 byte kode C. Proyek ini secara eksplisit menghindari makro dan pustaka eksternal.

Henley memulai dengan mengimplementasikan program FizzBuzz yang meniru sintaks Python menggunakan titik dua dan indentasi tanpa tanda kurung. Dia mencatat bahwa memasukkan seluruh bahasa Python ke dalam jejak yang begitu kecil tidak mungkin, jadi dia fokus pada subset sintaks yang terlihat 'Pythony'. Upaya awalnya tidak berhasil; kalkulator sederhana dengan cepat melebihi batas 512 byte.

Dia kemudian mengubah strategi, mencantumkan elemen yang terlihat seperti Python sambil mengakui bahwa keterampilan code golf-nya tidak memadai untuk target 512 byte. Dia memutuskan untuk membuatnya berfungsi terlebih dahulu, lalu membuatnya kecil. Interpreter menggunakan status minimal yang disimpan dalam variabel global, array panjang tetap untuk kode mentah, dan tabel simbol untuk variabel.

Ia mengurai ekspresi secara rekursif dan menangani alur kendali menggunakan tumpukan panggilan C. Loop bekerja dengan melompat mundur dan mengurai ulang kode sumber setiap iterasi. Proyek ini mewakili latihan unik dalam batasan implementasi bahasa.