Update main.py

This commit is contained in:
Mateusz779 2022-04-03 17:44:56 +02:00
parent 034f9320e1
commit 4d6d22faa3

19
main.py
View File

@ -4,7 +4,10 @@ code = ""
def main(): def main():
"""Main function""" """
Main function
"""
global code, cell, pointer global code, cell, pointer
code = input("Enter the code: ") code = input("Enter the code: ")
print("\n\n") print("\n\n")
@ -15,17 +18,23 @@ def main():
def interpreter(znak, i): def interpreter(znak, i):
"""Brainfuck interpreter """
Brainfuck interpreter
> increment the data pointer (to point to the next cell to the right). > increment the data pointer (to point to the next cell to the right).
< decrement the data pointer (to point to the next cell to the left). < decrement the data pointer (to point to the next cell to the left).
+ increment (increase by one) the byte at the data pointer. + increment (increase by one) the byte at the data pointer.
- decrement (decrease by one) the byte at the data pointer. - decrement (decrease by one) the byte at the data pointer.
. output the byte at the data pointer. . output the byte at the data pointer.
, accept one byte of input, storing its value in the byte at the data pointer. , accept one byte of input, storing its value in the byte at the data pointer.
[ if the byte at the data pointer is zero, then instead of moving the instruction pointer forward to the next command, [ if the byte at the data pointer is zero, then instead of
moving the instruction pointer forward to the next command,
jump it forward to the command after the matching ] jump it forward to the command after the matching ]
] if the byte at the data pointer is nonzero, then instead of moving the instruction pointer forward to the next command, ] if the byte at the data pointer is nonzero, then instead of moving
jump it back to the command after the matching [.""" the instruction pointer forward to the next command,
jump it back to the command after the matching [.
"""
global code, cell, pointer global code, cell, pointer
match znak: match znak:
case ">": case ">":