这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
牛肉 - 灵活的 Brainfuck 口译员
概要
牛肉 [OPTION] ... 文件
商品描述
Beef 是 Brainfuck 编程语言的灵活解释器。
它可以使用下面描述的选项进行配置,从而可以运行
对解释器的行为做出假设的 Brainfuck 程序。
Beef 对程序使用的内存带的大小没有任意限制,并且
根据需要分配内存单元。
配置
-是的, --商店=什么是
选择到达输入末尾时存储在磁带中的值。 什么是
默认为“零”(存储零); 其他可能的值是“eof”(存储 -1,
值通常分配给 C 常量 EOF)或“相同”(保持值不变)
-d, --启用调试
启用调试支持。 默认不执行调试指令
-o, --输出文件=文件
将程序的输出写入 文件
-一世, --输入文件=文件
读取程序的输入来自 文件
文件 可以是本地路径或 GIO 支持的任何 URI。 如果 文件 是“-”标准输入或
将根据上下文使用标准输出。
脑残 语言
Brainfuck 程序在存储磁带上运行,其中包含几乎无限数量的
细胞; 每个单元格可以存储一个值,可以将其视为字符或
整数(其 ASCII 编码)取决于上下文。 有一个光标指向
到其中一个单元格,该单元格被认为是当前单元格; 光标可以移动
随意左右。
Brainfuck 源文件由许多 Brainfuck 指令组成; 任何符号是
不是指令被视为注释并被忽略。 有例外
规则,见下文。
Brainfuck 指令是:
+ 将当前单元格中的值增加一
- 将当前单元格中的值减一
> 将光标向右移动一个单元格
< 将光标向左移动一个单元格
[ 开始一个循环。 只要循环中包含的指令
当前单元格的值不为零
] 结束由 [ 指令开始的循环
, 从输入中读取一个字符并将其存储在当前单元格中
. 将当前单元格的值写入输出
# 转储内存磁带的内容以进行调试。 这个指令是
除非存在 --enable-debugging 选项,否则忽略
如果源文件的第一行以魔术序列#! 它被忽略。
这允许您在不显式调用 Beef 的情况下执行 Brainfuck 程序,就像您一样
会做例如。 一个 Python 程序。
符号! 对 Beef 有特殊意义:它标志着程序代码的结束和
其输入的开始。 如果此符号存在于源文件中,则运行时输入将
被忽略。
示例
经典的 Hello World 程序可以用 Brainfuck 编写为
++++++++++[>++++++++>++++++++++>++++>+<<<<-]>++.>+.+ +++++
+..+++.>++.<<++++++++++++++++.>.+++.------.-------- .>+.>.
以下 Brainfuck 程序可用于替换 猫(1) 效用:
#!/usr/bin/牛肉
,[.,]
那当然是假设你不需要任何 猫(1) 花哨的命令行选项,你
有一个具有工作 I/O 重定向和幽默感的外壳。
作者
安德里亚·博洛尼亚尼[电子邮件保护]>.
使用 onworks.net 服务在线使用牛肉