With whitespace, that’s something like (according to this):
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;
}
Given JS is a C style language, surely some of these tricks would port fine, to reduce your byte count even further? Of course, at the sake of readability – yours is still quite readable. But, if golfing is the goal…
Thanks for the code. Have already seen these minimal implementations; I am trying to push hard on minimizing while keeping code readable. I liked the recursive approach here; still looking at what are things I can pickup to minimize code even further, or what are the things that I can write to keep code readable while uglifier can compress it hard.
I don’t want to burst your bubble, but there are < [200 byte](http://j.mearie.org/post/1181041789/brainfuck-interpreter-in-2-lines-of-c for one.) implementations in C.
With whitespace, that’s something like (according to this):
Given JS is a C style language, surely some of these tricks would port fine, to reduce your byte count even further? Of course, at the sake of readability – yours is still quite readable. But, if golfing is the goal…
Thanks for the code. Have already seen these minimal implementations; I am trying to push hard on minimizing while keeping code readable. I liked the recursive approach here; still looking at what are things I can pickup to minimize code even further, or what are the things that I can write to keep code readable while uglifier can compress it hard.