30
编写交互式Deadfish解释器
Deadfish是一个带有四个命令的玩笑“编程语言”。由于Esolang页面有点矛盾,并且该页面上的解释器工作原理并不完全相同,因此您应该实现以下变体: 规格 有一个累加器,其大小至少为 16位,允许更多但不允许更少。不需要支持负数。0程序启动时就是累加器。 以下是两个包含四个命令的集合,您的程序必须同时支持两个命令。 标准死鱼│XKCD变体│含义 ────────────────┼────┼────────┼ ────────────────────────── i│x│累加器 d│d│减量累加器 s│k│平方(acc = acc * acc) o│c│输出累加器,以数字表示 在执行命令后,如果累加器为-1或256,则必须将累加器重置为零。请注意,这不是正常的环绕。例如,如果累加器为20,并且s运行命令,则应在400其后。同样,如果累加器为257且d运行命令,则累加器应变为0。 任何不是这些命令之一的输入都应被忽略。 测试程序 xiskso 应该输出 0 xiskisc 应该输出 289 输入输出 您的程序应显示提示:>>。提示必须在新行的开头。然后,它应该读取一行用户输入,并从左到右运行给定的命令。输出数字时,必须将数字分开。即12 34可以,12,34可以, 12 34 可以,但1234不能。 您的程序应继续循环执行此操作,至少直到EOF达到为止。 会话示例: >> xiskso 0 >> xiskisc 289 >> ddddo ddddo 285 281 >> ddddo ddddo 277 273 >> …