Beatnik (programmeringsspråk)

Beatnik
Paradigm Stackorienterad
Designad av Cliff L. Biffle
Utvecklare Cliff L. Biffle
Dök först upp 2001 ; 22 år sedan ( 2001 )
OS Cross-plattform
Hemsida cliffle .com /esoterica /beatnik .html
Påverkad
l33t

Beatnik är ett enkelt stackorienterat esoteriskt programmeringsspråk av Cliff L. Biffle. Ett Beatnik-program består av valfri sekvens av engelska ord. Varje ord tilldelas poängen man skulle få för det i ett Scrabble -spel. Värdet på poängen avgör vilken funktion som utförs. Funktioner inkluderar att trycka in poängen för nästa ord i stapeln, testa stapeln och hoppa framåt eller bakåt i programmet och andra stackoperationer.

Översikt

Pålägg

Tolken läser orden i dikten och ignorerar interpunktion och blanksteg och nyrader . Vissa funktioner är ett ord, andra funktioner har ett argument (de är tvåordsfunktioner) . Tvåordsfunktioner beskrivs nedan i formen " 5,n ". Detta innebär att både ordet vars värde är 5 och nästa ord (vars värde är ' n ') läses.

Kommandon
Ordets värde Pseudokod Beskrivning
<5 NEJ Valfritt: Tolken kan håna dig
5,n trycka (n) Tryck på nästa ords värde på högen.
6 pop() Plocka upp ett nummer från högen och släng det.
7 push(pop()+pop()) Poppa två nummer, lägg till dem och tryck på resultatet.
8 push(input()) Mata in ett tecken och tryck på dess värde.
9 print(pop()) Poppa ett nummer och mata ut det som ett tecken.
10 push(pop()-pop()) Poppa två siffror, subtrahera det första som poppade från det andra poppade och tryck på resultatet.
11 a = pop(); b = pop(); push(a); push(b) Slå två nummer, byt ut dem och tryck tillbaka dem.
12 a = pop(); push(a); push(a) Slå ett nummer och tryck på det två gånger.
13,n if(top()==0) jump(+n) Poppa en siffra och hoppa framåt n (faktiskt n+1 ) ord om siffran är noll.
14,n if(top()!=0) jump(+n) Poppa en siffra och hoppa över n (faktiskt n+1 ) ord om siffran inte är noll.
15,n if(top()==0) jump(-n) Pop en siffra och hoppa tillbaka n ord om siffran är noll.
16,n if(top()!=0) jump(-n) Pop en siffra och hoppa tillbaka n ord om siffran inte är noll.
17 utgång() Stoppa programmet.
18-23 NEJ Valfritt: kan håna dig, men bara om den har haft en dålig dag.
>23 Genererar "Beatnik-applåder".
Legend
Pseudokod Menande
NEJ Ingen operation
pop() ta bort värdet från toppen av stapeln och returnera det
push(x) placera x på stapeln
print(x) skriv ut tecknet x
inmatning() läsa en karaktär från användaren. Blockerar tills tecknet läses.
; separerar flera påståenden. De körs i ordning.
if(uttryck) uttalande om och endast om uttrycket är sant, kör påståendet
hoppa(x) flytta läsplatsen framåt eller bakåt med x ord.

Här är skrabbelbokstavsvärdena som referens.

Exempel

Hej världen

Ett " Hello World "-exempel på Beatnik-språket.

Svävar, larksporrar, regnar. Otydlighet. Mario morrar (sköterskor, naturer, regler...) försöker sinnligt mål igen. Lantbruksföretagens kostnader par lain rep (mopper) bilars kärnor. Tuner ambitiöshet. Fladdra. Dour begravning. Legals sundare kinking förfaller. Boet glimmar. Rädsla, bundna terminer, dourer vanliga tumör grymtande förändra atonal dräkt försöker skuldra mynt. Smaka på en stor lustighet. Stile bedövar gad undergrupp gram banor. Draftee försäkringsgivare väg: cuckold trubbig, strut soligare. Lita på panteism: arty gain-grupper (genies, pan) titrar, tjats, närmar sig. Blufferband? Tom kiselalger! Feed antes ankles ague? Remit struma gikt! Utan tvivel kommer alohas med rivna tår att matta gängens antennstjärtars slussar; Gusset tar slut! Snyggare gloria! Ange abstruse utvilad loser öl kille louts. Gardin strövar lasso dam lupus stunt. Skolkbjörnar animera talon. Hela torte ursprungligen timer. Gör om stilt gobs. Uter kentaurer; Brådskande stjärnor; Ockerare (utspädda); Näsor; Ben; Brig sonar väghyvlar; Redskapsslam; Lattar. Fret mordbrand veterinär rader. Atlas grymtade: "Pates, slussar, svavelhaltiga herrgårdar som kopplar pinnar, släpvagnar, rep... orättvist! Omedelbart snott!" Släden vilade tills matstället misslyckades. Ergs styrka Indrag spotter Euros enter egg. Nyfikna anställningar. Torus snittar. Sarong-bålen tjänar grymma lags den rullade. Ingenjör: "Radera handväska - förena ratificeringen!" åring oaten åsnor osålda, säkrare snabba saltest tags SMÖRDA TIBIA LUGS REWIRING TOALETTER anjon festers raring redigera epiloger. DIRGE ROTOR. linnet åring. GÖRA STÖVOR. Ironed goon listar högsta andrahandsuthyrning -- upplopp, häftig debut. Ovärdigt nog, löpares kost ångrar soluppgången ensamvarg. Erodera mobben, smartare växlare! Låntagare på styltor sliter på pärlatoll och riskerar hattarnas ändar. Återbind sittare. Toga epistlar -- rå ister. (Pager handväska dons souls.) glob title en kuriosa anlitade riter kasta lödder lada fett strut arktisk varv padda såvida idlers svål stylta region land BRODDIDDER SULTANA GUTS gälplacering lutar fina sporrar testar handskar väcks asp Hål! Mullvadar! (Sår!) Hygienister! Ärr! (Asses!) Lukter stavar sällsynt. Ungar sjunger omedelbart i parse godbitar. Harts. Ohjälpsamma sisal tunnland. Lutning berättade. MALENESS PASTA LAB. "Infirmary vinstockar," ringde analfabeter (bönor). Kolofonium surar, förolämpar truss abalones, spikade regler, spiralformade atlaser. Kära ombyggnad svider mar hyr. Sunless shiner orb (fånig idol.) Clarity disses senna. Vagabonds sauterade; sloes utförde valacker. Ändra efter radiell läppsektionering av tandköttet. Saint Towellings. Större aeons telefon stolid char, kompis! Båtar Dean övergav, listor, tonfisk, terrarier - förenade, spårade. Naken pagod bryr sig.

Se även

externa länkar