问题标签 [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 投票
7 回答
13210 浏览

brainfuck - 如何用 BrainFuck 计算 2 个数字的总和

我正在尝试使用 BrainFuck 编写一个程序,该程序可以读取最多为 9 的两个数字,计算它们的总和,然后将结果打印出来,例如 3 & 5 给出结果 8 。

我只是想理解 BF 语言,但它看起来比我想象的要困难得多。

0 投票
1 回答
14651 浏览

c - C到brainfuck编译器?

我有一个 C 中的基本程序,我希望将其转换为语言 Brainfsck,但找不到关于该主题的任何内容。我发现了许多“脑筋急转弯”的转换器,但反之则不然。我找到了 C2BF,但不明白如何使用它,或者这是否是我需要的。

0 投票
4 回答
1670 浏览

brainfuck - 在 Brainfuck 中将一个数字乘以 2?

给定一个任意长的数字,我怎样才能输出它的双精度数?只要结果小于 10,我就知道如何将小数相乘,但是像 32984335 这样的大整数又如何呢?我不知道处理这种事情的正确方法。

0 投票
1 回答
793 浏览

pypy - 使用 JIT 编写解释器的 RPython 之外的选项?

我对 PyPy 项目真的很感兴趣,但是对于下面列出的第一个(但鲜为人知的)目的:

  • 一组用于为解释语言实现解释器的工具
  • 使用此工具链的 Python 实现

在以下博客文章中,http ://morepypy.blogspot.com/2011/04/tutorial-writing-interpreter-with-pypy.html和http://morepypy.blogspot.com/2011/04/tutorial-part -2-adding-jit.html有一个详细的教程,介绍如何使用 RPython 实现一个 Brainfork 解释器,并添加一个 JIT。

但是,我在其他地方读到 RPython 使用起来可能很麻烦——为动态类型创建的语法突然限制为推断的静态类型会导致难以理解的编译错误。

所以我的问题是,有没有其他项目可以让你像上面的教程一样编写一个brainfudge解释器/JIT?或者 PyPy 是简洁的唯一选择吗?

(旁白):如果存在的话,一般来说,RPython 的意义何在?是否只是为了表明可以使 Python 的子集成为类型安全的,并且 Python 在该子集中实现?在现有的解释器创建工具中做“PyPy”会更有意义吗?

0 投票
2 回答
8585 浏览

brainfuck - 用brainfuck打印一个数字?

我已经搜索了一段时间,但找不到任何可以帮助我的东西。

假设第一个单元格(或值等)等于 165。我如何打印“165”?

我的想法是将数字切割成单独的部分:1,6 和 5。打印它们就没有问题了。

注意:我不只是想打印“165”。我想打印第一个单元格的值。无论是 165、255、0、1 还是其他任何值。

0 投票
2 回答
515 浏览

java - 我的大脑解析器代码有什么问题?

我正在尝试用 Java 编写一个程序,它可以读取、编译和运行Brainfuck源文件 ( .bf)。我已经让它与 Wikipedia 的 Hello World 示例一起正常工作,但它在 ROT13 示例中中断(声称它]在实际匹配时达到了无与伦比的)。

实际的解析器代码都写在一个.JAVA文件中,但它的核心(真正的大脑解析器和运行代码)在下面的方法中,doNow(char). 以下是变量的含义:cells是要运行的字符数组 ( char[]);pointer是指向数组中地址的 Java 解决方法 ( short);PC是程序计数器 ( int),并且loopStack是对应于[s 的地址堆栈(基本上是 a short[])。这些都不是问题,因为它们在 Hello World 测试中工作得很好。接受输入的方法会自动过滤掉多余的字符,我通过调试检查确认它可以正常工作。

为什么这个解析器不运行 ROT 13 代码?

代码


我的解析器,用 Java 编写

Hello World 示例(完美运行)

ROT 13 示例(我的测试控制台输入是M. 在几次循环迭代后在命令 54 上中断)

说清楚,这里是它打破的地方:

0 投票
1 回答
133 浏览

regex - egrep 命令不正确

问题如下:我有一个名为brain.txt 的文档,其中包含如下几行(brainfuck)代码:

最后word的真的可以是任何词。如何从文档中过滤 < 和 > 每个序列的长度不均匀的行?

我写了以下命令:

但它似乎不起作用,谁能解释一下这个命令有什么不正确的地方吗?

编辑:正如 Karoly Horvath 提到的,我没有否定偶数出现,而是使用正则表达式来匹配不均匀的出现。所以我写了以下命令:

但由于某种原因,我仍然匹配偶数行。

0 投票
1 回答
1240 浏览

brainfuck - 如何在BF中添加两个一位数

可能重复:
如何用 BrainFuck 计算 2 个数字的总和

有谁知道如何编写一个简单的 BF 程序,将两个一位数相加?我是这门语言的新手,需要一些帮助来掌握这些概念。

0 投票
3 回答
2269 浏览

recursion - Brainfuck 中的递归函数示例

直截了当-我一直在学习brainfuck,但我无法绕过其中的递归概念。我已经用谷歌搜索并搜索了论坛 - 如果需要,请提前道歉 - 并没有提出任何结果。

首先,真的有可能吗?

如果有,有例子吗?我会添加任何我能想到的有用的东西。

我特别想用递归来计算斐波那契数,所以如果我们能以此为基础,将会有很大帮助。

0 投票
2 回答
406 浏览

algorithm - Brainfuck解释器的状态图

我写了一个brainfuck ide的alpha版本。我编写了自己的解释器,尽管我的老师在代码中的循环方面提供了很多帮助,因为我很难以“IT 方式”理解它。现在对于我的报告,我需要解释器算法的状态图,他如何处理每个字符。

我想出了下图,唯一缺少的是解释器如何处理循环。我看了老师几乎自己写的代码,但我不明白。我希望你能在这里指出我正确的方向,我不想要一个完整的答案,只是一些旁注在代码中遇到 [ 或 ] 时正在做什么。

在此处输入图像描述

codeZeiger = codePointer(在代码中移动的指针)
memoryZeiger = memoryPointer(在内存堆栈中移动的指针)
memory = 内存堆栈
code = 作为字符串的代码 oject
i = interpre() 方法的计数器(单个字符从字符串中读取,然后通过 switch 语句进行解析,其状态图如下所示)

在此处输入图像描述