feat: add op input, output, add, subtract

This commit is contained in:
2021-06-15 14:20:53 -04:00
parent 679729e28f
commit 618eb29422

View File

@@ -1,4 +1,5 @@
import sys import sys
from blessed import Terminal
# create memory buffer and pointer # create memory buffer and pointer
class Memory: class Memory:
@@ -8,7 +9,8 @@ class Memory:
@classmethod @classmethod
def get_pointer(cls) -> int: def get_pointer(cls) -> int:
pass # TODO add logic to roll around buffer
return cls.pointer
# define bf commands # define bf commands
class Operation: class Operation:
@@ -48,13 +50,15 @@ def perform_operation(operation: str) -> None:
elif operation == Operation.SHIFT_RIGHT: elif operation == Operation.SHIFT_RIGHT:
Memory.pointer += 1 Memory.pointer += 1
elif operation == Operation.INCREMENT: elif operation == Operation.INCREMENT:
pass Memory.buffer[Memory.get_pointer()] += 1
elif operation == Operation.DECREMENT: elif operation == Operation.DECREMENT:
pass Memory.buffer[Memory.get_pointer()] -= 1
elif operation == Operation.OUTPUT: elif operation == Operation.OUTPUT:
pass print(chr(Memory.buffer[Memory.get_pointer()]), end="")
elif operation == Operation.INPUT: elif operation == Operation.INPUT:
pass term = Terminal()
with term.cbreak():
Memory.buffer[Memory.get_pointer()] = ord(term.inkey())
if __name__ == "__main__": if __name__ == "__main__":
main() main()