MCPcopy Create free account
hub / github.com/ActiveState/code / run

Function run

recipes/Python/578366_The_Normal_Cow/recipe-578366.py:88–200  ·  view source on GitHub ↗
(mem, cod, ins)

Source from the content-addressed store, hash-verified

86 ins = run(mem, cod, ins)
87
88def run(mem, cod, ins):
89 global REG
90 # INS - 0 - moo
91 if ins == 0:
92 cod.dec()
93 cod.dec()
94 # INIT
95 level = 1
96 temp = cod.get()
97 if temp == HLP['moo']:
98 level += 1
99 elif temp == HLP['MOO']:
100 level -= 1
101 while level:
102 # LOOP
103 cod.dec()
104 temp = cod.get()
105 if temp == HLP['moo']:
106 level += 1
107 elif temp == HLP['MOO']:
108 level -= 1
109 return HLP['MOO']
110 # INS - 1 - mOo
111 elif ins == 1:
112 mem.dec()
113 cod.inc()
114 return cod.get()
115 # INS - 2 - moO
116 elif ins == 2:
117 mem.inc()
118 cod.inc()
119 return cod.get()
120 # INS - 3 - mOO
121 elif ins == 3:
122 temp = mem.get()
123 assert temp != 3
124 if 0 <= temp < len(INS):
125 return run(mem, cod, temp)
126 else:
127 raise SystemExit
128 # INS - 4 - Moo
129 elif ins == 4:
130 temp = mem.get()
131 if temp:
132 sys.stdout.write(chr(temp & 0x7F))
133 else:
134 char = get_char()
135 mem.set(ord(char) & 0x7F)
136 cod.inc()
137 return cod.get()
138 # INS - 5 - MOo
139 elif ins == 5:
140 mem.set(mem.get() - 1)
141 cod.inc()
142 return cod.get()
143 # INS - 6 - MoO
144 elif ins == 6:
145 mem.set(mem.get() + 1)

Callers 1

engineFunction · 0.70

Calls 8

strFunction · 0.85
get_charFunction · 0.70
get_intFunction · 0.70
decMethod · 0.45
getMethod · 0.45
incMethod · 0.45
writeMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected