1

昨天,我在网上看到了一篇关于编程语言的文章,叫做BrainFuck. http://www.muppetlabs.com/~breadbox/bf/

所以奇怪的是我是这个

  Brainfuck is the ungodly creation of Urban Müller, whose goal was apparently 
to create a Turing-complete language for which he could write the smallest
compiler ever, for the Amiga OS 2.0.  His compiler was 240 bytes in size. 
(Though he improved upon this later -- he informed me at one point that
he had managed to bring it under 200 bytes.)

那么,它真的是当今图灵完备编程语言的最小编译器吗?是否证明了更小的编译器无论如何都不存在?

这方面有没有结果。我真的很感兴趣,图灵完备的编程语言的编译器的大小是否有最小值,这个值是多少?

4

1 回答 1

11

尽可能小的 BrainFuck 编译器的大小完全取决于机器。因此,如果您谈论某个值,您必须始终考虑它所运行的架构。

最小的 BrainFuck 编译器是 0bytes

这个编译器正在运行的架构,具有能够原生解释 Brainfuck 源代码的简洁属性。它具有更简洁的特性,即程序输出与输入位于相同的内存位置。

最小的可能 BrainFuck 编译器的字节码是:“”。由于该程序立即终止,因此它不会对输入应用任何修改。因此,该程序运行的输出始终等于该运行的输入。由于该架构可以本地执行 BrainFuck,因此该程序将 BrainFuck 源代码转换为该架构的二进制代码。因此,该程序是该架构的 BrainFuck 编译器。

真实世界架构

不幸的是,上述架构不适用于现实世界的应用程序,但 BraickFuck 也不适用。

于 2011-12-02T14:43:47.033 回答