Implementieren von Brainfuck-Loops in einem Interpreter

ch möchte einen Brainfuck-Interpreter in meiner frisch erstellten Programmiersprache erstellen, um zu beweisen, dass er vollständig is

Now, alles ist soweit klar <>+-,.) - außer einer Sache: Die Schleifen []). Ich gehe davon aus, dass Sie die (extrem harte) BF-Syntax von hier an kennen:

Wie implementiere ich die BF-Schleifen in meinem Interpreter?

Wie könnte der Pseudocode aussehen? Was soll ich tun, wenn der Interpreter einen Schleifenanfang erreicht [) oder ein Schleifenende ])?

Prüfen, ob die Schleife fortgesetzt oder gestoppt werden soll, ist nicht das Problem current cell==0), aber

ann und wo muss ich prüfeWie kann man wissen, wo sich der Schleifenanfang befindet?Wie gehe ich mit verschachtelten Schleifen um?

Als Schleifen verschachtelt werden können, kann ich nicht einfach eine Variable verwenden, die die Startposition der aktuellen Schleife enthält.

Ich habe sehr kleine BF-Interpreter gesehen, die in verschiedenen Sprachen implementiert wurden. Ich frage mich, wie sie es geschafft haben, die Schleifen zum Laufen zu bringen, aber ich kann es nicht herausfinden.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage