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 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
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.