PythonでBrainfuckインタープリターを作成するにはどうすればよいですか？
PythonでのBrainfuck通訳者の1つの実装は次のとおりです。

`` python
"" "
Python Brainfuck通訳。
"" "

sysをインポートします
OSをインポートします


def create_jump_table（chars）：
    Jump_table = {}
    left_positions = []

    位置= 0
    charsのchars：
        char == '['の場合：
            left_positions.append（position）

        elif char == ']'：
            left = left_positions.pop（）
            右=位置
            Jump_table [左] =右
            Jump_table [右] =左
        位置 += 1

    jump_tableを返します


クラスセル（オブジェクト）：
    def __init __（self）：
        self.cells = [0]
        self.index = 0

    def get（self）：
        self.cells [self.index]を返す

    def set（self、n）：
        self.cells [self.index] = n

    def increment（self）：
        self.cells [self.index] += 1

    def decrement（self）：
        self.cells [self.index]> 0の場合：
            self.cells [self.index]  -  = 1

    def Left（self）：
        self.index> 0の場合：
            self.index- = 1

    def right（self）：
        self.index += 1
        self.index> = len（self.cells）の場合：
            self.cells.append（0）


def run（chars）：
    "" "実際の脳線通訳。" ""
    Jump_table = create_jump_table（chars）
    セル=セル（）

    位置= 0
    ポジション<len（chars）：
        char = chars [position]

        char == '>'の場合：
            cells.right（）

        elif char == '<'：
            Cells.Left（）

        elif char == '+'：
            cells.increment（）

        elif char == ' - '：
            cells.decrement（）

        elif char == '。'：
            os.write（1、chr（cells.get（）％256））

        elif char == '、'：
            cells.set（ord（os.read（0、1）[0]））

        elif char == '['およびcells.get（）== 0：
            position = jump_table [position]

        elif char == ']'およびcells.get（）！= 0：
            position = jump_table [position]

        位置 += 1


def remove_comments（chars）：
    codes = '<> []  - +、。'
    tmp = ""
    CharsのCの場合：
        コードのcの場合：
            TMP += c
    TMPを返します


def entry_point（argv）：
    試す：
        filename = argv [1]
    IndexErrorを除く：
        印刷「使用法：％s program.bf "％argv [0]
        返品1

    fp = os.open（filename、os.o_rdonly、0777）
    chars = ""
    本当です：
        read = os.read（fp、4096）
        Len（read）== 0の場合：
            壊す
        chars += read
    os.close（fp）

    run（remove_comments（chars））
    0を返します


def Target（*args）：
    #pylint：disable = unused-argument
    Entry_Pointを返します、なし


__name__ == "__main__"の場合：
    entry_point（sys.argv）
`` `