Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def brainfuck(src):
- ip, dp = 0, 0
- mem = [0] * 30000
- ob, l = [], []
- for i in range(len(src)):
- if src[i] == '[':
- ob.append(i)
- if src[i] == ']':
- l.append([ob.pop(), i])
- l = sum(l, [])
- while ip < len(src):
- if src[ip] in '<>': dp += ' >'.find(src[ip])
- if src[ip] in '+-': mem[dp] = (mem[dp] + ' +'.find(src[ip])) % 256
- if src[ip] == '.': print chr(mem[dp])
- if src[ip] == ',': mem[dp] = ord(raw_input())
- if src[ip] == '[' and mem[dp] == 0: ip = l[l.index(ip) + 1]
- if src[ip] == ']' and mem[dp] != 0: ip = l[l.index(ip) - 1]
- ip += 1
- # Hello World!
- brainfuck('++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.')
- # rot13
- brainfuck('-,+[-[>>++++[>++++++++<-]<+<-[>+>+>-[>>>]<[[>+<-]>>+>]<<<<<-]]>>>[-]+>--[-[<->+++[-]]]<[++++++++++++<[>-[>+>>]>[+[<+>-]>+>>]<<<<<-]>>[<+>-]>[-[-<<[-]>>]<<[<<->>-]>>]<<[<<+>>-]]<[-]<.[-]<-,+]')
Add Comment
Please, Sign In to add comment