Hello i made this program which interprets brainf***
But i don't understand why it doesn't ends....and also it doesn't print
anything
import sys
cell=[0] * 30000
code_pointer=0
cell_pointer=0
close_brace_pos=0
open_brace_pos=0
bf=raw_input("Input bf program:")
while (code_pointer<len(bf)):
c=bf[code_pointer]
if c=='.':
sys.stdout.write(cell[cell_pointer])
code_pointer+=1
elif c==',':
cell[cell_pointer]=sys.stdin.read(1);
code_pointer+=1
elif c=='>':
cell_pointer+=1
code_pointer+=1
elif c=='<':
cell_pointer-=1
code_pointer+=1
elif c=='+':
cell[cell_pointer]+=1
code_pointer+=1
elif c=='-':
cell[cell_pointer]-=1
code_pointer+=1
elif c=='[':
if cell[cell_pointer]>0:
code_pointer+=1
else:
code_pointer=close_brace_pos+1
elif c==']':
close_brace_pos=code_pointer
code_pointer=open_brace_pos
else:
code_pointer+=1
For those of you who don't understand brainfuck its a very simple 8
instruction language
http://en.wikipedia.org/wiki/Brainfuck
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor