Guest User

Untitled

a guest
Jan 21st, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. def brainfuck(src):
  2. ip, dp = 0, 0
  3. mem = [0] * 30000
  4. ob, l = [], []
  5. for i in range(len(src)):
  6. if src[i] == '[':
  7. ob.append(i)
  8. if src[i] == ']':
  9. l.append([ob.pop(), i])
  10. l = sum(l, [])
  11. while ip < len(src):
  12. if src[ip] in '<>': dp += ' >'.find(src[ip])
  13. if src[ip] in '+-': mem[dp] = (mem[dp] + ' +'.find(src[ip])) % 256
  14. if src[ip] == '.': print chr(mem[dp])
  15. if src[ip] == ',': mem[dp] = ord(raw_input())
  16. if src[ip] == '[' and mem[dp] == 0: ip = l[l.index(ip) + 1]
  17. if src[ip] == ']' and mem[dp] != 0: ip = l[l.index(ip) - 1]
  18. ip += 1
  19.  
  20. # Hello World!
  21. brainfuck('++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.')
  22.  
  23. # rot13
  24. brainfuck('-,+[-[>>++++[>++++++++<-]<+<-[>+>+>-[>>>]<[[>+<-]>>+>]<<<<<-]]>>>[-]+>--[-[<->+++[-]]]<[++++++++++++<[>-[>+>>]>[+[<+>-]>+>>]<<<<<-]>>[<+>-]>[-[-<<[-]>>]<<[<<->>-]>>]<<[<<+>>-]]<[-]<.[-]<-,+]')
Add Comment
Please, Sign In to add comment