問題タブ [brainfuck]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
13210 参照

brainfuck - BrainFuck で 2 つの数値の合計を計算する方法

BrainFuck を使用して、最大 9 までの 2 つの数値を読み取り、それらの合計を計算して結果を出力できるプログラムを作成しようとしています。

BF 言語を理解しようとしているところですが、思ったよりも難しそうです。

0 投票する
1 に答える
14651 参照

c - C to brainfuckコンパイラ?

私はCで基本的なプログラムを持っていて、それをbrainfsck言語に変換したいのですが、このテーマについて何も見つかりません。私は多くの「brainfuckからCへ」のコンバーターを見つけましたが、その逆はありません。C2BFを見つけましたが、その使用方法や、それが必要かどうかがわかりません。

0 投票する
4 に答える
1670 参照

brainfuck - Brainfuckで数字に2を掛けますか?

任意の長さの数値が与えられた場合、どうすればそのdoubleを出力できますか?結果が10未満である限り、小さい数を掛け合わせる方法は知っていますが、32984335のような大きい整数を掛けて、そのようなものを2倍にするのはどうでしょうか。私はこのようなものを処理する正しい方法を知りません。

0 投票する
1 に答える
793 参照

pypy - JITを使用してインタプリタを作成するためのRPython以外のオプション?

私はPyPyプロジェクトに本当に興味がありますが、その目的の最初の(しかしあまり知られていない)目的のために以下にリストされています:

  • 通訳言語のインタプリタを実装するためのツールのセット
  • このツールチェーンを使用したPythonの実装

次のブログ投稿では、 http //morepypy.blogspot.com/2011/04/tutorial-writing-interpreter-with-pypy.html 、およびhttp://morepypy.blogspot.com/2011/04/tutorial-part -2-adding-jit.html RPythonを使用してbrainforkインタープリターを実装し、JITを追加する方法に関する詳細なチュートリアルがあります。

ただし、RPythonの操作は面倒な場合があることを他の場所で読んだことがあります。動的型付け用に作成された構文は、推測される静的型付けに突然制限され、コンパイルエラーがわかりにくくなります。

だから私の質問は、上記のチュートリアルのようにブレインファッジインタプリタ/ JITを書くことを可能にする他のプロジェクトはありますか?それとも、PyPyが簡潔にそうするための唯一のオプションですか?

(余談ですが):存在する場合、RPythonの一般的なポイントは何ですか?サブセットPythonをタイプセーフにし、Pythonをそのサブセットに実装できることを示すだけですか?既存のインタプリタ作成ツールで「PyPy」を実行する方が理にかなっているでしょうか。

0 投票する
2 に答える
8585 参照

brainfuck - brainfuckで数字を印刷しますか?

しばらく検索しましたが、助けになるものが見つかりませんでした。

最初のセル(または値など)が165に等しいとしましょう。「165」を印刷するにはどうすればよいですか?

私の考えは、数字を1、6、5の別々の部分にカットすることでした。それらを印刷しても問題はありません。

注:「165」を印刷したいだけではありません。最初のセルの値を出力したいと思います。165、255、0、1、その他のいずれであっても関係ありません。

0 投票する
2 に答える
515 参照

java - 私の頭のおかしいパーサー コードの何が問題になっていますか?

Brainfuckソース ファイル ( )を読み取り、コンパイルし、実行できるプログラムを Java で作成しようとしています.bf。ウィキペディアの Hello World の例では問題なく動作するようになりましたが、ROT13 の例では機能しません (]実際に一致したときに不一致に達したと主張しています)。

実際のパーサー コードはすべて 1 つの.JAVAファイルに記述されていますが、その核心 (実際の頭脳派パーサーと実行中のコード) は以下のメソッドにありdoNow(char)ます。変数は次のとおりcellsです。 は実行する文字の配列 ( char[]) です。pointer配列内のアドレスを指す Java の回避策 ( short); PCはプログラムカウンタ ( int) であり、s (基本的には a )loopStackに対応するアドレスのスタックです。これらは、Hello World テストで問題なく動作するため、問題ではありません。入力を受け取るメソッドは、余分な文字を自動的にフィルター処理し、デバッグ検査から完全に動作することを確認しました。[short[]

このパーサーが ROT 13 コードを実行しないのはなぜですか?

コード


Java で書かれた私のパーサー

Hello World の例(完全に動作します)

ROT 13 の例(私のテスト コンソール入力はMです。ループを数回繰り返した後、コマンド 54 で中断します)

明確にするために、ここで壊れています:

0 投票する
1 に答える
133 参照

regex - egrep コマンドが正しくありません

問題は次のとおりです。次のような (brainfuck) コードの行を含む、brain.txt というドキュメントがあります。

最後のwordは本当にどんな言葉でもかまいません。< と > のすべてのシーケンスの長さが不均一なドキュメントから行をフィルタリングするにはどうすればよいですか?

次のコマンドを書きました。

しかし、うまくいかないようです。このコマンドの何が間違っているのか、誰か説明してもらえますか?

編集:Karoly Horvathが述べたように、偶数の発生を否定する代わりに、正規表現を使用して不均一な発生を一致させました。そこで、次のコマンドを書きました。

しかし、何らかの理由で私はまだ偶数行に一致します。

0 投票する
1 に答える
1240 参照

brainfuck - BFで1桁の数字を2つ足す方法

重複の可能性:
BrainFuck で 2 つの数値の合計を計算する方法

2 つの 1 桁の数字を加算する単純な BF プログラムの書き方を知っている人はいますか? 私はこの言語に慣れていないので、概念を理解するために助けが必要です。

0 投票する
3 に答える
2269 参照

recursion - Brainfuck の再帰関数の例

単刀直入に言えば、私はブレインファックを学んでいますが、再帰のアイデアを理解するのに苦労しています。私はこれをグーグルで検索し、フォーラムを検索しました-必要に応じて事前に謝罪します-そして何も思いつきません.

そもそも、それって本当に可能なの?

もしそうなら、例はありますか?思いついた便利なものは何でも追加します。

私は具体的に再帰を使用してフィボナッチ数を計算しようとしているので、それに基づいて計算できれば非常に役立ちます。

0 投票する
2 に答える
406 参照

algorithm - Brainfuck インタープリターのステート チャート

私は頭脳明晰アイデアのアルファ版を書きました。私は自分のインタープリターを書きましたが、「IT の方法」でそれを理解するのに本当に苦労したため、コードのループに関して先生から多大な助けを受けました。今、私のレポートのために、インタープリターのアルゴリズムの状態チャートが必要です。彼は各文字をどのように処理しますか。

私は次の図を思いつきました.欠けているのは、インタープリターがループを処理する方法だけです. 先生がほぼ一人で書いたコードを見たのですが、よくわかりません。ここで正しい方向に向けていただければ幸いです。コードで [ または ] が検出されたときに何が行われるかについて、いくつかのサイドノートだけで完成した回答は必要ありません。

ここに画像の説明を入力

codeZeiger = codePointer (コード内を移動するポインター)
memoryZeiger = memoryPointer (メモリースタック内を移動するポインター)
memory = メモリースタック
code = 文字列としてのコード oject
i = interpre() メソッドのカウンター (単一の文字)文字列から読み取られ、switch ステートメントを介して解析されます。そのステートチャートは以下に表示されます)

ここに画像の説明を入力