我是这种语言的新手,我正在scala中构建brainfuck解释器我面临一个问题,如果内存索引的值大于127,我应该打印什么?
如果值大于127,真正的脑筋解释器打印是什么?
例如
存储器[索引] = 178
什么时候 ”。” (打印命令)被称为什么应该打印itfpreter打印?
我在ideone.com上编译了一些代码,但它显示运行时错误
以下代码:
+++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++ [+ LT;。 - ]
答案 0 :(得分:2)
没有详尽的语言规范,但在大多数解释器中,递增一个保持其最大值的单元格(使用+命令)将使其达到最小值,反之亦然。
答案 1 :(得分:2)
.
的{{3}}只需调用putchar()
,但单元格中的unsigned char
值为:
...
case '.': putchar(a[p]); fflush(stdout); break;
...
这意味着字符128-255如何显示取决于终端使用的编码。如果我将我的设置为original implementation,则字符32-255如下所示:
在你的情况下,Scala对数字的toChar
方法听起来应该做你想做的事情;也就是说,打印扩展的ASCII可能只是奇怪。