Shakespeare (programozási nyelv)

Shakespeare Programing Language
Paradigmaezoterikus
Jellemző kiterjesztésspl
TervezőKalle Hasselström, Jon Åslund
Utolsó kiadás1.2.1
Weboldal

A Shakespeare programozási nyelv (SPL) egy ezoterikus programozási nyelv, amit Kalle Hasselström és Jon Åslund hozott létre. Az alapelgondolás, hogy Shakespeare-színdarabok stílusát idéző legyen az SPL nyelven létrehozott program forráskódja. Ennek érdekében a kódot különféle nyelvi lelemények segítségével készítheti el a programozó, és ebben a fordító igyekszik minél nagyobb szabadságot nyújtani. A kódolási stílus ezen programnyelv használata esetén kiemelkedő jelentőségű.

A nyelv nem kezel összetett adatszerkezeteket, kizárólag alapműveleteket és vermet valósít meg. Vezérlőszerkezetek tekintetében elérhető a GOTO és az elágazás.

Programozás Shakespeare-ben

Cím

Minden Shakespeare-program első sora a program címe. Mivel a programnyelv célkitűzése, hogy a forráskód színműre emlékeztessen, így elengedhetetlen, hogy a darabnak legyen címe. Gyakorlati szempontból a megadott cím irreleváns, a fordító az első pontig megadott szövegeket megjegyzésként kezeli.

Szereplők

A kód a változók deklarációjával folytatódik. A változók a darab szereplői, mindegyiküket fel kell sorolni. A változók előjeles egészek tárolására alkalmasak. A színmű forma érdekében a változó egyszavas nevét követően meg lehet adni a változó leírását, amit a fordító figyelmen kívül fog hagyni. Elvárás, hogy a változók neve valódi Shakespeare-szereplők neve legyen, nem választhatóak meg szabadon.

A változók az őket megszemélyesítő szereplők kommunikációjával nyernek értéket. Az egymásnak címzett mondatokban minden pozitív vagy semleges jelentéstartalmú főnév értéke 1, minden negatív jelentéstartalmúé -1 értéket képvisel. A jelzős szerkezetekben alkalmazott jelzők mindegyike 2-vel szorozza a főnév értékét. Az egyes szerkezetek értékét össze lehet adni és azokban más változókra hivatkozni ({sum of Romeo and Juliet, kivonni (difference between Ophelia and Hamlet), hatványozni (square of), stb. Ezen felül egy változó már megszerzett értékéhez újabb értékek adhatóak az and thyself! kifejezés használatával.

Felvonások és színek

A forráskód római számokkal jelölt felvonásokra (Act) és színekre (Scene) tagozódik. Amellett, hogy a színdarab-forma kialakítását szolgálja, a felvonások és a színek az ugrásokhoz címkeként funkcionálnak. Az Act vagy Scene szavakat követően meg kell adni az egység nevét, majd egy rövid leírást, amelyet a fordító (hasonlóan a szereplők leírásához) figyelmen kívül hagy.

Színre lépés és távozás

Annak érdekében, hogy a változók egymással kommunikálni tudjanak, és így értéket nyerni, színre kell lépniük és távozniuk kell. Az Enter, Exit parancsok segítségével lehet változókat behívni és eltávolítani. Az Exeunt parancs segítségével több szereplő egyszerre léptethető le a színről.

Beszéd és hallgatás

A változók értéküket az Open your heart és a Speak your mind parancsok segítségével írhatják ki. Az első parancs numerikus formában, a második futtató rendszer által alkalmazott karaktertáblának megfelelően írja ki a szereplő által megszemélyesített változóban tárolt értéket.

A hallgatás, azaz az adatbevitel a Listen to your heart, illetve az Open your mind kifejezezések segítségével történik, hasonlóan a kiíratáshoz az előbbi numerikus, utóbbi karakteres érték kiírását jelenti a változót megszemélyesítő szereplő részéről.

Feltételes elágazások és ugrások

Az elágazás megvalósításához két szereplő szükséges. Az első feltesz egy kérdést, amely két változó összehasonlítását indukálja (pl. Am I better than you?), a második pedig, ha az első kérdése igaz (If so), vagy akkor, ha hamis (If not), ugrást valósít meg valamelyik felvonásra vagy színre.

Emlékezet

Az emlékezet szerepét a verem tölti be. Verembe értéket remember paranccsal tehetünk, onnan pedig a recall paranccsal vehetünk ki. Mindkét parancs után tetszőleges szöveget helyezhetünk el, mivel azt a fordító figyelmen kívül hagyja, így könnyen elhelyezhető a színdarab-stílusú szöveget imitáló forráskódba.

Példa

A Hello World program egy lehetséges megvalósítása.

Hello World.

Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.

                   Act I: Hamlet's insults and flattery.
                   Scene I: The insulting of Romeo.

[Enter Hamlet and Romeo]

Hamlet:
 You lying stupid fatherless big smelly half-witted coward!
 You are as stupid as the difference between a handsome rich brave
 hero and thyself! Speak your mind!

 You are as brave as the sum of your fat little stuffed misused dusty
 old rotten codpiece and a beautiful fair warm peaceful sunny summer's
 day. You are as healthy as the difference between the sum of the
 sweetest reddest rose and my father and yourself! Speak your mind!

 You are as cowardly as the sum of yourself and the difference
 between a big mighty proud kingdom and a horse. Speak your mind.

 Speak your mind!

[Exit Romeo]
 
                   Scene II: The praising of Juliet.

[Enter Juliet]

Hamlet:
 Thou art as sweet as the sum of the sum of Romeo and his horse and his
 black cat! Speak thy mind!

[Exit Juliet]

                   Scene III: The praising of Ophelia.

[Enter Ophelia]

Hamlet:
 Thou art as lovely as the product of a large rural town and my amazing
 bottomless embroidered purse. Speak thy mind! 

 Thou art as loving as the product of the bluest clearest sweetest sky
 and the sum of a squirrel and a white horse. Thou art as beautiful as
 the difference between Juliet and thyself. Speak thy mind!

[Exeunt Ophelia and Hamlet]

                   Act II: Behind Hamlet's back.

                   Scene I: Romeo and Juliet's conversation.

[Enter Romeo and Juliet]

Romeo:
 Speak your mind. You are as worried as the sum of yourself and the
 difference between my small smooth hamster and my nose. Speak your
 mind!

Juliet:
 Speak YOUR mind! You are as bad as Hamlet! You are as small as the
 difference between the square of the difference between my little pony
 and your big hairy hound and the cube of your sorry little
 codpiece. Speak your mind!

[Exit Romeo]

                   Scene II: Juliet and Ophelia's conversation.

[Enter Ophelia]

Juliet:
 Thou art as good as the quotient between Romeo and the sum of a small
 furry animal and a leech. Speak your mind!

Ophelia:
 Thou art as disgusting as the quotient between Romeo and twice the
 difference between a mistletoe and an oozing infected blister! Speak
 your mind!

[Exeunt]

Források

Kapcsolódó szócikkek

Read other articles:

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Gudang – berita · surat kabar · buku · cendekiawan · JSTOR Gudang adalah ruangan yang digunakan untuk menyimpan satu jenis barang ataupun berbagai jenis barang. gudang biasanya berpotensi untuk menyimpan...

 

  لمعانٍ أخرى، طالع وزارة السياحة والآثار (توضيح). وزارة السياحة والآثار وزارة السياحة وزارة السياحة والآثار (الأردن)شعار الأردن تفاصيل الوكالة الحكومية البلد الأردن  تأسست 1967؛ منذ 57 سنوات (1967) وزارة السياحة 1981؛ منذ 43 سنوات (1981) وزارة السياحة والآثار و...

 

Kepiting kacang Pinnotheres pisum Pinnotheres pisum ♂TaksonomiKerajaanAnimaliaFilumArthropodaKelasMalacostracaOrdoDecapodaFamiliPinnotheridaeGenusPinnotheresSpesiesPinnotheres pisum Tata namaSinonim taksonPinnotheres cranchii Leach, 1815 Pinnotheres latreilli Leach, 1815 Pinnotheres modiolae Costa, 1840 Pinnotheres modioli Leach, 1814 Pinnotheres mytilii Leach, 1814 Pinnotheres mytilorum Leach, 1814 Pinnotheres varians Leach, 1815lbs Kepiting kacang (Pinnotheres pisum) adalah kepiting beruk...

العلاقات المالديفية الكوبية كوبا   المالديف   كوبا تعديل مصدري - تعديل   العلاقات المالديفية الكوبية هي العلاقات الثنائية التي تجمع بين المالديف وكوبا.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: وجه المقارنة [[تصنيف:صفح�...

 

1st century AD Roman geographer De situ orbis redirects here. For the Carolingian treatise, see Anonymus Leidensis. Reconstruction of Pomponius Mela's world map by Konrad Miller [de] (1898) Pomponius Mela, who wrote around AD 43, was the earliest known Roman geographer. He was born in Tingentera (now Algeciras) and died c. AD 45. His short work (De situ orbis libri III.) remained in use nearly to the year 1500.[1] It occupies less than one hundred pages of ordinary p...

 

Commune in Île-de-France, FranceSavigny-le-TempleCommuneThe town hall in Savigny-le-Temple Coat of armsLocation (in red) within Paris inner and outer suburbsLocation of Savigny-le-Temple Savigny-le-TempleShow map of FranceSavigny-le-TempleShow map of Île-de-France (region)Coordinates: 48°35′03″N 2°35′00″E / 48.5841°N 2.5832°E / 48.5841; 2.5832CountryFranceRegionÎle-de-FranceDepartmentSeine-et-MarneArrondissementMelunCantonSavigny-le-TempleIntercommunalit...

Dzogchen visual religious practice Lukhang Temple mural depicting sky gazing visionary practice In Dzogchen, tögal (Tibetan: ཐོད་རྒལ་, Wylie: thod rgal) literally means crossing the peak.[1] It is sometimes translated as 'leapover,' 'direct crossing,' or 'direct transcendence.'[2][3][4] Tögal is also called the practice of vision,[5] or the practice of the Clear Light (od-gsal).[5] Definition Part of a series onTibetan Buddhism...

 

Machine learning model An image conditioned on the prompt an astronaut riding a horse, by Hiroshige, generated by Stable Diffusion, a large-scale text-to-image model released in 2022 A text-to-image model is a machine learning model which takes an input natural language description and produces an image matching that description. Text-to-image models began to be developed in the mid-2010s during the beginnings of the AI boom, as a result of advances in deep neural networks. In 2022, the outpu...

 

رضا الواعظ معلومات شخصية الميلاد سنة 1870   كركوك  الوفاة سنة 1963 (92–93 سنة)  بغداد  مواطنة العراق  الحياة العملية تعلم لدى محمد فيضي الزهاوي  المهنة فقيه،  وعالم مسلم،  وشاعر،  وكاتب  اللغات العربية،  والفارسية،  والتركية،  والكردية  تعديل...

Landform on South Georgia in the south Atlantic Central South Georgia: Cumberland Bay; Thatcher Peninsula with King Edward Cove (Grytviken); Allardyce Range with the summit Mt. Paget (NASA imagery). Thatcher Peninsulaclass=notpageimage| Thatcher Peninsula within South Georgia Thatcher Peninsula (54°17′S 36°32′W / 54.283°S 36.533°W / -54.283; -36.533) is a mountainous peninsula in north-central South Georgia. Its total area is approximately 5,640 hectares (13,90...

 

فترة إيدومعلومات عامةنسبة التسمية إيدو البداية 1603 النهاية 1868 المنطقة اليابان التأثيراتفرع من تاريخ اليابان فترة أزوتشي-موموياما فترة مييجي تعديل - تعديل مصدري - تعديل ويكي بيانات جزء من سلسلة مقالات حولتاريخ اليابان خط زمني عصر حجري 35000–14000 ق.م. فترة جومون 14000–400 ق. م. فترة �...

 

British economist (1883–1946) John Keynes and Keynes redirect here. For his father, see John Neville Keynes. For other uses, see Keynes (disambiguation). The Right HonourableThe Lord KeynesCB FBAKeynes in 1933Born(1883-06-05)5 June 1883Cambridge, EnglandDied21 April 1946(1946-04-21) (aged 62)Tilton, near Firle in Sussex, EnglandEducationEton CollegeKing's College, CambridgePolitical partyLiberalSpouse Lydia Lopokova ​(m. 1925)​ParentsJohn Neville Keynes...

List of people who were killed for being transgender. This list contains entries that may be out of scope and need to be evaluated for removal. Please help to clean it up by removing items that do not meet the inclusion criteria agreed upon on the talk page. (June 2020) This is a dynamic list and may never be able to satisfy particular standards for completeness. You can help by adding missing items with reliable sources.Part of a series onTransgender topics      Outl...

 

Rapid transit system in New York City New York City SubwayTop: A 1 train made up of ten R62A cars enters the 207th Street elevated station.Bottom: An E train made up of ten R160A cars enters the 42nd Street–Port Authority Bus Terminal station.OverviewOwnerCity of New YorkArea servedThe Bronx, Brooklyn, Manhattan, and QueensLocaleNew York CityTransit typeRapid transitNumber of lines36 lines[note 1]28 services(1 planned)[note 2]Number of stations472[1] (MTA total count...

 

1866 conflict between the Kingdom of Italy and the Austrian Empire Third Italian War of IndependencePart of the wars of Italian unification and the Austro-Prussian WarAustrian Uhlans charge Italian Bersaglieri during the Battle of Custoza. Painting by Juliusz KossakDate20 June – 12 August 1866(1 month, 3 weeks and 2 days)LocationLombardy–VenetiaResult Italian victoryTerritorialchanges Veneto, Friuli and Mantua annexed by ItalyBelligerents  Kingdom of Italy Supported by...

Early-20th-century Russian art movement Not to be confused with supremacism. Suprematist artKazimir Malevich's Suprematism, 1916–17, Krasnodar Museum of ArtLocationRussian EmpireSoviet UnionMajor figuresKazimir MalevichInfluencesCubism, Futurism, P. D. OuspenskyInfluencedBauhaus and De Stijl Suprematism (Russian: супремати́зм) is an early twentieth-century art movement focused on the fundamentals of geometry (circles, squares, rectangles), painted in a limited range of colors. T...

 

Halaman ini berisi artikel tentang film. Untuk prediksi metafisika dan kosmologi tentang 21 Desember 2012, lihat fenomena 2012. 2012Logo FilmSutradaraRoland EmmerichProduserRoland EmmerichMark GordonHarald KloserLarry J. FrancoUte EmmerichDitulis olehHarald KloserRoland EmmerichPemeran John Cusack Chiwetel Ejiofor Amanda Peet Thandie Newton Oliver Platt Danny Glover Woody Harrelson Penata musikHarald KloserThomas WanderJames Seymour Brett (musik tambahan)SinematograferDean SemlerPenyunt...

 

German television and film actress (born 1979) This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Katharina Schüttler – news · newspapers · books · scholar · JSTOR (February 2024) (Learn how and w...

1860–1917 Russian movement advocating negation and liberation This article is about the revolutionary philosophical movement in Russia, not to be confused with Political nihilism. For other uses, see Nihilism (disambiguation). Portrait of a nihilist student by Ilya Repin Part of a series onNihilism Category Disambiguation Schools Absurdism Agnosticism Atheism Buddhism Determinism Existentialism Nominalism Noneism Pessimism Presentism Postmodernism Reductionism Skepticism Solipsism Concepts ...

 

Pour les articles homonymes, voir Ferrell. Cet article est une ébauche concernant une actrice américaine. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les conventions filmographiques. Conchata FerrellConchata Ferrell en 2016.BiographieNaissance 28 mars 1943CharlestonDécès 12 octobre 2020 (à 77 ans)Sherman Oaks (Californie)Sépulture Forest Cemetery (d)Nom de naissance Conchata Galen FerrellNationalité américaineFormation Université MarshallUni...