brainfuck - 如果左括号什么都不做,brainfuck 仍然是图灵完备的吗

标签 brainfuck

我正在研究一个直接解释 brainfuck 的物理面包板 8 位 CPU。

语言规范表明左括号和右括号都有逻辑:

[ => Jump to matching ] If Zero

] => Jump to matching [ Unless Zero

但是按照我制作 CPU 的方式,我无法实现第一条规则,找到匹配的右括号会很困难。

将左括号逻辑更改为什么都不做而只保留右括号逻辑会产生什么后果?它会影响语言的图灵完备性吗?

我知道它不会真的是 Brainfuck 了,现有的程序可能不再正常工作,例如:

[+.]

经典的 brainfuck:不会做任何事情

我修改后的 brainfuck:将打印从 0 到 255 的每个字符(或者如果单元格不循环回到 0 则出现溢出错误)

最佳答案

讨论中here , Int-e 通过从略微有限的常规 brainfuck 形式(必须在开始时获得所有输入)减少,显示这种“do-while brainfuck”变体是图灵完备的。如果你愿意,我可以将我的通用图灵机程序翻译成这个变体。

关于brainfuck - 如果左括号什么都不做,brainfuck 仍然是图灵完备的吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73747401/

相关文章:

将 brainf*ck 代码解析为 Rust 中的树

string - 在brainf*ck的270个字符中打印出178个字符的字符串

c - 脑残翻译

c++ - 通过运行可执行文件来制作可执行文件

c - 在 Brainf*ck 中处理循环

java - 为什么 Kotlin 解释 Brainfuck 的速度比 Java 快得多?

javascript - HTML:更改文本区域中单个字符的背景颜色?

if-statement - 如何在 Brainfuck 中编写 if else 语句

comments - 如何在 Brainfuck 中写入包含句点 (.) 的 "comment"?

python - 使用 Python 将字符串标记为嵌套数组列表