#cell size = infinite #assumes pointer does not go < past 0 #assumes no negative values are ever put into cells #assumes balanced [] out = "a-=1;\nb-=1;\n" gets(nil).scan(/./){ e=case $& when '+' : 'A-=b' when '-' : 'A-=1' when '.' : 't-=t;t-=A;o-=t' when ',' : 't-=t;t-=i;A-=A;A-=t' when '<' : 'p-=1' when '>' : 'p-=b' when '[' : "n-=n;v-=v;n-=A;v-=n;s-=s;s-=p;p-=p;p-=1;A-=A;A-=[;p-=v;c-=A;p-=p;p-=s" ## when ']' : "c-=];p-=p;p-=s" ## else next end out<