Bahasa Pemrograman Shakespeare diciptakan pada tahun 2001 oleh dua siswa Swedia, Karl Hasselström dan Jon Åslund, dan menggabungkan, seperti yang dinyatakan oleh penulis ,
ekspresi BASIC dengan keramahan pengguna bahasa rakitan.
Jawaban dari atas ke bawah. Juga, sangat umum melihat saya merujuk ke cuplikan yang lebih lama atau sebelumnya.
( tautan untuk saya sendiri: edit )
Faktoid:
Kode Shakespeare menyerupai, seperti yang diharapkan, drama Shakespeare, di mana variabelnya adalah karakter dalam permainan dan nilainya berubah ketika mereka "dihina" atau dipuji ".
Potongan 1 panjang:
I
Kode Shakespeare dibagi dalam Kisah Para Rasul, dan tindakan itu sendiri dibagi dalam Adegan, untuk kausalitas "lompat-ke". Mendefinisikan suatu Undang-Undang sebagai Act I
sarana bahwa itu akan menjadi bagian pertama dari kode yang akan dijalankan, per contoh - tetapi tidak hanya.
Potongan 2 panjang:
as
Digunakan dalam perbandingan antara dua "karakter".
Potongan 3 panjang:
day
Sekarang, Anda mungkin merasa bahwa SPL sangat bertele-tele. Dan aneh. Dan Anda belum melihat apa pun. day
, dalam SPL, adalah 1. Semua kata benda "positif" dan "netral" dianggap 1
, serta semua kata benda "negatif" -1
.
Potongan 4 panjang:
rich
Apa rich
? Kata sifat. Dalam SPL, kata sifat membuat nilai dari kata benda yang dilampirkannya dikalikan dua. Lihat implementasi pada cuplikan 14.
Potongan 5 panjang:
Act I
Implementasi cuplikan pertama. Semua tindakan dapat diberi gelar, seperti Act I: Hamlet must die!
, karena semuanya setelah angka Romawi diabaikan oleh pengurai.
Potongan 6 panjang:
better
Setiap bahasa memiliki kondisi, dan SPL tidak terkecuali. Kecuali, karena ini adalah bahasa dengan sintaks yang panjang (dan apakah saya menyebutkannya aneh?), Pernyataan kondisionalnya akan panjang. Memiliki Ophelia bertanya pada Juliet Am I better than you?
seperti memiliki if (Ophelia > Juliet)
sebagian besar bahasa "normal". Dan, tentu saja, Anda bisa bertanya sebaliknya: Am I not better than you?
sama dengan if (Ophelia < Juliet)
. Dan Anda sudah bisa menebak bagaimana =
itu diterjemahkan ke SPL: as good as
- penggunaan potongan kode 2.
Namun, good/better
bukan satu-satunya cara untuk membuat perbandingan dalam bahasa shakesperian ini, Anda dapat menggunakan kata sifat apa pun. Prinsip snippet 3 yang sama berlaku di sini juga, dengan kata sifat "positif" memiliki nilai >
, sedangkan yang "negatif" berarti <
.
Potongan 7 panjang:
Juliet:
Ini adalah doa variabel; setelah ini, instruksinya / deklarasi / apa pun yang akan mengikuti.
Keterbatasan SPL adalah bahwa ia memiliki sejumlah variabel: Romeo, Juliet, Hamlet, Ophelia, MacBeth dan sebagainya adalah beberapa contoh "karakter" yang akan muncul pada program Shakesperian.
Potongan 8 panjang:
[Exeunt]
[Exeunt]
ditempatkan ketika semua "karakter" meninggalkan "panggung". Semoga saya bisa menguraikan sedikit lebih lanjut tentang interaksi antara karakter. Umumnya adalah instruksi terakhir dari setiap program SPL, meskipun [Exeunt]
tidak secara khusus merupakan "karakter" terminal dari bahasa tersebut. Untuk contoh lain, lihat cuplikan 27.
Potongan 9 panjang:
as bad as
Sembilan karakter hanya untuk mewakili belaka =
- menggunakan cuplikan 2. Sudahkah saya menyebutkan bahwa SPL itu aneh? Lihat cuplikan 30 untuk contoh. (dan ya, ada lebih dari satu cara untuk menampilkannya)
Panjang 10 cuplikan:
difference
Cara mewah untuk mewakili -
, pengurangan. Anda dapat melakukan operasi matematika di SPL, meskipun Anda mungkin perlu sehari penuh untuk memperbaikinya.
Factoid
(karena saya entah bagaimana berhasil mencapai sepuluh cuplikan kode, mari kita istirahat sejenak dan minta factoid lain tentang SPL)
Jika Anda ingin menjalankan kode shakesperian Anda dengan segala kejayaannya, ada situs ini - saya masih mengujinya, karena saya baru menemukannya lima menit yang lalu. Ada juga cara untuk menerjemahkannya ke C menggunakan penerjemah .
Situs lain untuk menjalankan kode SPL adalah ini yang berfungsi dengan menerjemahkan kode SPL secara internal ke bahasa esoterik lain: Oracle PL / SQL.
Potongan 11 panjang:
[Exit Romeo]
Iya! Akhirnya saya bisa berbicara tentang interaksi antar karakter! Agar nilainya berubah atau berinteraksi dengan orang lain, "karakter" harus berada di atas panggung [Enter Romeo]
. Jika karakter ditujukan tetapi tidak ada, ada kesalahan runtime dan program berhenti. Karena, dalam SPL, nilai variabel ditentukan oleh jumlah nama yang mereka puji - atau dihina - oleh karakter lain di atas panggung. Saya merasa bahwa saya harus memberi contoh untuk menghapus kebingungan yang mungkin dibuat penjelasan lumpuh saya, tetapi mungkin yang terbaik adalah menunda beberapa cuplikan.
Potongan 12 panjang:
Remember me.
SPL cukup "dasar", baik-baik saja - tetapi memiliki tumpukan! Ketika, misalnya, Romeo mengatakan pada Juliet untuk "mengingatnya", dia sebenarnya memberitahu orang yang dicintainya untuk mendorong nilai Romeo ke tumpukannya. Popping nilai dilakukan dengan Recall your happy childhood!
, atau Recall your love for me
, atau pada dasarnya kalimat apa pun yang dimulai dengan Recall
- sisanya hanya omong kosong artistik, seperti potongan 22.
Potongan 13 panjang
Let us return
Cara Shakesperia untuk memiliki goto
. Dan di sinilah Kisah Para Rasul dan Adegan berguna. Jika Romeo memberi tahu Juliet we shall return to Act II
(ya, lagi, ada beberapa cara untuk menuliskannya), program akan melompat ke bagian kode yang spesifik. Itu juga terlihat di samping pernyataan bersyarat.
Panjang 14 cuplikan
my little pony
Ya, itu adalah seri di tahun 80-an. Ini dia 2*1
. Mengapa? Karena a pony
adalah (agak) kata benda positif dan little
merupakan kata sifat. Jadi, mengingat cuplikan 3 dan 4, kita punya little = "2 *"
dan pony = "1"
.
Panjang 15 cuplikan
Speak thy mind!
Dalam program SPL, Anda akan melihat ini (atau Speak your mind!
, yang sama) banyak . Ini pada dasarnya menampilkan nilai setiap "karakter" dalam digit, huruf atau apa pun, tergantung pada rangkaian karakter yang digunakan oleh komputer Anda. Ada juga Open your mind.
yang melakukan hal yang hampir sama, meskipun hanya menghasilkan dalam bentuk angka.
Panjang cuplikan 16
You are nothing!
Ketika seseorang memberi tahu Anda hal ini dalam kehidupan nyata, Anda akan merasa tertekan. Ketika Ophelia menceritakan hal ini kepada Hamlet dalam pemrograman Shakespeare, Hamlet merasa tidak berharga. Apa artinya ini? Itu Hamlet = 0
.
Potongan 17 panjang
Ophelia, a wench.
Dalam skenario, sebelum pemutaran sebenarnya dimulai, karakter harus disajikan. Dalam sebagian besar bahasa pemrograman, variabel juga harus dideklarasikan sebelum digunakan. Melihat bahwa SPL adalah bahasa pemrograman yang menyerupai skenario, ini adalah bagaimana Anda mendeklarasikan variabel-variabelnya, dengan menyatakan yang mana yang muncul selama program.
Tapi apa artinya "seorang dara"? Apakah ini berarti nama jenis data tertentu (dan keren)? Yah ... Aku benci mengecewakanmu, tapi itu tidak berarti apa-apa: semuanya setelah koma diabaikan oleh pengurai, artinya kamu bisa menempatkan di sana omong kosong paling keterlaluan yang bisa kamu pikirkan.
Panjangnya 18 cuplikan
lying sorry coward
-4
untuk semua makhluk duniawi. Mengapa? Karena 2*2*(-1) = -4
.
Potongan 19 panjang
Romeo:
Remember me.
Akhirnya!!! Saya akhirnya dapat menghasilkan instruksi sintaks yang benar sepenuhnya (walaupun pendek)! Ini adalah bagaimana Anda menggunakan snippet 12: pertama Anda menyatakan siapa yang berbicara, kemudian pada baris berikutnya Anda menulis "dialog". Biasanya, hanya dua "karakter" di atas panggung, untuk menghindari membuat parser sedih dan bingung. Ketika Anda membutuhkan "karakter" lain, Anda mengambil satu dari panggung dan menggantikannya dengan yang baru.
Panjangnya 20 cuplikan
cube of thy codpiece
Saya ingin menguraikan sedikit lebih banyak untuk yang satu ini, tetapi, sejujurnya, hal-hal yang saya buat masih terlalu pendek untuk potongan ini. Dan, jadi, saya membawa Anda ini, yang akhirnya menjadi -1
- karena (-1) 3 = -1 (dan codpiece
merupakan kata benda "negatif", karena mereka tidak nyaman dan semuanya). SPL memahami beberapa operasi aritmatika yang lebih rumit karena beberapa eksponensial dan akar kuadrat.
Factoid (satu lagi, karena kita telah mencapai tonggak sejarah lain)
"Hello World Program" di Shakesperian memiliki 89 baris dan lebih dari 2400 karakter, seperti yang terlihat di sini .
Potongan 21 panjang
Listen to your heart.
Dalam cuplikan 15 Anda menghasilkan sesuatu; di sini, Anda memasukkan nomor ke program. Jika Anda ingin memasukkan karakter, Anda akan menggunakannya Open your mind.
. Dan, tentu saja, nilai ini akan disimpan dalam "karakter" yang diajak bicara.
Panjangnya 22 cuplikan
Recall your childhood!
Popping integer dari stack dilakukan dengan ini, seperti yang dijelaskan pada snippet 12. Ketika, misalnya, Ophelia memberi tahu Hamlet kalimat yang disebutkan di atas, itu menyebabkan Hamlet mengambil integer dari stack dan mengasumsikan nilainya.
Tentu saja, selama kata recall
tersebut memulai kalimat, Anda dapat mengisi sisanya dengan apa saja yang diinginkan oleh pikiran kreatif penggembala Anda.
Potongan 23 panjang
Are you better than me?
Implementasi snippet 6. Ketika "karakter" membuat pertanyaan seperti ini kepada orang lain, apa yang dia lakukan setara dengan if (x > y)
bahasa pemrograman yang lebih umum. Tindak lanjut dari instruksi ini harus ditunda hingga saya memiliki lebih banyak karakter.
Panjangnya 24 cuplikan
[Enter Romeo and Juliet]
Ya, "karakter" dapat masuk berpasangan. Tidak perlu memiliki satu "karakter" memasuki panggung, diikuti oleh yang lain.
Panjangnya 25 potongan
remainder of the quotient
25 karakter hanya untuk menulis a %
. 25 karakter untuk memiliki sisa divisi. Dan untuk menggunakannya? Yah, itu bahkan lebih besar - lihat cuplikan 75.
Potongan 26 panjang
Let us return to scene II.
Ini dia, goto
dalam SPL, yang berfungsi seperti yang diharapkan dalam bahasa pemrograman. Suatu hal adalah: Anda dapat melompat di antara adegan dalam aksi yang sama, dan di antara tindakan; tetapi Anda tidak dapat melompat di antara adegan dalam berbagai tindakan.
Potongan 27 panjang
[Exeunt Ophelia and Hamlet]
Ketika lebih dari satu "karakter" meninggalkan panggung, alih-alih Exit
, dan mempertahankan tradisi dengan sifat teatrikal SPL, kata latin "Exeunt" digunakan. Terkadang itu bisa diganti hanya dengan potongan 8.
Potongan 28 panjang
Scene I: Ophelia's flattery.
Mendeklarasikan Adegan. Seperti yang sudah bisa Anda harapkan jika Anda telah mengatasi saya, yang penting adalah Scene I
, sisanya adalah bulu artistik.
Ada beberapa kompiler yang dibuat (seperti ini yang mengkompilasi dari SPL ke C, ditulis dengan Python ) yang sebagai gantinya merujuk ke teks setelah penomoran Act / Scene. Meskipun lebih logis (setelah semua, selama bermain, memiliki karakter yang mengatakan baris seperti "mari kita kembali ke Act I" mungkin dianggap konyol), saya tetap berpegang pada cara asli.
Potongan 29 panjang
You pretty little warm thing!
Ya, konstanta lain (karena kita membutuhkan lebih banyak karakter untuk memiliki operasi aritmatika) Yang ini sama dengan 8
, karena 2*2*2*1 = 8
.
Panjangnya 30 cuplikan
You are as cowardly as Hamlet!
Mengatakan ini, misalnya, Romeo, berarti itu Romeo = Hamlet
. Seperti cuplikan 9.
Factoid (ya, tengara lain tercapai!)
Bahasa ini dibuat untuk tugas dalam kursus Analisis Sintaks - dengan demikian, tidak ada kompiler SPL yang dibuat oleh penulis. Lebih lanjut: tampaknya penulis SPL telah memutuskan hubungan mereka dengan kreasi mereka, karena tidak ada yang tampaknya telah dimodifikasi dalam bahasa tersebut sejak tahun 2001 ...
Potongan 31 panjang
Am I as horrid as a flirt-gill?
Ya, saya tahu, ini potongan berulang 23, meskipun, di sini, kami membandingkan "karakter" yang berbicara dengan "genit-insang" (dari, jika Anda suka, if (Ophelia == -1)
). Permasalahannya adalah...
Panjangnya 32 cuplikan
If so, let us return to scene I.
... sekarang saya bisa memperkenalkan then
SPL, dan lompatan bersyarat, dan cara Shakesperian menerapkan loop. Misalnya, Anda dapat membuat Romeo mengambil alih nilainya 0
, menambah nilainya saat melakukan beberapa tugas lain dan berhenti ketika mencapai 10, melanjutkan dengan program sesudahnya.
Panjangnya 33 potongan
If not, let us return to scene I.
Sebagai pengingat, alih-alih, kami dapat melanjutkan ke adegan lain jika kondisi yang kami uji salah .
Potongan 34 panjang
Open your mind! Remember yourself.
Dua instruksi berturut-turut, yippie! Yang pertama membaca karakter, yang kedua mendorongnya ke tumpukan memori karakter lain.
Panjangnya 35 cuplikan
Act I: Death!
Scene I: Oh, shit.
Cara yang tepat untuk mendeklarasikan Act and a Scene. Tambahkan bubur artistik dengan selera tinggi.
Potongan 36 panjang
Thou art as sweet as a summer's day!
Cara lain untuk mengatakan bahwa "karakter" yang diajak bicara akan menerima nilai 1
- karena hari-hari musim panas menyenangkan dan menyenangkan.
Potongan 37 panjang
Art thou more cunning than the Ghost?
Ophelia mengajukan pertanyaan ini ke Hamlet berarti, menerjemahkannya ke bahasa pemrograman yang kurang mudah dibaca if (Hamlet > the Ghost)
,. Itu potongan 23 lagi, ya - tapi itu menunjukkan kepada Anda bahwa tidak perlu bertanya "karakter" jika mereka lebih baik daripada satu sama lain: pertanyaan lain akan bekerja juga.
Potongan 38 panjang
[Enter the Ghost, Romeo and the Ghost]
Ya, saya memanggil "karakter" dua kali - karena saya ingin ada program yang memberi saya kesalahan. Memanggil "karakter" yang sudah ada di atas panggung, atau mengatakan yang tidak ada untuk keluar, akan menyebabkan kesedihan besar bagi parser / kompiler.
Panjangnya 39 cuplikan
the sum of a fat lazy pig and yourself!
Instruksi lengkapnya terlihat lebih baik dari ini, saya akan berikan itu, tapi ... inilah operasi aritmatika pertama kami! Apa artinya semua itu sebenarnya? Ya, pig
itu binatang yang kotor (meski enak), jadi setara dengan -1
, memiliki dua kata sifat, artinya fat lazy pig
sama 2*2*(-1) = -4
. Tapi bagaimana dengan itu yourself
? Ini adalah kata ganti refleksif, bukan nama atau kata sifat. Nah, ingatlah bahwa SPL didasarkan pada dialog antara "karakter"; dengan demikian, yourself
mengacu pada "karakter" lain di atas panggung. Jadi, kita tiba di akhir dan kita menemukan bahwa "jumlah babi malas yang gemuk dan dirimu sendiri" sebenarnya adalah -4 + x
.
Panjangnya 40 cuplikan
the sum of a squirrel and a white horse.
Ya, jumlah lain, tetapi yang ini lebih sederhana daripada cuplikan 39. Ini hanya 1 + 2
- 3
, jika matematika saya benar.
Factoid (masih bersamaku setelah empat puluh potongan bulu artistik ini? Kau pantas mendapatkan hadiah.)
SPL, dalam versinya 1.2.1, dapat diunduh di sini .
Potongan 41 panjang
Juliet:
Speak thy mind!
[Exit Romeo]
Kadang-kadang, "karakter" hanya dipanggil di atas panggung untuk mengubah nilainya - yang, pada permainan nyata, akan menjadi sesuatu yang sangat aneh. Bagaimanapun, di sini, Juliet membuat Romeo yang dicintainya mencetak nilainya yang tersimpan, setelah itu ia keluar dari panggung.
Panjang 42 potongan
Speak YOUR mind! You are as bad as Hamlet!
Sekali lagi dua instruksi dalam satu baris (kita dapat memiliki banyak, tetapi panjang potongan belum mengizinkannya); di sini kita memiliki "karakter" yang memberi tahu orang lain untuk menampilkan nilainya dan menganggap nilai yang dimiliki Hamlet. Membingungkan? Mayhap.
Panjangnya 43 cuplikan
Am I as horrid as a half-witted flirt-gill?
Juliet bertanya ini tidak berarti dia memiliki harga rendah (meskipun mungkin dalam kehidupan nyata); itu hanyalah yang lain if
, seperti cuplikan 23 dan 37. Oh, saya hampir lupa: ini artinya if (Juliet == -2)
.
Panjangnya 44 cuplikan
You are as evil as the square root of Romeo!
Ya, akar kuadrat itu jahat, tidak tahukah kamu? Bagaimanapun, instruksi ini cukup mudah untuk memahami apa yang dilakukannya: atribut "karakter" diucapkan dengan nilai akar kuadrat dari nilai yang disimpan di Romeo.
Panjangnya 45 cuplikan
Hamlet:
Art thou more cunning than the Ghost?
Cuplikan 37 ditulis dengan benar dengan karakter yang berbicara garis.
Potongan 46 panjang
the product of a rural town and my rich purse.
Oke ... pokoknya, SPL mungkin satu-satunya bahasa di dunia yang memungkinkan Anda untuk melipatgandakan kota dengan dompet. Ini berarti (2*1)*(2*1)
, jika saya tidak salah, sama dengan 4
.
Potongan 47 panjang
Romeo:
Speak your mind.
Juliet:
Speak YOUR mind!
Saya akan memberi Anda: itu mungkin salah satu dialog paling aneh dalam sejarah. Tapi itulah yang Anda dapatkan saat memilih bahasa aneh untuk ditampilkan. Romeo dan Juliet saling memberi tahu, singkatnya, untuk menampilkan nilai-nilai mereka.
Panjangnya 48 cuplikan
You lying fatherless useless half-witted coward!
Menerjemahkannya secara langsung 2*2*2*2*(-1)
,. -16
, Baik?
Potongan 49 panjang
Scene V: Closure.
Hamlet:
Speak your mind!
[Exeunt]
Contoh cara mengakhiri program di SPL. Anda dapat mendeklarasikan adegan khusus untuk itu (meskipun tidak diperlukan), lalu Hamlet meminta "karakter" lain untuk menampilkan nilai mereka, lalu mereka semua keluar dari panggung. Dan ya, mereka harus turun dari panggung.
Panjangnya 50 potongan
Othello, a young squire.
Lady Macbeth, an old fart.
Lebih banyak presentasi "karakter", sebelum instruksi yang tepat. Seperti biasa, satu-satunya hal yang penting bagi kompiler adalah Othello
dan Lady Macbeth
, sehingga bagian selanjutnya siap untuk diperebutkan ...
Satu hal lagi: "karakter" tidak harus terkait satu sama lain untuk tampil dalam program SPL - sehingga Anda dapat memiliki Romeo, Othello dan Hamlet di drama yang sama.
Factoid (setengah abad dari semua ini? Fiuh! Setelah ini saya pikir saya akan membenci William Shakespeare ...)
Penerjemah SPL ke C, yang disebutkan beberapa waktu lalu dan dikembangkan oleh para pencipta SPL, didasarkan pada Flex dan Bison .
Potongan 51 panjang
Othello:
Recall your great dreams. Speak your mind!
(Sangat muak dengan Romeo, Juliet dan Hamlet ... mari kita bawa Othello, untuk perubahan!)
Recall
, seperti yang bisa Anda tebak, adalah kuncinya di sini. "Karakter" yang ditangani Othello akan mengambil nilai dari tumpukannya, menganggap nilai itu dan, setelah itu, akan menampilkannya.
Potongan 52 panjang
Thou art as pretty as the sum of thyself and my dog!
Jumlah lain. Menguap. Dengan asumsi yang satu ini ditujukan kepada Hamlet, berarti itu Hamlet = Hamlet + 1
. Atau Hamlet += 1
. Atau Hamlet++
.
Potongan 53 panjang
Romeo:
You are as vile as the sum of me and yourself!
Ah, ya, sesuatu yang saya lupa sebutkan sebelumnya: "karakter" yang berbicara dapat menyebut diri mereka sendiri.
Panjangnya 54 cuplikan
Juliet:
Is the sum of Romeo and me as good as nothing?
Contoh lain dari cuplikan sebelumnya, termasuk dalam suatu kondisi. Jadi yang kita miliki di sini adalah if (Romeo + Juliet == 0)
.
Panjang cuplikan 55
Juliet:
You are as lovely as the sweetest reddest rose.
Jadi, di sini, Juliet memuji "karakter" yang dia ajak bicara (mari kita asumsikan itu Romeo, demi Shakespeare), menyatakan bahwa dia adalah 4. Ya, tugas lain dari nilai-nilai.
Potongan 56 panjang
Othello:
You lying fatherless useless half-witted coward!
Cuplikan 48 dilakukan dengan benar, dengan "karakter". Jika Anda terlalu malas untuk menggulir ke atas (seperti saya), ini berarti orang yang dihina menerima nilai -16.
Potongan 57 panjang
Romeo:
If not, let us return to Act I. Recall thy riches!
Saya sudah menjelaskan bagaimana kondisi bekerja pada SPL secara umum; Namun, analisis yang lebih inline diperlukan. Kami tidak ada else
di sini: misalnya, dalam contoh ini, jika kondisinya gagal, program akan kembali ke Undang-Undang I; tetapi jika itu benar, itu akan melanjutkan ke instruksi berikutnya, yaitu Recall
- pop dari stack, yaitu.
Panjang 58 potongan
Romeo:
You are as disgusting as the square root of Juliet!
Meraih potongan 44 dan mempresentasikan bagaimana instruksi harus disajikan. Jika ini adalah dialog antara Romeo dan Othello, maka kita bisa menerjemahkannya ke Jawa sebagai Othello = Math.sqrt(Juliet)
.
Potongan 59 panjang
Othello:
You are as vile as the sum of yourself and a toad!
OK, jika Othello berbicara dengan Romeo, ini akan setara dengan Romeo+(-1)
; Romeo--
, Singkatnya. Cukup mendasar, bukan? Itu SPL untuk Anda.
Panjangnya 60 cuplikan
Is the quotient between the Ghost and me as good as nothing?
Singkatnya,, if (The Ghost/Hamlet == 0)
anggap "aku" adalah milik Hamlet.
Potongan 61 panjang
Thou art as handsome as the sum of yourself and my chihuahua!
Setelah Anda mengupas lapisan dan lapisan kata dan penghinaan, Anda melihat bahwa SPL adalah hal yang cukup mendasar, tanpa fungsi dan hal-hal keren. Jadi kita memiliki banyak dan banyak fungsi aritmatika pada tubuh program. Jadi, jika ini ditujukan kepada Juliet, itu akan setara dengan Juliet++
.
Potongan 62 panjang
twice the difference between a mistletoe and a oozing blister!
Ya, ya, lebih banyak operasi aritmatika. Secara kasar, 62 byte SPL ini dapat diterjemahkan 2*(1-2*(-1))
. Ini akan menjadi bahasa golf yang sangat mengagumkan, bukan? Baik.
Panjang 63 cuplikan
You lying stupid fatherless rotten stinking half-witted coward!
Snippet 48 dikeluarkan -16, yang satu ini sama dengan -64: 2*2*2*2*2*2*(-1)
.
Panjangnya 64 cuplikan
your coward sorry little stuffed misused dusty oozing rotten sky
Dari apa yang saya mengerti tentang SPL, ini sangat sah. Anda memiliki banyak sekali kata sifat yang menghina yang menghasilkan kata benda "positif". Karena kata sifat tidak memiliki perbedaan khusus apakah itu negatif atau tidak (satu-satunya nilainya mengalikan angka di kanan dengan dua), kita dapat memiliki kalimat yang benar-benar konyol seperti ini. Yang setara dengan 256. Karena 2*2*2*2*2*2*2*2*1=256
.
Panjang 65 cuplikan
You are nothing! You are as vile as the sum of thyself and a pig.
Hmm, sangat benci, bukan? Jadi, apa yang kita miliki di sini setara dengan y=0; y=y+(-1);
Mungkin bisa "bermain golf" You are a pig!
, tapi heh.
Panjang 66 potongan
You are as beautiful as the difference between Juliet and thyself.
Jadi, kurangi Juliet dari dirimu sendiri, heh? Yang ini cukup mudah untuk diterjemahkan: Romeo=Juliet-Romeo;
dengan anggapan Romeo-lah yang diajak bicara.
Potongan 67 panjang
Juliet:
Am I better than you?
Romeo:
If so, let us proceed to Act V.
Bagaimana sebagian besar kondisi bekerja pada SPL. Anda menguji ekspresi dan, jika itu benar (atau tidak: lihat snippet 33), Anda melompat ke bagian lain dari program; jika tidak, Anda akan melanjutkan ke kalimat berikutnya.
Potongan 68 panjang
The Ghost:
You are as small as the sum of yourself and a stone wall!
Ya, ya, saya menjadi agak monoton. Tapi SPL seperti itu. Seperti yang saya katakan sedikit sebelumnya, ekspresinya adalah campuran dari operasi aritmatika. Dengan demikian, ini adalah kenaikan lain - karena stone wall
merupakan "kata benda" netral.
Panjangnya 69 cuplikan
Thou art as disgusting as the difference between Othello and thyself!
Alih-alih penjumlahan, kami memiliki pengurangan antara dua karakter, Othello dan siapa pun yang diajak bicara.
Panjangnya 70 snippet
You are as handsome as the sum of Romeo and his black lazy squirrel!
Kami kembali ke tambahan, ya - panggil aku formula, heh. Kami menerjemahkannya ke Romeo + 2*2*1
.
Panjang 71 cuplikan
Scene I: Dialogues.
[Enter Juliet]
Othello:
Speak your mind!
[Exit Juliet]
Adegan bisa sekecil ini. Juliet
memasuki panggung, Othello memberitahunya untuk menampilkan nilai yang tersimpan, kemudian dia turun panggung lagi.
Panjangnya 72 cuplikan
twice the difference between a mistletoe and an oozing infected blister!
Satu lagi operasi aritmatika - karena SPL penuh dengan mereka. Kami dapat menerjemahkan ini ke 2*(1-2*2*(-1))
.
Panjangnya 73 potongan
You are nothing! Remember me. Recall your unhappy story! Speak your mind!
Empat instruksi berturut-turut ?! Sebenarnya saya cukup bangga dengan diri saya sendiri. Bagaimanapun, mari kita asumsikan ini adalah dialog antara Romeo dan Juliet (dan dia berbicara): ini berarti bahwa nilai Juliet dimulai dari 0; kemudian, Juliet akan mendorong nilai Romeo ke dalam tumpukan ingatannya, meletuskannya dan mengeluarkannya dalam bentuk yang dimasukkan. Sederhana bukan?
Panjangnya 74 potongan
You are as sweet as the sum of the sum of Romeo and his horse and his cat!
Ya, ya, contoh yang membosankan, saya tahu. Tapi ini X = (Romeo + 1) + 1
.
Panjangnya 75 snippet
Is the remainder of the quotient between Othello and me as good as nothing?
Yah, ini sangat mudah. Jika kemampuan decoding Anda tidak berfungsi, itu diterjemahkan ke if (Othello % X == 0)
.
Panjang 76 potongan
Thou art as rich as the sum of thyself and my dog! Let us return to scene I.
Lompatan dari cuplikan 26 dengan ekspresi di depannya. A goto
pada SPL tidak selalu ditemukan di dekat suatu kondisi, bisa seperti ini - dan, tentu saja, tipe ini goto
akan selalu ditemukan di akhir Undang-Undang atau Adegan, karena instruksi setelah itu tidak akan pernah dikompilasi / dilakukan. Instruksi pertama adalah cukup sederhana: x=x+1
.
Panjang 77 cuplikan
[Exit Hamlet]
[Enter Romeo]
Juliet:
Open your heart.
[Exit Juliet]
[Enter Hamlet]
Jadi, ada Juliet dan Hamlet di atas panggung; tapi kami membutuhkan nilai dari Romeo. Jadi, untuk menghindarkan kompiler dari sakit kepala yang sangat buruk, pertama-tama kita menghapus Hamlet dari atas panggung (meskipun itu mungkin Juliet yang harus dituju), kita memberitahu Romeo untuk naik ke atas panggung, Juliet memberinya instruksi untuk menghasilkan nomor (lihat penjelasan cuplikan 21), maka Romeo keluar dari panggung dan Hamlet kembali. Cukup mudah dan sederhana.
Panjang 78 cuplikan
The Ghost:
Speak thy mind.
Lady Macbeth:
Listen to thy heart! Remember thyself.
Jadi, The Ghost (ayah almarhum Hamlet) memberi tahu Lady Macbeth untuk memberikan nilainya, sementara dia memerintahkan The Ghost untuk membaca nomor dan mendorongnya ke tumpukannya.
Translate[Scale[Rectangle, 80], {0, 0, 100}]
apakah kata besar ituRectangle
muncul mengambang di depan monitor Anda?