changeset 4719:d9b343af16ab

<mroman> fetch http://codepad.org/xVQWbA7P/raw.py
author HackBot
date Thu, 31 Jul 2014 18:02:52 +0000
parents dd806b4cc1bf
children 26d047c4a058
files raw.py
diffstat 1 files changed, 48 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/raw.py	Thu Jul 31 18:02:52 2014 +0000
@@ -0,0 +1,48 @@
+#!/usr/bin/python
+import sys
+if(len(sys.argv) > 1):
+  code = sys.argv[1]
+else:
+ print "No, no...."
+ quit()
+
+i = 0
+l = len(code)
+stack = []
+ac = 0
+regs = [0,0,0]
+while i < l:
+ c = code[i]
+ if(c == '('):
+  stack.append(i)
+ elif(c == ')'):
+  if(ac != 0):
+    if(len(stack) > 0):
+      i = stack.pop()
+      continue
+    else:
+      print "No, no, no...."
+      quit()
+ elif(c == '+'):
+   ac += 1
+ elif(c == '-'):
+   ac -= 1
+ elif(c == 'O'):
+   print ac
+ elif(c == 'o'):
+   print chr(ac % 256)
+ elif(c == '*'):
+   ac = ac * 2
+ elif(c == '0'):
+   ac = regs[0]
+ elif(c == '1'):
+   ac = regs[1]
+ elif(c == '2'):
+   ac = regs[2]
+ elif(c == 'a'):
+   regs[0] = ac
+ elif(c == 'b'):
+   regs[1] = ac
+ elif(c == 'c'):
+   regs[2] = c
+ i += 1