Brainfuck Þýðendur | Tenglar | LeiðsagnarvalJuerd WaalboerBrainfuck interpreter with integrated debugger (IDE) for Windows
Listar yfir forritunarmálHeimulleg forritunarmálForritunarmál
heimullegt forritunarmálTuring-samhæftUrban Müllerárið1993minnishólfbendirminnisfylkinuþýðendurrauntímaPerlJuerd Waalboer
Brainfuck
Jump to navigation
Jump to search
Brainfuck, einnig kallað brainf*ck, brainf*** eða BF, er lítið heimullegt forritunarmál sem er Turing-samhæft, en það var búið til af Urban Müller í kringum árið 1993.
Í Brainfuck forritunarmálinu eru eingöngu átta skipanir, og hver þeirra er táknuð með einu tákni. Málið er þannig hannað að það eru 216=65536displaystyle 2^16=65536 minnishólf sem hvert getur geymt tölu á bilinu 0 til 255. Þá er einn bendir sem segir hvaða stak í minnisfylkinu er verið að benda á. Skipanirnar eru þannig:
> | Leggja einn við bendinn (færa um eitt minnishólf til hægri) |
< | Draga einn frá bendinum (færa um eitt minnishólf til vinstri) |
+ | Leggja einn við gildi núverandi minnishólfs |
- | Draga einn frá gildi núverandi minnishólfs |
[ | Hefja endurtekningu sem hættir er núverandi stak nær núlli. |
] | Ljúka endurtekningu |
, | Lesa inn eitt bæti af gögnum í valið minnishólf. |
. | Skrifa út eitt bæti frá völdu minnishólfi. |
Þýðendur |
Brainfuck þýðendur eru mjög einfaldir í notkun. Dæmi um rauntíma Brainfuck túlk skrifaður í Perl af Juerd Waalboer:
#!/usr/bin/perl -s # |bf; bf $file; bf -e=,
$|++;undef$/;$_=$e||<>;tr/-+,.[]<>//cd;for$
a(qw%]} [while($p[$p]){ -$p[$p]-- +$p[$p]++
,$p[$p]=ord(getc) .print(chr($p[$p])) <$p--
>$p++%)s/Q$substr$a,0,1/$substr$a,1
;/geval; # by Juerd <juerd@juerd.nl>, 2001
Tenglar |
- Brainfuck interpreter with integrated debugger (IDE) for Windows
Flokkar:
- Listar yfir forritunarmál
- Heimulleg forritunarmál
- Forritunarmál
(RLQ=window.RLQ||[]).push(function()mw.config.set("wgPageParseReport":"limitreport":"cputime":"0.016","walltime":"0.217","ppvisitednodes":"value":30,"limit":1000000,"ppgeneratednodes":"value":0,"limit":1500000,"postexpandincludesize":"value":0,"limit":2097152,"templateargumentsize":"value":0,"limit":2097152,"expansiondepth":"value":2,"limit":40,"expensivefunctioncount":"value":0,"limit":500,"unstrip-depth":"value":0,"limit":20,"unstrip-size":"value":336,"limit":5000000,"entityaccesscount":"value":0,"limit":400,"timingprofile":["100.00% 0.000 1 -total"],"cachereport":"origin":"mw1238","timestamp":"20190828171534","ttl":2592000,"transientcontent":false););"@context":"https://schema.org","@type":"Article","name":"Brainfuck","url":"https://is.wikipedia.org/wiki/Brainfuck","sameAs":"http://www.wikidata.org/entity/Q244627","mainEntity":"http://www.wikidata.org/entity/Q244627","author":"@type":"Organization","name":"Contributors to Wikimedia projects","publisher":"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":"@type":"ImageObject","url":"https://www.wikimedia.org/static/images/wmf-hor-googpub.png","datePublished":"2004-09-06T20:29:58Z","dateModified":"2013-03-07T18:07:28Z"(RLQ=window.RLQ||[]).push(function()mw.config.set("wgBackendResponseTime":96,"wgHostname":"mw1274"););