牛肉 - 云端在线

这是可以使用我们的多个免费在线工作站之一在 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 重定向和幽默感的外壳。

作者


安德里亚·博洛尼亚尼eof@kiyuko.org>.

使用 onworks.net 服务在线使用牛肉



最新的 Linux 和 Windows 在线程序