Shakespeare (programmeringsspråk)

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 24 februari 2021; verifiering kräver 1 redigering .

Shakespeare  är ett esoteriskt programmeringsspråk utvecklat av John Aslaud och Karl Hasselström. Shakespeare-språket är utformat för att dölja programkällkoden som Shakespeares pjäser , precis som programmeringsspråket Chef förkläder dem som recept .

Listan med karaktärer i början av programmet tjänar till att meddela antalet stackar som bär namn som "Romeo" och "Juliet". Dessa hjältar kommunicerar med varandra - och utför därigenom I/O-operationer , de kan ställa frågor (analogt med en villkorlig operatör ). I allmänhet är programmeringsmodellen mycket lik assemblerspråk , men betydligt mer utförlig.

Shakespeare programmering

Epigraf

Det första stycket (från början av dokumentet till den första tomma raden) i programmet är en epigraf och betraktas av kompilatorn som en kommentar .

Karaktärer i pjäsen

Detta är avsnittet där variabler deklareras . Varje variabel kan bara innehålla ett heltal, och dess deklaration ser ut så här:

namn, beskrivning

Här Name är namnet på variabeln, och Description (variabelbeskrivning) ignoreras av kompilatorn.

Akter och scener

Delarna av källkoden på Shakespeare kallas Acts ( Act), som är uppdelade i Scener ( Scene). Varje akt och scen är numrerade med romerska siffror och fungerar som etiketter för GOTO. All text efter ett kolon betraktas som en kommentar och är formaterad så här:

Akt I: Hamlets förolämpningar och smicker. Scen I: Förolämpningen av Romeo.

Enter, Exit och Exeunt

Innan karaktärerna kan delta måste de först gå in på scenen. För att placera en karaktär på scenen måste den anropas med kommandot Enter. Endast två karaktärer kan vara på scenen samtidigt. I övrigt är det inte klart med vem kommunikationen sker. För att karaktären ska lämna scenen måste du kontakta honom med kommandot Exit. Om akten tar slut, eller om du bara behöver köra bort några tecken, måste du använda kommandot Exeunt. Följande format används:

[Enter Juliet] [Skriv in Romeo och Julia] [Avsluta Romeo] [Exeunt Romeo och Julia] [Exeunt]

" Hello, World "-program på Shakespeare

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. Prince 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]

Lista över reserverade ord

Enligt Perl-modulen Lingua::Shakespeare

Adjektiv Negativa

dålig, feg, förbannad, förbannad, smutsig, äcklig, osmaklig, dammig, ond, fet, tjocknjurig, faderlös, ful, hårig, halvvettig, hemsk, hemsk, infekterad, ljugande, eländig, missbrukad, sipprar, ruttet, illaluktande, snorig, förlåt, stinkande, uppstoppad, dum, vidrig, skurkaktig, orolig

Neutral

stor, svart, blå, blåaste, bottenlös, lurvig, grön, hård, enorm, stor, liten, normal, gammal, lila, röd, lantlig, liten, liten, vit, gul

Positiv

fantastisk, vacker, blommande, djärv, modig, charmig, tydligast, listig, söt, läcker, broderad, vacker, fin, mild, gyllene, god, stilig, glad, frisk, ärlig, härlig, kärleksfull, mäktig, ädel, fridfull, vacker, snabb, stolt, rödast, rik, slät, solig, söt, sötast, pålitlig, varm

Substantiv Negativa

Helvete, jävel, tiggare, blåsa, torsk, feg, förbannelse, död, djävul, drag, svält, flirtgäl, get, hat, svin, hund, igel, lögn, gris, pest, svält, padda, krig, varg

Neutral

djur, moster, bror, katt, chihuahua, kusin, ko, dotter, dörr, ansikte, far, kamrat, barnbarn, farfar, mormor, barnbarn, hår, hamster, häst, lampa, lykta, mistel, måne, morgon, mor, brorson, systerdotter, näsa, handväska, väg, roman, syster, himmel, son, ekorre, stenmur, sak, stad, träd, farbror, vind

Positiv

Himmel, kung, herre, ängel, blomma, lycka, glädje, plommon, sommardag, hjälte, ros, kungarike, ponny

Länkar