我写了一个brainfuck ide的alpha版本。我编写了自己的解释器,尽管我的老师在代码中的循环方面提供了很多帮助,因为我很难以“IT 方式”理解它。现在对于我的报告,我需要解释器算法的状态图,他如何处理每个字符。
我想出了下图,唯一缺少的是解释器如何处理循环。我看了老师几乎自己写的代码,但我不明白。我希望你能在这里指出我正确的方向,我不想要一个完整的答案,只是一些旁注在代码中遇到 [ 或 ] 时正在做什么。
codeZeiger = codePointer(在代码中移动的指针)
memoryZeiger = memoryPointer(在内存堆栈中移动的指针)
memory = 内存堆栈
code = 作为字符串的代码 oject
i = interpre() 方法的计数器(单个字符从字符串中读取,然后通过 switch 语句进行解析,其状态图如下所示)