4 ms·
Brainfuck interpreter in 160 bytes of C
- ramki 16y agoThat is more than two lines of code obfuscated into two lines... but i like his idea to make this tiny enough to fit in a tweet.
- pinksoda 16y ago140 is the limit for tweets so that they can fit your username.
- dmoney 16y ago// with whitespace: s[999], *r=s, *d, c; main(a, b) { char *v=1[d=b]; for(;c = *v++ % 93;) for(b = c%7 ? a && (c & 17 ? c & 1 ? (*r -= c - 44) :(r += c - 61) :c & 2 ? putchar(*r) :(*r = getchar()) ,0) :v; b&&c | a * *r; v=d) main(!c,&b-1); d = v; }
- deleted 16y ago[deleted]
- __bjoernd 16y agoI actually prefer readable code, but I accept that others appreciate small size as well.
- lifthrasiir 16y agoI'm an original author of the code and I made it out of curiosity, not for other reasons. I also prefer readable (and concise) code in general, but shortening the code is a very different matter -- it is a sport (sometimes called code golfing) and not necessarily connected to good programming skills. And note that I have spent (and had to spend) only 24 hours to do it: code golfing is very time-consuming and 24 hours are often short for this standard. ;) For the Brainfuck interpreter, I was also motivated by this StackOverflow question: http://stackoverflow.com/questions/1053931/code-golf-shortest-turing-complete-interpreter http://stackoverflow.com/questions/1053931/code-golf-shortes... In this sense it does have a practical implication to gauge the minimal possible Turing-complete language implementation.
- jhuckestein 16y agoWho cares about tweets? It fits a text.
- wglb 16y agoCool. I have been programming in C for a while, and can't recall ever seeing main called recursively. Neat.
- coldnose 16y agoYou broke my record 191 bytes! http://coldnose-sloth.livejournal.com/1024.html http://coldnose-sloth.livejournal.com/1024.html