Beatnik (programmeringsspråk)
Paradigm | Stackorienterad |
---|---|
Designad av | Cliff L. Biffle |
Utvecklare | Cliff L. Biffle |
Dök först upp | 2001 |
OS | Cross-plattform |
Hemsida | |
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.
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". |
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
- Officiell hemsida
- endforward beatnik.net En .net (MSIL) beatnik kompilator [ permanent död länk ]
- En Javascript-tolk
- En Go (Golang) tolk