问题标签 [brainfuck]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
237 浏览

c - BrainFuck 实现问题:

我坐下来尝试实施 BrainFuck。语法看起来很简单。我很难让这件愚蠢的事情发挥作用。我已经有一段时间了;我承认我需要睡觉。也许这就是问题的全部。解释器没有输出任何东西。我很确定问题很简单。而且我知道在我更好地掌握了我希望这个程序前进的方向之后,我需要模块化一些函数调用。为什么我没有输出?

main.c

list.h

list.c

test是 BrainFuck “你好世界”

0 投票
1 回答
489 浏览

java - Java substr 没有按预期工作

因此,我正在用 Java 制作一个笨拙的解释器,除了 [ 和 ] 之外,我没有任何问题。(不可避免地)问题在于解析字符串。所以我处理循环的方法是将代码定位在两个括号之间,然后调用函数(递归)来重做括号内的代码。这在纸上听起来不错,但substring不与我合作。这是我处理 [

我对缩进表示歉意,它没有很好地从 Netbeans 复制。但无论如何,正如您在代码顶部看到的那样,我创建了一个名为“codeSection”的变量,它应该包含正确的文本。这是我为参数“brainfuck”给出的内容:+++[>+++++ +++++<-]>+++.这是我打印变量时得到的内容:

是的,我用 System.out.println 打印变量,我打印了两个不同的东西。第一次,它是正确的字符串。我第二次得到处理的内容,并且没有右括号。我在brainfuck的代码中安装了一个错误检查系统,所以我可以检查一下。我得到了我应该的错误。(错误:没有右括号(0))我真的对此感到茫然和困惑,因此非常感谢提供的任何帮助。

PS 额外代码,例如它的调用位置等:它的调用位置:

(它在一个包含所有这些变量的类中)其中 main 是:

再次感谢

0 投票
2 回答
614 浏览

text - 我如何解码这个程序?

我怎样才能解码这个奇怪的文本?

这个文本应该是一个程序。

0 投票
0 回答
789 浏览

c - c中的brainf * ck解释器-处理括号循环

我正在用 C 语言编写一个笨拙的解释器。

括号 ( []) 循环似乎无法正常工作。

编辑:此代码现在正在运行

这是控制括号循环的代码:

该程序正在读取包含 bf 代码的字符串。对于每个字符,调用 switch 语句的适当部分(每个命令都有大小写)。

当调用 ']' 命令时,程序惯于返回到循环的开头。

谢谢你的帮助!

编辑:在修复了下面指出的一些错误后,我更新以显示实际问题。我在 Ubuntu 14.04 上使用 gdb 调试器。

编辑(再次):该程序现在正在运行,并在下面可用。

编辑(再次(再次)):正如我在下面的评论中所说,最终有各种各样的错误导致问题,所以我没有一个答案来回答我自己的问题。如果有人感兴趣,我将其作为处理括号循环的一种方法的示例。

完整的代码可以在 GitHub 上查看https://github.com/underscorejho/bfi

0 投票
2 回答
1100 浏览

math - 如何在 Brainfuck 中使用模数等数学运算符?

+在 BF 中,我知道您可以使用and运算符进行加减-运算,并且您可以将两个预定义的数字相乘,如下所示:

但是如何将两个变量相乘,或者使用其他数学运算符,例如取模或除法?

0 投票
1 回答
187 浏览

c - c语言中的Brainfuck解释器打印问题

我正在尝试用 C 编写一个非常简单的brainfuck 解释器,并且在尝试用我所理解的内容超越某些字符时遇到了问题。

这是我的所有代码:

这是有问题的输入(我试图避免实际输入中的其他文本(请记住,这里的所有内容都是输入的一部分,甚至是不必要的文本)我们提供了一个 make 文件,它将输出写入文本文件,并将其与预定义的文本进行比较,问题是我的文本文件以二进制文件的形式出现,我不知道为什么。问题可能隐藏在我的处理方式中[]因为我在没有它们的早期测试

作为某人提出的建议,我这样做了:

然而,问题现在扩展到之前的测试,因为它甚至将它们输出为二进制文件,我认为[and]代码有问题,因此它不会正确地增加字段打印不需要的字符,这如何扩展到测试没有它们,只有在它周围放置另一个循环时,我不知道。

编辑:上述循环的问题不是while循环没有通过,问题是它永远不会进入开关,有什么解决方案吗?

0 投票
1 回答
597 浏览

c - 在 Brainf*ck 中处理循环

我尝试使用 Brainfuck 中的这个瓶形代码在 c 中测试我的 Brainfuck 解释器:

而不是输出从 99 到 1 的整个“墙上的 99 瓶啤酒”歌曲,它只输出了从 99 到 96 瓶的诗句。Brainfuck 代码或解释器中的循环是否有问题?

这是我的c代码:

0 投票
3 回答
269 浏览

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

本文档之后,我正在为Brainfuck编写一个解释器,在我的实现中需要转换一个字符串,例如:

进入如下指令列表:

或者,减去符号:

现在我正在递归地解决这个问题,使用 deque 和 popleft() 一次遍历字符串一个符号,但我觉得我应该一次将它分解为子数组。

你将如何以 Pythonic 的方式解决这个问题?

(出于速度原因排除正则表达式)

0 投票
2 回答
206 浏览

add - 我的初学者 Brainfuck 添加程序有什么问题?

我一直在处理这个编程挑战: http: //www.codeabbey.com/index/task_view/summing-up

基本上说:

因此,例如输入将如下所示:

现在,我认为我误解了问题或解决方案,因为我认为解决方案应该是 9、269 26 35和 35 都在它们自己的单元格中。

我的解决方案返回9 26 35,我相信正确的单元格(分别为 0,1 和 2),但我得到的答案是错误的。谁能看看问题和我的代码并告诉我哪里出错了?

代码:

0 投票
1 回答
806 浏览

brainfuck - 脑残。如何检查回文?

问题是使用Brainfuck检查序列是否为回文。

输入是一个数字序列

如果不是回文则输出0,否则输出 1。

我有一个想法: 比如说,我们有序列1 2 3 2 1。我们可以在变量中记住数组中的第一个单元格(使用操作'!'执行此操作),

  • 然后将 1 更改为 0(使用操作'0'执行此操作),数组将为 0 2 3 2 1,
  • 然后我们走到数组的末尾,直到遇到 0(使用 '>[>]'执行此操作),
  • 然后我们从变量中获取数字并得到序列0 2 3 2 1 1。
  • 下一步应该是比较最后两个数字,如果它们相等,则从头开始继续算法,否则做一些事情......

我不知道如何实施最后一步。