📅  最后修改于: 2023-12-03 15:13:42.963000             🧑  作者: Mango
Brainfuck 是一门极为简单和极其小型的编程语言,它由 Urban Müller 在 1993 年创造。它的设计目的是为了仅仅含有命令“<”、“>”、“+”、“-”、“.”、“,”、“[” 和 “]” 的最小限定集上去掉所有的语言表述中的相关。 Brainfuck 提供了一种极为简单和极其小型的语言结构来充分地解释最终的目标并且这也是它最受欢迎的原因之一。
Brainfuck 语言只有 8 个命令:
这 8 个命令的语义非常简单,只需要运行 Brainfuck 解释器即可体验。
以下是一个经典的 Hello World 程序:
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
该程序的意思为:依次输出 "H"、"e"、"l"、"l"、"o"、" "、"W"、"o"、"r"、"l"、"d"、"!"。
这里提供一个开源的 Brainfuck 解释器:bf.py
可以在命令行中运行 Brainfuck 解释器:
python bf.py helloworld.bf
也可以在 Python 中集成解释器:
from bf import Interpreter
with open("helloworld.bf", "r") as f:
code = f.read()
interpreter = Interpreter()
interpreter.run(code)
Brainfuck 语言的单元块可以使用左右两个括号进行包装。编写时要特别注意符号的使用,因为使用错误可能会导致解释器错误。
以下是一种计算 1 到 5 的和并输出的代码:
+[->+++++<]>.
Brainfuck 可以用来解决复杂的计算问题,但是其语法及其复杂,也没有常规编程语言的附加功能。尽管如此, Brainfuck 它的非常小巧,经常被嵌入到其它的程序中作为可执行代码或为加密算法提供一个简单、小型的实现示例。