牛肉-クラウドでのオンライン

これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドビーフです。

プログラム:

NAME


ビーフ-柔軟なBrainfuckインタープリター

SYNOPSIS


牛肉 [オプション] ... FILE

DESCRIPTION


Beefは、Brainfuckプログラミング言語の柔軟な通訳です。

以下に説明するオプションを使用して構成できるため、実行が可能になります
通訳者の行動について推測するBrainfuckプログラム。

Beefは、プログラムが使用するメモリテープのサイズに任意の制限を設定していません。
必要に応じてメモリーセルを割り当てます。

OPTIONS


-s、 --store =WHAT
入力の終わりに達したときにテープに保存する値を選択します。 WHAT
デフォルトは`zero'(ゼロを格納)です。 他の可能な値は`eof'(ストア-1、
通常、C定数EOFに割り当てられる値)または「同じ」(値は変更されません)

-NS、 --デバッグを有効にする
デバッグサポートを有効にします。 デフォルトでは、デバッグ命令は実行されません

-o、 --output-file =FILE
プログラムの出力を FILE

-私、 --input-file =FILE
プログラムの入力を FILE

FILE ローカルパスまたはGIOでサポートされている任意のURIにすることができます。 もしも FILE `-'標準入力または
コンテキストに応じて、標準出力が使用されます。

ブレインファック 言語


Brainfuckプログラムは、事実上無制限の数を含むメモリテープで動作します
細胞; 各セルには値を格納できます。値は、文字または文字として表示できます。
コンテキストに応じた整数(ASCIIエンコーディング)。 カーソルが指している
現在のセルと見なされるセルのXNUMXつに。 カーソルを移動できます
意のままに。

Brainfuckのソースファイルは、Brainfuckのいくつかの命令で構成されています。 である任意の記号
命令ではない場合はコメントと見なされ、無視されます。 これには例外があります
ルール、以下を参照してください。

Brainfuckの手順は次のとおりです。

+ 現在のセルの値をXNUMXつ増やします

- 現在のセルの値をXNUMXつ減らします

> カーソルをXNUMXセル右に移動します

< カーソルをXNUMXセル左に移動します

[ ループを開始します。 ループに含まれる命令は、
現在のセルの値はゼロではありません

] [命令で開始されたループを終了します

, 入力から文字を読み取り、現在のセルに保存します

. 現在のセルの値を出力に書き込みます

# デバッグの目的で、メモリテープの内容をダンプします。 この指示は
--enable-debuggingオプションが存在しない限り無視されます

ソースファイルの最初の行がマジックシーケンス#で始まる場合! 無視されます。
これにより、Beefを明示的に呼び出さなくても、Brainfuckプログラムを実行できます。
例えばのためになります。 Pythonプログラム。

象徴 ! ビーフには特別な意味があります。それはプログラムのコードの終わりを示し、
その入力の始まり。 このシンボルがソースファイルに存在する場合、ランタイム入力は
無視されます。


古典的なHelloWorldプログラムは、Brainfuckで次のように記述できます。

++++++++++ [> +++++++> ++++++++++> +++> +<<<<-]>++。>+。+ +++++
+..+++。>++。<<+++++++++++++++。>。+++.------.-------- 。>+。>。

次のBrainfuckプログラムを使用して、 cat(1)ユーティリティ:

#!/ usr / bin / beef
、[。、]

もちろん、それはあなたが何も必要としないと仮定しています cat(1)の豪華なコマンドラインオプション、あなた
動作するI/Oリダイレクトとユーモアのセンスを備えたシェルがあります。

作者


アンドレア・ボローニャニeof@kiyuko.org>.

onworks.netサービスを使用してオンラインで牛肉を使用する



最新のLinuxおよびWindowsオンラインプログラム