Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
User:LUAでの単純なBrainfuckの実装を教えていただけますか。これにより、プログラムの端末入力が必要で、有用なエラーメッセージが表示されますか？ Assistant:確かに、LUAに実装された単純なBrainfuck通訳者です。

「 `` lua
function run（プログラム）
    ローカルデータ= {}
    ローカルptr = 1
    ローカルi = 1
    I <= #Programはそうします
        ローカルc =プログラム：sub（i、i）
        c ==“>”の場合
            ptr = ptr + 1
        データではない場合[Ptr]
            データ[ptr] = 0
        終わり
        elseif c ==“ <” then
        ptr = ptr -1
        データではない場合[Ptr]
            エラー（「境界のないポインター」）
        終わり
        elseif c ==“+”次に
            data [ptr] =（data [ptr]または0） + 1
        elseif c ==“  - ” then
            data [ptr] =（data [ptr]または0）-1
        elseif c ==“。 "それから
            io.write（string.char（data [ptr]または0））
        elseif c ==“、次に
            data [ptr] = io.read（1）：byte（）
        elseif c ==“ [” then
            データではない場合[ptr]またはdata [ptr] == 0
                ローカルカウント= 0
                繰り返す
                i = i + 1
                IFプログラム：sub（i、i）==“ [” then
                    count = count + 1
                elseifプログラム：sub（i、i）==“]”
                    count = count -1
            終わり
            カウント<0まで
            カウント〜= 0の場合
                エラー（「不均衡なブラケット」）
            終わり
        終わり
        elseif c ==“] "次に
            データ[ptr]とデータ[ptr]〜= 0の場合、
                ローカルカウント= 0
                繰り返す
                i = i -1
                プログラムの場合：sub（i、i）==“]”
                    count = count + 1
                elseifプログラム：sub（i、i）==“ [” then
                    count = count -1
                終わり
                カウント<0まで
                カウント〜= 0の場合
                    エラー（「不均衡なブラケット」）
                終わり
            終わり
        終わり
        i = i + 1
    終わり
終わり

ローカルプログラム= io.read（“*all”）
ローカルステータス、error_message = pcall（実行、プログラム）
ステータスではない場合は
    印刷（「エラー：」、error_message）
終わり
`` ` 
User:ありがとう！

### Response:

どういたしまして。助けてくれてうれしいです。さらなる支援をお気軽にお問い合わせください