Gammal kod jag hittade på datorn – Visual BrainF*ck

Av alla esoterska programmeringsspråk som konstruerats, hör BrainFuck nog till de mer udda. Urban Müller skrev det 1993 för att testa hur simpelt man kunde göra ett språk som ändå är Turing-komplett. Som namnet antyder är koden inte helt lätt att skriva eller läsa.

Ett BrainF*ck-program använder sig av en lång array av heltal som man kan göra olika operationer på. Själva språket består av endast 8 olika kommandon:

< Minskar aktuell position i arrayen med 1
> Ökar aktuell position i arrayen med 1
+ Ökar värdet vid aktuell position med 1
Minskar värdet vid aktuell position med 1
. Skriver ut värdet vid aktuell position i arrayen som ett ASCII-tecken
, Läser in ett tecken till aktuell position i arrayen
[ Om värdet vid aktuell position är 0, hoppa till nästa matchande ’]’
] Om värdet vid aktuell position inte är 0, hoppa tillbaka till matchande ’[’

Minimalistiskt så det förslår, alltså. Allt som inte är något av dessa 8 tecken räknas som en kommentar. Ett ”Hello, World”-program kan se ut så här:

Klart som korvspad, eller hur?

Det gamla projekt jag hittade på datorn är ett IDE som jag döpte till Visual Brainf*ck, eller VB (på den här tiden, 2001, var Visual Basic 6 mitt främsta hatobjekt). Det är skrivet i C++ med MFC. Koden till kompilatorn lånade jag från Ben Olmsteads kompilator bfcc, och de dockande fönstren ärver från en kontroll av Cristi Posea.

Testprogram

test.b Skriver ut en bit av ascii-tabellen.
quine.b Ett Quine-program som jag hittade någonstans. Skriver ut sig själv till konsolen.
hello.b Hello, World
99brainf.b Ben Olmsteads version av 99 Bottles of Beer

Windowsprogram
Källkod

Det här inlägget postades i Uncategorized och har märkts med etiketterna , . Bokmärk permalänken.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *