Ada banyak tantangan yang mengatakan "menafsirkan X", di mana X adalah bahasa yang sederhana. Menurut saya, itu terlalu membosankan. Untuk memberikan semua orang yang suka menunda-nunda di internet sesuatu yang menarik untuk dilakukan, Anda dapat mencoba melakukan tantangan ini:
Tantangan
Pilih bahasa $LANG
. $LANG
bisa berupa turing bahasa pemrograman lengkap atau subset lengkap turing bahasa pemrograman. Berhati-hatilah bahwa jika Anda menghilangkan fitur bahasa Anda $LANG
untuk ditafsirkan, Anda juga tidak boleh menggunakannya untuk program Anda sendiri, karena kiriman Anda juga harus ditulis $LANG
.
Tulis kompiler / juru bahasa untuk $LANG
ditulis $LANG
. Anda dapat menggunakan semua fasilitas (termasuk eval
dan teman) bahasa Anda yang tersedia untuk menulis kompiler ini. Untuk membuat tugas lebih menantang, ada satu batasan: Program Anda harus bisa menginterpretasikan / mengkompilasi semua program yang valid $LANG
kecuali juru bahasa / kompiler Anda sendiri. Jika program yang akan ditafsirkan / dikompilasi adalah juru bahasa Anda atau kompiler itu sendiri (terlepas dari nama file), program Anda harus melakukan sesuatu yang sama sekali tidak terkait dengan fungsi juru bahasa atau kompiler (seperti barfing atau pencetakan Hello, world!
).
Untuk membuat tugas ini semakin rumit, program Anda tidak boleh membaca sumbernya sendiri saat kompilasi atau interpretasi.
Spesifikasi
- Tugas ini adalah kode golf. Kiriman dengan karakter paling sedikit menang benar. Dalam kasus seri, solusi yang diajukan pertama kali menang.
- Program / skrip Anda harus membaca program yang akan ditafsirkan dari suatu file. Anda dapat membuat hardcode path dan namanya. Ketika file dibaca, Anda dapat mengkompilasi file ke file lain (Itu harus dapat dieksekusi pada sistem Anda) atau menjalankannya secara langsung. Jika
$LANG
tidak memiliki kemampuan membaca file, Anda dapat memilih cara lain untuk membaca kode yang sesuai$LANG
. Anda tidak dapat memilih$LANG
sebagai bagian dari bahasa lain tetapi dengan kapabilitas membaca file dihapus. - Aturan golf-aturan biasa berlaku. Yaitu: bahasa hewan peliharaan pribadi Anda yang Anda buat hanya untuk memecahkan tantangan ini dilarang, jika solusinya menjadi sepele menggunakannya (Seperti mendefinisikan program char tunggal yang persis mengimplementasikan solusi). Penyalahgunaan aturan dianjurkan.