human
LUAでの単純なBrainfuckの実装を教えていただけますか。これにより、プログラムの端末入力が必要で、有用なエラーメッセージが表示されますか？
gpt
```
-- Brainfuck interpreter in Lua

-- Read the Brainfuck program from the command line
local program = arg[1]

-- The Brainfuck memory
local memory = {}
for i = 1, 30000 do
    memory[i] = 0
end

-- The pointer to the current memory cell
local pointer = 1

-- The Brainfuck program counter
local pc = 1

-- Loop stack for tracking '[' and ']'
local loopStack = {}

-- Loop through the Brainfuck program
while pc <= #program do
    local c = program:sub(pc, pc)

    if c == '>' then
        pointer = pointer + 1
    elseif c == '<' then
        pointer = pointer - 1
    elseif c == '+' then
        memory[pointer] = memory[pointer] + 1
    elseif c == '-' then
        memory[pointer] = memory[pointer] - 1
    elseif c == '.' then
        io.write(string.char(memory[pointer]))
    elseif c == ',' then
        memory[pointer] = io.read(1):byte()
    elseif c == '[' then
        if memory[pointer] == 0 then
            local loopCounter = 1
            while loopCounter > 0 do
                pc = pc + 1
                local nextChar = program:sub(pc, pc)
                if nextChar == '[' then
                    loopCounter = loopCounter + 1
                elseif nextChar == ']' then
                    loopCounter = loopCounter - 1
                end
                if pc > #program then
                    error("Unmatched '['")
                end
            end
        else
            table.insert(loopStack, pc)
        end
    elseif c == ']' then
        if #loopStack == 0 then
            error("Unmatched ']'")
        else
            if memory[pointer] ~= 0 then
                pc = loopStack[#loopStack]
            else
                table.remove(loopStack, #loopStack)
            end
        end
    end

    pc = pc + 1
end

-- Check for unmatched '['
if #loopStack > 0 then
    error("Unmatched '['")
end
```
human
メッセージをフォーマットした方法に何か問題があると思いますか？
gpt
はい、前のメッセージのフォーマットについてお詫び申し上げます。私が提供したLUAコードは適切にフォーマットされておらず、読みにくいかもしれません。これは、適切なフォーマットを備えたLUAでのBrainfuck Interpreterの実装です。

「 `` lua
-LuaのBrainfuck通訳

 - コマンドラインからBrainFuckプログラムをお読みください
ローカルプログラム= arg [1]

 - 頭脳ファックメモリ
ローカルメモリ= {}
i = 1、30000の場合
    メモリ[i] = 0
終わり

 - 現在のメモリセルへのポインター
ローカルポインター= 1

 - ブレインファックプログラムカウンター
ローカルPC = 1

 - 追跡するためのループスタック['と']
ローカルループスタック= {}

-BrainFuckプログラムをループします
PC <= #Programはそうします
    ローカルc =プログラム：sub（pc、pc）

    c == '>'の場合
        pointer = pointer + 1
    elseif c == '<' then
        pointer = pointer -1
    elseif c == '+'次に
        メモリ[pointer] =メモリ[ポインター] + 1
    elseif c == ' - ' then
        メモリ[pointer] =メモリ[ポインター] -1
    elseif c == '。'それから
        io.write（string.char（memory [pointer]））
    elseif c == '、'次に
        メモリ[pointer] = io.read（1）：byte（）
    elseif c == '[' then
        メモリ[pointer] == 0の場合
            ローカルループカウンター= 1
            ループカウンター> 0がします
                PC = PC + 1
                ローカルNextchar =プログラム：sub（pc、pc）
                nextchar == '['の場合
                    ループカウンター=ループカウンター + 1
                elseif nextchar == ']'次に
                    ループカウンター=ループカウンター-1
                終わり
                PC> #programの場合
                    エラー（ "Unmacted '['"）
                終わり
            終わり
        それ以外
            Table.insert（ループスタック、PC）
        終わり
    elseif c == ']'次に
        #loopstack == 0の場合
            エラー（ "Unmacted ']'"）
        それ以外
            メモリ[pointer]〜= 0の場合
                PC = loopstack [#loopstack]
            それ以外
                table.remove（loopstack、#loopstack）
            終わり
        終わり
    終わり

    PC = PC + 1
終わり

 - 比類のない '['をチェックしてください
#loopstack> 0の場合
    エラー（ "Unmacted '['"）
終わり
`` `

このコードは、より読みやすく、理解しやすくする必要があります。繰り返しになりますが、以前の回答のフォーマット問題についてお詫び申し上げます。