शेक्सपियर प्रोग्रामिंग लैंग्वेज को 2001 में दो स्वीडिश छात्रों, कार्ल हैसेलस्ट्रॉम और जॉन itslund द्वारा बनाया गया था, और इसे जोड़ती है, जैसा कि लेखक घोषणा करते हैं ,
विधानसभा भाषा के उपयोगकर्ता-मित्रता के साथ BASIC की अभिव्यक्ति।
उत्तर ऊपर से नीचे की ओर जाते हैं। इसके अलावा, यह मुझे पुराने या पिछले स्निपेट के संदर्भ में देखने के लिए सामान्य है।
( खुद के लिए लिंक: संपादित करें )
factoid:
शेक्सपियर के कोड जैसा दिखता है, एक की उम्मीद होगी, एक शेक्सपियर नाटक, जहां चर नाटक के पात्र हैं और उनका मूल्य बदल जाता है क्योंकि वे "अपमान" या प्रशंसा करते हैं।
लंबाई 1 स्निपेट:
I
शेक्सपियर के कोड को अधिनियमों में विभाजित किया गया है, और कृत्यों को "जंप-टू" कारण के लिए दृश्यों में विभाजित किया गया है। एक अधिनियम को परिभाषित करने का Act I
अर्थ है कि यह चलने वाला कोड का पहला भाग होगा, प्रति उदाहरण - लेकिन न केवल।
लंबाई 2 स्निपेट:
as
दो "वर्णों" के बीच तुलनात्मक रूप से प्रयुक्त।
लंबाई 3 स्निपेट:
day
अब तक, आप महसूस कर रहे होंगे कि एसपीएल बहुत ही क्रियात्मक है। और अजीब है। और आपने अभी तक कुछ भी नहीं देखा है। day
, SPL में, 1. सभी "सकारात्मक" और "तटस्थ" संज्ञाओं को माना जाता है 1
, साथ ही साथ सभी "नकारात्मक" वाले होते हैं -1
।
लंबाई 4 स्निपेट:
rich
क्या है rich
? एक विशेषण। एसपीएल में, विशेषण उन संज्ञाओं का मूल्य बनाते हैं जिन्हें वे दो से गुणा करते हैं। स्निपेट 14 पर कार्यान्वयन देखें।
लंबाई 5 स्निपेट:
Act I
पहले स्निपेट का कार्यान्वयन। सभी कार्यों को एक शीर्षक दिया जा सकता है, जैसे Act I: Hamlet must die!
कि रोमन अंक के बाद सब कुछ पार्सर द्वारा अनदेखा किया जाता है।
लंबाई 6 स्निपेट:
better
हर भाषा में स्थितियां होती हैं, और SPL कोई अपवाद नहीं है। सिवाय, चूंकि यह एक लंबी वाक्य रचना वाली भाषा है (और क्या मैंने इसे अजीब होने का उल्लेख किया है?), इसके सशर्त बयान लंबे होने वाले हैं। बीत रहा है ओफेलिया जूलियट पूछना Am I better than you?
होने की तरह है if (Ophelia > Juliet)
सबसे "सामान्य" भाषाओं पर। और, ज़ाहिर है, आप दूसरे तरीके से पूछ सकते हैं: Am I not better than you?
के बराबर है if (Ophelia < Juliet)
। और आप पहले से ही अनुमान लगा सकते हैं कि =
एसपीएल का अनुवाद कैसे किया जाता है: as good as
- कोड स्निपेट 2 का उपयोग।
हालांकि, good/better
इस शेक्सपियरियन भाषा में तुलना करने का एकमात्र तरीका नहीं है, आप किसी भी विशेषण का उपयोग कर सकते हैं। स्निपेट 3 का एक ही सिद्धांत यहां भी लागू होता है, जिसमें "सकारात्मक" विशेषण का मूल्य होता है >
, जबकि "नकारात्मक" का अर्थ होता है <
।
लंबाई 7 स्निपेट:
Juliet:
यह एक चर का आह्वान है; इसके बाद, उसकी / उसके निर्देशों / घोषणाओं / जो भी पालन करेंगे।
एसपीएल की एक सीमा यह है कि इसमें सीमित संख्या में चर होते हैं: रोमियो, जूलियट, हेमलेट, ओफेलिया, मैकबेथ और इसी तरह "वर्ण" के कुछ उदाहरण हैं जो शेक्सपियरियन कार्यक्रम पर दिखाई देंगे।
लंबाई 8 स्निपेट:
[Exeunt]
[Exeunt]
रखा जाता है जब सभी "वर्ण" "चरण" छोड़ देते हैं। उम्मीद है कि मैं पात्रों के बीच बातचीत के बारे में थोड़ा और विस्तार से बता सकता हूं। आम तौर पर किसी भी एसपीएल कार्यक्रम का अंतिम निर्देश होता है, हालांकि[Exeunt]
विशेष रूप से भाषा का टर्मिनल "चरित्र" नहीं है। एक अन्य उदाहरण के लिए, स्निपेट 27 देखें।
लंबाई 9 स्निपेट:
as bad as
सिर्फ एक चरित्र का प्रतिनिधित्व करने के लिए नौ वर्ण =
- स्निपेट का उपयोग हुए 2. क्या मैंने उल्लेख किया है कि एसपीएल अजीब है? उदाहरण के लिए स्निपेट 30 देखें। (और हाँ, इसका उत्पादन करने का एक से अधिक तरीका है)
लंबाई 10 स्निपेट:
difference
प्रतिनिधित्व करने का एक फैंसी तरीका -
, एक घटाव। SPL पर आपके पास गणित का संचालन हो सकता है, भले ही आपको इसे सही करने के लिए पूरे दिन की आवश्यकता होगी।
फैक्टॉइड
(क्योंकि मैं किसी तरह कोड के दस स्निपेट तक पहुंचने में कामयाब रहा, चलो थोड़ा विराम लेते हैं और एसपीएल के बारे में एक और फैक्टॉइड है)
यदि आप अपने शेक्सपियरियन कोड को इसकी सभी महिमा में चलाना चाहते हैं, तो यह साइट है - मैं अभी भी इसका परीक्षण कर रहा हूं, क्योंकि मैंने पांच मिनट पहले भी इसकी खोज नहीं की थी। वहाँ भी का उपयोग कर सेल्सियस के लिए यह अनुवाद करने के लिए एक तरीका है एक अनुवादक ।
SPL कोड चलाने के लिए एक और साइट यह है Oracle PL / SQL: कि आंतरिक रूप से एक और गूढ़ भाषा को एसपीएल कोड का अनुवाद कार्य करती है।
लंबाई 11 स्निपेट:
[Exit Romeo]
हाँ! अंत में मैं पात्रों के बीच बातचीत के बारे में बात कर सकता हूं! अपने मूल्य को बदलने या दूसरों के साथ बातचीत करने के लिए, एक "चरित्र" मंच पर होना चाहिए - साथ प्रवेश करना [Enter Romeo]
। यदि एक चरित्र को संबोधित किया गया है, लेकिन मौजूद नहीं है, तो एक रनटाइम त्रुटि है और प्रोग्राम बंद हो जाता है। क्योंकि, SPL में, चर का मान उन नामों की मात्रा द्वारा निर्धारित किया जाता है जिनकी वे मंच पर अन्य वर्णों के साथ - या - के साथ प्रशंसा करते हैं। मुझे लगता है कि मुझे कुछ भ्रम को दूर करने के लिए एक उदाहरण रखना चाहिए जिससे मेरा लंगड़ा स्पष्टीकरण हो सकता है, लेकिन शायद यह सबसे अच्छा है कि कुछ स्निपेट में देरी हो।
लंबाई 12 स्निपेट:
Remember me.
एसपीएल सुंदर "बुनियादी" है, ठीक है - लेकिन इसमें ढेर हैं! जब उदाहरण के लिए, रोमियो जूलियट को "उसे याद रखना" बताता है, तो वह वास्तव में अपने प्रियजन को रोमियो के मूल्य को उसके ढेर में धकेलने के लिए कह रहा है। मान को रोकना Recall your happy childhood!
या Recall your love for me
, या मूल रूप से किसी भी वाक्य से शुरू होता हैRecall
- बाकी सिर्फ कलात्मक ड्राइवल है, जैसे स्निपेट 22।
लंबाई 13 स्निपेट
Let us return
शेक्सपियरियन रास्ता होने का एक goto
। और यह वह जगह है जहाँ अधिनियम और दृश्य काम आते हैं। अगर रोमियो जूलियट को बताता हैwe shall return to Act II
(हां, फिर से, इसे लिखने के कई तरीके हैं), तो प्रोग्राम कोड के उस विशिष्ट हिस्से पर कूद जाएगा। इसे सशर्त बयानों के साथ भी देखा जाता है।
लंबाई 14 स्निपेट
my little pony
हां, यह 80 के दशक में एक श्रृंखला थी। यहाँ, यह है 2*1
। क्यों? क्योंकि एक pony
(कुछ) सकारात्मक संज्ञा है और little
एक विशेषण है। इसलिए, स्निपेट्स 3 और 4 को याद करते हुए, हमारे पास little = "2 *"
और हैpony = "1"
।
लंबाई 15 स्निपेट
Speak thy mind!
SPL प्रोग्राम में, आप इसे (या Speak your mind!
, जो समान है) बहुत कुछ देखेंगे । यह मूल रूप से आपके कंप्यूटर द्वारा उपयोग किए जा रहे चरित्र सेट के आधार पर, अंक, पत्र या किसी अन्य चीज़ में प्रत्येक "वर्ण" के मूल्य को आउटपुट करता है। वहाँ भी है Open your mind.
कि लगभग एक ही काम करता है, यद्यपि केवल संख्यात्मक रूप में outputting।
लंबाई 16 स्निपेट
You are nothing!
जब कोई आपको वास्तविक जीवन में यह बताता है, तो आप उदास महसूस करेंगे। जब ओफेलिया इसे शेक्सपियरियन प्रोग्रामिंग में हेमलेट को बताता है, तो हेमलेट बेकार महसूस करता है। इसका क्या मतलब है? वह Hamlet = 0
।
लंबाई 17 स्निपेट
Ophelia, a wench.
एक पटकथा में, वास्तविक नाटक शुरू होने से पहले, पात्रों को प्रस्तुत किया जाना चाहिए। अधिकांश प्रोग्रामिंग भाषाओं में, चर भी उपयोग से पहले घोषित किया जाना चाहिए। यह देखते हुए कि SPL एक प्रोग्रामिंग लैंग्वेज है जो स्क्रीनप्ले से मिलती जुलती है, इसी तरह से आप इसके वेरिएबल्स को घोषित करते हैं, जो कि प्रोग्राम के दौरान दिखने वाले हैं।
लेकिन "एक वेपन" का क्या मतलब है? क्या इसका मतलब है कि यह एक विशिष्ट (और शांत) डेटा प्रकार नाम है? खैर ... मैं आपको निराश करने से नफरत करता हूं, लेकिन इसका मतलब कुछ भी नहीं है: कॉमा के बाद सब कुछ पार्सर द्वारा अवहेलना किया जाता है, जिसका अर्थ है कि आप वहां सबसे अपमानजनक ड्राइवल डाल सकते हैं जिसके बारे में आप सोच सकते हैं।
लंबाई 18 स्निपेट
lying sorry coward
-4
सभी सांसारिक जीवों के लिए। क्यों? क्योंकि 2*2*(-1) = -4
।
लंबाई 19 स्निपेट
Romeo:
Remember me.
अंत में!!! मैं अंत में एक पूर्ण सही वाक्यविन्यास निर्देश का उत्पादन कर सकता हूं (भले ही संक्षिप्त रूप से)! इस तरह से आप स्निपेट 12 का उपयोग करते हैं: सबसे पहले आप घोषणा करते हैं कि कौन किसकी बात कर रहा है, फिर अगली पंक्ति में आप "संवाद" लिखते हैं। आम तौर पर, केवल दो "पात्र" मंच पर होते हैं, ताकि पार्सर को दुखी और भ्रमित न किया जा सके। जब आपको एक और "चरित्र" की आवश्यकता होती है, तो आप मंच से एक लेते हैं और उसे नए द्वारा प्रतिस्थापित करते हैं।
लंबाई 20 स्निपेट
cube of thy codpiece
मैं इस एक के लिए थोड़ा और विस्तृत करना चाहता था, लेकिन, सच कहा जाए, तो मैं जिन चीजों के साथ आता हूं, वे अभी भी इस स्निपेट की लंबाई के लिए बहुत कम हैं। और, इसलिए, मैं आपको यह लाता हूं, जो समाप्त हो रहा है -1
- क्योंकि (-1) 3 = -1 (और codpiece
"नकारात्मक" संज्ञा है, क्योंकि वे असहज और सभी हैं)। एसपीएल कुछ अधिक विस्तृत अंकगणित संचालन को कुछ घातांक और वर्गमूल के रूप में समझता है ।
फैक्टॉइड (अभी तक एक और एक, क्योंकि हम एक और मील के पत्थर तक पहुँच चुके हैं)
शेक्सपियरियन में "हैलो वर्ल्ड प्रोग्राम" में 89 लाइनें और 2400 से अधिक वर्ण हैं, जैसा कि यहां देखा गया है ।
लंबाई 21 स्निपेट
Listen to your heart.
स्निपेट 15 में आपने कुछ आउटपुट किया; यहां, आप प्रोग्राम के लिए एक नंबर इनपुट करते हैं। यदि आप एक वर्ण इनपुट करना चाहते हैं, तो आप Open your mind.
इसके बजाय उपयोग करेंगे । और, कहने की जरूरत नहीं है, यह मूल्य "चरित्र" में बोला जा रहा है।
लंबाई 22 स्निपेट
Recall your childhood!
स्टैक से पूर्णांक को रोकना इसके साथ किया जाता है, जैसा कि स्निपेट 12 पर समझाया गया है। उदाहरण के अनुसार, ओफेलिया हेमलेट को उपरोक्त वाक्य बताता है, यह हेमलेट को अपने स्टैक से पूर्णांक लेने और उस मान को मानने का कारण बनता है।
बेशक, जब तक यह शब्द recall
वाक्य शुरू कर रहा है, तब तक आप अपने रचनात्मक शेक्सपियर की इच्छाओं को पूरा करने के लिए बहुत कुछ कर सकते हैं।
लंबाई 23 स्निपेट
Are you better than me?
स्निपेट का कार्यान्वयन 6. जब एक "चरित्र" दूसरे से इस तरह का सवाल करता है, तो वह जो कर रहा है वह if (x > y)
अधिक सामान्य प्रोग्रामिंग भाषाओं के बराबर है । इस निर्देश के पालन में विलंब होना चाहिए, जब तक कि मेरे पास अधिक पात्र उपलब्ध न हों।
लंबाई 24 स्निपेट
[Enter Romeo and Juliet]
हां, "वर्ण" जोड़े में प्रवेश कर सकते हैं। एक "चरित्र" के लिए मंच में प्रवेश करना आवश्यक नहीं है, दूसरे द्वारा पीछा किया जा रहा है।
लंबाई 25 स्निपेट
remainder of the quotient
25 अक्षर सिर्फ लिखने के लिए %
। एक विभाजन के शेष 25 वर्ण। और इसका उपयोग करने के लिए? खैर, यह और भी बड़ा है - स्निपेट 75 देखें।
लंबाई 26 स्निपेट
Let us return to scene II.
यहाँ यह goto
एसपीएल में है, जो एक प्रोग्रामिंग भाषा में अपेक्षा के अनुसार काम करता है। एक बात यह है: आप एक ही अधिनियम में दृश्यों के बीच, और कृत्यों के बीच कूद सकते हैं; लेकिन आप अलग-अलग कामों में दृश्यों के बीच नहीं कूद सकते।
लंबाई 27 स्निपेट
[Exeunt Ophelia and Hamlet]
जब एक से अधिक "चरित्र" मंच को छोड़ देते हैं Exit
, और इसके बजाय एसपीएल के नाटकीय स्वभाव के साथ परंपरा में रखते हुए, लैटिन शब्द "एक्जेंट" का उपयोग किया जाता है। कभी-कभी इसे सिर्फ स्निपेट 8 से बदला जा सकता है।
लंबाई 28 स्निपेट
Scene I: Ophelia's flattery.
एक घोषणा की। जैसा कि आप पहले से ही उम्मीद कर सकते हैं कि आप मेरे साथ मुकाबला कर रहे हैं, महत्वपूर्ण बिट हैScene I
, बाकी कलात्मक फुलाना है।
कुछ संकलक बनाए गए हैं (जैसे कि यह SPL से C तक संकलित है, जो पायथन में लिखा गया है ) जो इसके बजाय अधिनियम / दृश्य की संख्या के बाद पाठ को संदर्भित करता है। जबकि अधिक तार्किक (सब के बाद, एक नाटक के दौरान, पात्रों को यह कहते हुए लाइनें "जैसे हम एक्ट आई पर लौटते हैं" को मूर्खतापूर्ण समझा जा सकता है), मैं मूल तरीके से चिपका रहा हूं।
लंबाई 29 स्निपेट
You pretty little warm thing!
हां, अभी तक एक और स्थिर (चूंकि हमें अंकगणित संचालन के लिए अधिक पात्रों की आवश्यकता है )। यह एक के बराबर है 8
, क्योंकि 2*2*2*1 = 8
।
लंबाई 30 स्निपेट
You are as cowardly as Hamlet!
उदाहरण के लिए, रोमियो का कहना है कि इसका मतलब है Romeo = Hamlet
। जैसे स्निपेट 9।
फैक्टॉइड (हाँ, एक और मील का पत्थर पहुंच गया!)
यह भाषा एक सिंटैक्स विश्लेषण पाठ्यक्रम में असाइनमेंट के लिए बनाई गई थी - इस प्रकार, लेखकों द्वारा कोई एसपीएल संकलक नहीं बनाया गया था। अधिक: ऐसा लगता है कि एसपीएल के लेखकों ने अपनी रचना के साथ अपने संबंधों को तोड़ दिया है, क्योंकि 2001 के बाद से भाषा में कुछ भी संशोधित नहीं हुआ है ...
लंबाई 31 स्निपेट
Am I as horrid as a flirt-gill?
हां, मुझे पता है, यह कुछ हद तक स्निपेट 23 को दोहरा रहा है, हालांकि, यहां, हम "चरित्र" की तुलना कर रहे हैं जो "इश्कबाज-गिल" (यदि आप चाहें, तो if (Ophelia == -1)
) के साथ बोलते हैं । बात है...
लंबाई 32 स्निपेट
If so, let us return to scene I.
... अब मैं then
SPL, और सशर्त कूदने के लिए और छोरों को लागू करने का शेक्सपियरियन तरीका पेश कर सकता हूं । उदाहरण के लिए, आप रोमियो को मान दे सकते हैं, 0
किसी अन्य कार्य को करते समय उसके मूल्य में वृद्धि कर सकते हैं और जब वह 10 तक पहुँचता है तो रुक जाता है, बाद में कार्यक्रम के साथ आगे बढ़ता है।
लंबाई 33 स्निपेट
If not, let us return to scene I.
बस एक चेतावनी है कि, इसके बजाय, हम एक और दृश्य के लिए आगे बढ़ सकते हैं यदि हम जिस स्थिति के लिए परीक्षण करते हैं वह गलत है ।
लंबाई 34 स्निपेट
Open your mind! Remember yourself.
एक पंक्ति में दो निर्देश, यिप्पी! पहला एक पात्र पढ़ता है, दूसरा उसे दूसरे पात्र की मेमोरी स्टैक में धकेल देता है।
लंबाई 35 स्निपेट
Act I: Death!
Scene I: Oh, shit.
अधिनियम और दृश्य घोषित करने का उचित तरीका। स्वाद से कलात्मक फल जोड़ें।
लंबाई 36 स्निपेट
Thou art as sweet as a summer's day!
यह कहने का एक और तरीका है कि "चरित्र" जिस पर बात की जा रही है वह मूल्य प्राप्त करेगा 1
- क्योंकि गर्मी के दिन अच्छे और सुखद होते हैं।
लंबाई 37 स्निपेट
Art thou more cunning than the Ghost?
ओफेलिया ने हेमलेट से यह सवाल पूछा, इसका मतलब यह है कि इसे कम पठनीय प्रोग्रामिंग भाषा में अनुवाद किया जाए if (Hamlet > the Ghost)
। यह 23 से अधिक बार स्निपेट है, हाँ - लेकिन यह आपको यह दिखाने के लिए जाता है कि "वर्ण" पूछने की आवश्यकता नहीं है यदि वे एक-दूसरे से बेहतर हैं: कोई अन्य प्रश्न भी काम करेगा।
लंबाई 38 स्निपेट
[Enter the Ghost, Romeo and the Ghost]
हां, मैं दो बार एक "चरित्र" कह रहा हूं - क्योंकि मैं चाहता था कि कार्यक्रम मुझे एक त्रुटि दे। एक "चरित्र" को कॉल करना जो पहले से ही मंच पर है, या एक को बताने के लिए जो बाहर निकलने के लिए अनुपस्थित है, पार्सर / कंपाइलर के लिए बहुत दुख का कारण होगा।
लंबाई 39 स्निपेट
the sum of a fat lazy pig and yourself!
पूर्ण निर्देश अधिक बेहतर है कि यह देखकर, मैं आपको वह देता हूं, लेकिन ... यहां हमारा पहला अंकगणितीय ऑपरेशन है! वास्तव में इसका क्या मतलब है? खैर, pig
एक गंदा जानवर है (यद्यपि स्वादिष्ट), इसलिए यह इसके बराबर है -1
, इसमें दो विशेषण हैं, जिसका अर्थ है fat lazy pig
समान 2*2*(-1) = -4
। लेकिन इससे क्या yourself
? यह एक रिफ्लेक्टिव सर्वनाम है, न नाम और न ही विशेषण। खैर, याद रखें कि एसपीएल "पात्रों" के बीच संवाद पर आधारित है; इस प्रकार, yourself
मंच पर अन्य "चरित्र" को संदर्भित करता है। तो, हम अंत में पहुंचते हैं और हमें पता चलता है कि "एक मोटा आलसी सुअर और खुद का योग" वास्तव में है -4 + x
।
लंबाई 40 स्निपेट
the sum of a squirrel and a white horse.
हां, एक और राशि, लेकिन यह एक स्निपेट 39 की तुलना में सरल है। यह केवल है 1 + 2
- 3
अगर मेरा गणित सही है।
फैक्टॉइड (कलात्मक फुलाने के इन चालीस स्निपेट के बाद भी मेरे साथ? आप एक पुरस्कार के पात्र हैं।)
SPL, इसके संस्करण 1.2.1 में, यहाँ डाउनलोड किया जा सकता है ।
लंबाई 41 स्निपेट
Juliet:
Speak thy mind!
[Exit Romeo]
कभी-कभी, "वर्णों" को केवल मंच पर बुलाया जाता है ताकि उनका मूल्य बदल जाए - जो कि एक वास्तविक नाटक पर, कुछ विचित्र होगा। वैसे भी, यहाँ, जूलियट अपने प्रिय रोमियो को अपने संग्रहीत मूल्य का प्रिंट देता है, जिसके बाद वह मंच से बाहर निकलता है।
लंबाई 42 स्निपेट
Speak YOUR mind! You are as bad as Hamlet!
एक लाइन में फिर से दो निर्देश (हम कई हो सकते हैं, लेकिन स्निपेट लंबाई इसे अभी तक अनुमति नहीं देती है); यहां हमारे पास एक "चरित्र" है जो दूसरे को उसके मूल्य को आउटपुट करने के लिए कह रहा है और मान लें कि हैमलेट का मूल्य क्या है। भ्रामक? Mayhap।
लंबाई 43 स्निपेट
Am I as horrid as a half-witted flirt-gill?
जूलियट ने पूछा कि इसका मतलब यह नहीं है कि उसके पास कम-सम्मान है (हालांकि यह वास्तविक जीवन में हो सकता है); यह if
23 और 37 स्निपेट की तरह बस एक और है। ओह, मैं लगभग भूल गया: यह करने के लिए अनुवाद if (Juliet == -2)
।
लंबाई 44 स्निपेट
You are as evil as the square root of Romeo!
हाँ, वर्गमूल बुराई हैं, क्या आप नहीं जानते? वैसे भी, यह निर्देश सीधा समझने के लिए पर्याप्त है कि यह क्या करता है: रोमियो में संग्रहीत मूल्य के वर्गमूल के मूल्य के लिए बोले जा रहे "चरित्र" को विशेषता देता है।
लंबाई 45 स्निपेट
Hamlet:
Art thou more cunning than the Ghost?
स्निपेट 37 ठीक से चरित्र के साथ लिखा गया है जो लाइन बोल रहा है।
लंबाई 46 स्निपेट
the product of a rural town and my rich purse.
ठीक है ... वैसे भी, एसपीएल दुनिया की एकमात्र भाषा हो सकती है जो आपको पर्स के साथ शहरों को गुणा करने की अनुमति देती है। इसका मतलब यह है (2*1)*(2*1)
कि, अगर मैं बहुत गलत नहीं हूं, तो इसके बराबर है 4
।
लंबाई 47 स्निपेट
Romeo:
Speak your mind.
Juliet:
Speak YOUR mind!
मैं आपको वह देता हूँ: यह इतिहास के सबसे विचित्र संवादों में से एक हो सकता है। लेकिन यह तब होता है जब आप प्रदर्शन के लिए एक अजीब भाषा चुनते हैं। रोमियो और जूलियट संक्षेप में एक दूसरे को बता रहे हैं, अपने मूल्यों का उत्पादन करने के लिए।
लंबाई 48 स्निपेट
You lying fatherless useless half-witted coward!
यह सीधे अनुवाद कर रहा है, 2*2*2*2*(-1)
। -16
, सही?
लंबाई 49 स्निपेट
Scene V: Closure.
Hamlet:
Speak your mind!
[Exeunt]
एसपीएल में एक कार्यक्रम को समाप्त करने का एक उदाहरण। आप इसके लिए विशेष रूप से एक दृश्य घोषित कर सकते हैं (हालांकि इसकी आवश्यकता नहीं है), फिर हैमलेट अपने मूल्य को आउटपुट करने के लिए एक और "चरित्र" पूछता है, फिर वे सभी मंच से बाहर निकल जाते हैं। और हाँ, उन सभी को मंच से उतरना आवश्यक है।
लंबाई 50 स्निपेट
Othello, a young squire.
Lady Macbeth, an old fart.
अधिक "चरित्र" प्रस्तुति, उचित निर्देशों से पहले। हमेशा की तरह, केवल एक चीज जो संकलक के लिए मायने रखती है Othello
और हैLady Macbeth
, इसलिए बाकी की लाइन कब्रों के लिए है ...
एक और बात: एसपीएल कार्यक्रम में प्रदर्शित होने के लिए "वर्णों" को एक-दूसरे से संबंधित नहीं होना पड़ता है - इसलिए आपके पास एक ही नाटक में रोमियो, ओथेलो और हेमलेट हो सकते हैं।
फैक्टॉइड (इन चीजों की आधी सदी? काहे! इसके बाद मुझे लगता है कि मैं विलियम शेक्सपियर से घृणा करने जा रहा हूं ...)
एसपीएल टू सी अनुवादक, एसपीएल रचनाकारों द्वारा कुछ समय पहले और विकसित किए गए, फ्लेक्स और बाइसन पर आधारित था ।
लंबाई 51 स्निपेट
Othello:
Recall your great dreams. Speak your mind!
(रोमियो, जूलियट और हेमलेट के बीमार ... चलो एक बदलाव के लिए ओथेलो में ले आओ!)
Recall
, जैसा कि आप अनुमान लगा सकते हैं, यहाँ कुंजी है। "चरित्र" ओथेलो संबोधित कर रहा है, उसके / उसके ढेर से एक मूल्य लेगा, मान और उसके बाद, इसे आउटपुट करेगा।
लंबाई 52 स्निपेट
Thou art as pretty as the sum of thyself and my dog!
एक और राशि। जम्हाई। यह मानकर कि हेमलेट को संबोधित किया जाता है, इसका मतलब है कि Hamlet = Hamlet + 1
। या Hamlet += 1
। या Hamlet++
।
लंबाई 53 स्निपेट
Romeo:
You are as vile as the sum of me and yourself!
आह, हाँ, कुछ जिसे मैं पहले उल्लेख करना भूल गया था: बोलने वाले "वर्ण" खुद की तर्ज पर खुद का उल्लेख कर सकते हैं।
लंबाई 54 स्निपेट
Juliet:
Is the sum of Romeo and me as good as nothing?
एक स्थिति में शामिल पिछली स्निपेट का एक और उदाहरण। तो हमारे पास यहां क्या है if (Romeo + Juliet == 0)
।
लंबाई 55 स्निपेट
Juliet:
You are as lovely as the sweetest reddest rose.
तो, यहाँ, जूलियट "शेक्सपियर की खातिर (यह मान लें कि यह रोमियो है, मान लें) की प्रशंसा कर रहा है, यह घोषणा करते हुए कि वह 4. वह है। हां, मूल्यों का एक और काम है।
लंबाई 56 स्निपेट
Othello:
You lying fatherless useless half-witted coward!
स्निपेट 48 ठीक से, एक "चरित्र" के साथ। यदि आप स्क्रॉल करने के लिए बहुत आलसी हैं (जैसे मैं होगा), इसका मतलब है कि अपमान किया जा रहा मूल्य -16 प्राप्त कर रहा है।
लंबाई 57 स्निपेट
Romeo:
If not, let us return to Act I. Recall thy riches!
मैं पहले ही बता चुका हूं कि एसपीएल सामान्य स्थिति में कैसे काम करता है; हालाँकि, अधिक इनलाइन विश्लेषण की आवश्यकता है। हमारे पास यहां नहीं है else
: प्रति उदाहरण, इस उदाहरण में, यदि स्थिति विफल हो जाती है, तो कार्यक्रम अधिनियम I में वापस आ जाएगा; लेकिन अगर यह सच था, तो यह अगले निर्देश तक जारी रहेगा, जो कि एक है Recall
- स्टैक से एक पॉप, अर्थात्।
लंबाई 58 स्निपेट
Romeo:
You are as disgusting as the square root of Juliet!
स्निपेट 44 को हथियाने और निर्देश को कैसे प्रस्तुत किया जाना चाहिए। यदि यह रोमियो और ओथेलो के बीच एक संवाद था, तो हम इसे जावा में अनुवाद कर सकते हैं Othello = Math.sqrt(Juliet)
।
लंबाई 59 स्निपेट
Othello:
You are as vile as the sum of yourself and a toad!
ठीक है, अगर ओथेलो रोमियो से बात कर रहा है, तो यह इसके बराबर होगा Romeo+(-1)
; Romeo--
, छोटे के लिए। सुंदर बुनियादी, सही? वह आपके लिए एसपीएल है।
लंबाई 60 स्निपेट
Is the quotient between the Ghost and me as good as nothing?
संक्षेप में, if (The Ghost/Hamlet == 0)
"मुझे" मान लेना हेमलेट का है।
लंबाई 61 स्निपेट
Thou art as handsome as the sum of yourself and my chihuahua!
एक बार जब आप शब्दों और अपमान की परतों और परतों को छील लेते हैं, तो आप नोटिस करते हैं कि एसपीएल शांत कार्यों और सामान के बिना बहुत अधिक मूल चीज है। इसलिए हमारे पास कार्यक्रम के शरीर पर अंकगणितीय कार्यों का भार और भार है। तो, अगर यह जूलियट को संबोधित किया गया था, तो यह इसके बराबर होगाJuliet++
।
लंबाई 62 स्निपेट
twice the difference between a mistletoe and a oozing blister!
हां, हां, अधिक अंकगणितीय ऑपरेशन। मोटे तौर पर, एसपीएल के इन 62 बाइट्स का अनुवाद किया जा सकता है2*(1-2*(-1))
। यह एक बहुत बढ़िया गोल्फ भाषा होगी, है ना? सही।
लंबाई 63 स्निपेट
You lying stupid fatherless rotten stinking half-witted coward!
स्निपेट 48 आउटपुट -16, यह एक -64 के बराबर है: 2*2*2*2*2*2*(-1)
:।
लंबाई 64 स्निपेट
your coward sorry little stuffed misused dusty oozing rotten sky
एसपीएल के बारे में मुझे जो समझ है, वह पूरी तरह से वैध है। आपके पास अपमानजनक विशेषणों की एक पूरी बहुत कुछ है जो "सकारात्मक" संज्ञा को आगे बढ़ाते हैं। चूंकि विशेषणों में कोई विशेष अंतर नहीं है कि वे नकारात्मक हैं या नहीं (उनका एकमात्र मूल्य उनके दाईं ओर संख्या को दो से गुणा कर रहा है), हम इस तरह पूरी तरह से मूर्खतापूर्ण वाक्य रख सकते हैं। जो 256 के बराबर है 2*2*2*2*2*2*2*2*1=256
। क्योंकि ।
लंबाई 65 स्निपेट
You are nothing! You are as vile as the sum of thyself and a pig.
हम्म, इतनी नफरत है, है ना? तो, हमारे यहाँ जो है वह बराबर है y=0; y=y+(-1);
शायद "गोल्फ" हो सकता है You are a pig!
, लेकिन हे।
लंबाई 66 स्निपेट
You are as beautiful as the difference between Juliet and thyself.
तो, अपने आप से जूलियट घटाना, हे? यह समझने के लिए बहुत सरल है:, Romeo=Juliet-Romeo;
यह मानते हुए कि यह रोमियो है जो उससे बात कर रहा है।
लंबाई 67 स्निपेट
Juliet:
Am I better than you?
Romeo:
If so, let us proceed to Act V.
एसपीएल पर अधिकांश स्थितियां कैसे काम करती हैं। आप अभिव्यक्ति का परीक्षण करते हैं और, अगर यह सच है (या नहीं: स्निपेट 33 देखें), तो आप कार्यक्रम के दूसरे भाग में जाते हैं; अन्यथा, आप अगले वाक्य पर जारी रखेंगे।
लंबाई 68 स्निपेट
The Ghost:
You are as small as the sum of yourself and a stone wall!
हां, हां, मैं थोड़ा नीरस हो रहा हूं। लेकिन एसपीएल ऐसा ही है। जैसा कि मैंने पहले कहा था, इसके भाव अंकगणितीय संचालन के मिश्रण हैं। इस प्रकार, यह अभी तक एक और वृद्धि है - तब सेstone wall
एक तटस्थ "संज्ञा" है।
लंबाई 69 स्निपेट
Thou art as disgusting as the difference between Othello and thyself!
एक राशि के बजाय, हमारे पास दो पात्रों, ओथेलो और जो कोई भी बोला जा रहा है, के बीच घटाव है।
लंबाई 70 स्निपेट
You are as handsome as the sum of Romeo and his black lazy squirrel!
हम परिवर्धन पर लौटते हैं, हां - मुझे सूत्र कहते हैं, हे। हम इसका अनुवाद करते हैंRomeo + 2*2*1
।
लंबाई 71 स्निपेट
Scene I: Dialogues.
[Enter Juliet]
Othello:
Speak your mind!
[Exit Juliet]
एक दृश्य इसके जितना छोटा हो सकता है। Juliet
मंच में प्रवेश करती है, ओथेलो उसे अपने संग्रहीत मूल्य का उत्पादन करने के लिए कहती है, फिर वह फिर से मंच पर पहुंच जाती है।
लंबाई 72 स्निपेट
twice the difference between a mistletoe and an oozing infected blister!
एक और अंकगणितीय ऑपरेशन - क्योंकि एसपीएल उनके साथ भरा हुआ है। हम इसका अनुवाद कर सकते हैं 2*(1-2*2*(-1))
।
लंबाई 73 स्निपेट
You are nothing! Remember me. Recall your unhappy story! Speak your mind!
एक पंक्ति में चार निर्देश ?! मुझे वास्तव में खुद पर काफी गर्व है। वैसे भी, मान लें कि यह रोमियो और जूलियट के बीच एक संवाद है (और वह बोल रहा है): इसका मतलब है कि जूलियट का मूल्य 0 से शुरू होता है; फिर, जूलियट रोमियो के मूल्य को उसकी मेमोरी के ढेर में धकेल देगा, इसे पॉप करेगा और इसे उसके प्रवेशित रूप में आउटपुट करेगा। सरल, सही?
लंबाई 74 स्निपेट
You are as sweet as the sum of the sum of Romeo and his horse and his cat!
हाँ, हाँ, उबाऊ उदाहरण, मुझे पता है। लेकिन यह है X = (Romeo + 1) + 1
।
लंबाई 75 स्निपेट
Is the remainder of the quotient between Othello and me as good as nothing?
खैर, यह बहुत सीधा है। यदि आपके डिकोडिंग कौशल में खराबी है, तो यह अनुवाद करता है if (Othello % X == 0)
।
लंबाई 76 स्निपेट
Thou art as rich as the sum of thyself and my dog! Let us return to scene I.
इससे पहले एक अभिव्यक्ति के साथ स्निपेट 26 से कूद। एक goto
एसपीएल पर हमेशा एक शर्त के पास पाया नहीं है, यह इस तरह से हो सकता है - और, जाहिर है, इस प्रकार की goto
हमेशा की तरह, एक अधिनियम या दृश्य के अंत में पाया जाएगा उसके बाद निर्देश के बाद से संकलित कभी नहीं की जाएगी / प्रदर्शन किया। पहला निर्देश बहुत सरल है x=x+1
:।
लंबाई 77 स्निपेट
[Exit Hamlet]
[Enter Romeo]
Juliet:
Open your heart.
[Exit Juliet]
[Enter Hamlet]
तो, हमारे पास जूलियट और हेमलेट मंच पर हैं; लेकिन हमें रोमियो से मूल्य की आवश्यकता है। इस प्रकार, कंपाइलर को बहुत बुरा सिरदर्द से दूर करने के लिए, सबसे पहले हम हैमलेट को स्टेज से हटाते हैं (हालाँकि यह जूलियट द गो टू गो हो सकता है), हम रोमियो को मंच पर लाने के लिए कहते हैं, जूलियट उसे आउटपुट देने का निर्देश देती है। संख्या (स्निपेट 21 की व्याख्या देखें), तब रोमियो मंच से बाहर निकलता है और हेमलेट लौट आता है। बहुत सीधा और सरल।
लंबाई 78 स्निपेट
The Ghost:
Speak thy mind.
Lady Macbeth:
Listen to thy heart! Remember thyself.
तो, द घोस्ट (हेमलेट के मृतक पिता) लेडी मैकबेथ को उसके मूल्य का उत्पादन करने के लिए कह रहे हैं, जबकि वह द घोस्ट को एक नंबर पढ़ने और उसे अपने ढेर में धकेलने का आदेश देती है।
Translate[Scale[Rectangle, 80], {0, 0, 100}]
तोRectangle
आपके मॉनिटर के सामने विशाल शब्द तैरता हुआ दिखाई देगा?