七行プログラミング part5

このエントリーをはてなブックマークに追加
487デフォルトの名無しさん
brainfuckのインタプリタを作ってみた。

#include <stdio.h>
unsigned char M[30000],*m=M;char P[30000],*p=P;R(c){for(;c&&p>=P;*--p==']'?c++:
*p=='['&&c--);}main(i,v)char**v;{FILE*f;for(i=30000;i;M[--i]=0);if(f=fopen(v[1]
,"rt")){while(1+(*p++=getc(f)));p=P-1;while(1+*++p)*p=='>'?*++m:*p=='<'?*--m:*p
=='+'?++*m:*p=='-'?--*m:*p=='.'?putchar(*m):*p==','?*m=getchar():*p==']'&&*m&&R
(1);}}