rust实战编译器
| 字符 | 含义 |
| > | 指针加一 |
| < | 指针减一 |
| + | 指针指向的字节的值加一 |
| - | 指针指向的字节的值减一 |
| . | 输出指针指向的单元内容(ASCⅡ码) |
| , | 输入内容到指针指向的单元(ASCⅡ码) |
| [ | 如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处 |
| ] | 如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处 |
[ 和 ] 的说明
- 就是我们知道的循环,如果执行到
[,当前指针指向的地址(一个字节大小)存储的值是0,就跳出循环,也就是去执行]后面的一个指令,[]包起来的是一个循环. - 等执行到了
],如果指针指向的地址(一个字节大小)存储的值不是0,那么重新开始以此循环, 跳到[后面的一个指令
打印Hello World!1
我们需要写的代码,上网搜一搜就有
Important
- 我们写的上面的代码, 经过brainfuck编译器的编译,就是对代码进行了解释编译成机器语言,实现在屏幕输出Hello World!
- 所以现在我们就去实现编译器