Tantangan
Anda diberi fungsi compile(s: String): Integer
yang mengembalikan 0
jika s
bisa dikompilasi dan apa pun selain 0
jika gagal (kode yang dihasilkan tidak penting).
Masalahnya adalah Anda tidak tahu untuk bahasa apa fungsi itu dibuat, jadi terserah kepada Anda untuk mencari tahu dengan memberikan potongan kecil kode fungsi dan mengamati apa yang dikembalikan. Bagian yang baik adalah bahwa tim ilmuwan telah mencoba sebelumnya dan mempersempit daftarnya menjadi C, C ++, C #, Java dan JavaScript (ini adalah satu-satunya bahasa luas yang memiliki sintaksis yang sama yang dapat saya pikirkan).
Aturan
- Aturan golf-kode umum berlaku.
- Tidak ada format output yang ketat; selama itu bisa dibaca dan dimengerti tidak apa-apa.
- Jika 5 bahasa ini tidak cukup untuk Anda maka Anda dapat menambahkan favorit Anda sendiri dan Anda akan dihargai dengan bintang tambahan (★) (yang tidak melakukan apa-apa).
Catatan 1 : kompiler up to date dengan standar terbaru dari bahasa apa pun yang dirancang untuknya.
Catatan 2 : Saya tahu JavaScript tidak dapat dikompilasi , tetapi berjalan melalui beberapa proses parsing; jika itu kode JavaScript yang valid maka ia lolos
Jawaban:
Total panjang cuplikan 8; program uji 83 (C)
Bedakan JavaScript dan C dari C ++, Java, dan C #
Bedakan JavaScript dari C
Bedakan C ++ dari C # dan Java
Bedakan C # dan Jawa
Kode C untuk menentukan bahasa
Cuplikan diuji dengan
C: gcc 4.7.2 dengan -std = c99
C ++: g ++ 4.7.2 dengan -std = c ++ 11
Java: javac 1.7.0_09
JavaScript: JavaScript-C 1.8.5
C #: Mono C # compiler versi 2.10.8.0
sumber
#define C(x)compile(#x)?
menghemat tempat dan banyak kutipan.C(#x)
tidak akan berhasil.