問題タブ [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.
brainfuck - BrainFuck で 2 つの数値の合計を計算する方法
BrainFuck を使用して、最大 9 までの 2 つの数値を読み取り、それらの合計を計算して結果を出力できるプログラムを作成しようとしています。
BF 言語を理解しようとしているところですが、思ったよりも難しそうです。
c - C to brainfuckコンパイラ?
私はCで基本的なプログラムを持っていて、それをbrainfsck言語に変換したいのですが、このテーマについて何も見つかりません。私は多くの「brainfuckからCへ」のコンバーターを見つけましたが、その逆はありません。C2BFを見つけましたが、その使用方法や、それが必要かどうかがわかりません。
brainfuck - Brainfuckで数字に2を掛けますか?
任意の長さの数値が与えられた場合、どうすればそのdoubleを出力できますか?結果が10未満である限り、小さい数を掛け合わせる方法は知っていますが、32984335のような大きい整数を掛けて、そのようなものを2倍にするのはどうでしょうか。私はこのようなものを処理する正しい方法を知りません。
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」を実行する方が理にかなっているでしょうか。
brainfuck - brainfuckで数字を印刷しますか?
しばらく検索しましたが、助けになるものが見つかりませんでした。
最初のセル(または値など)が165に等しいとしましょう。「165」を印刷するにはどうすればよいですか?
私の考えは、数字を1、6、5の別々の部分にカットすることでした。それらを印刷しても問題はありません。
注:「165」を印刷したいだけではありません。最初のセルの値を出力したいと思います。165、255、0、1、その他のいずれであっても関係ありません。
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 で中断します)
明確にするために、ここで壊れています:
regex - egrep コマンドが正しくありません
問題は次のとおりです。次のような (brainfuck) コードの行を含む、brain.txt というドキュメントがあります。
最後のword
は本当にどんな言葉でもかまいません。< と > のすべてのシーケンスの長さが不均一なドキュメントから行をフィルタリングするにはどうすればよいですか?
次のコマンドを書きました。
しかし、うまくいかないようです。このコマンドの何が間違っているのか、誰か説明してもらえますか?
編集:Karoly Horvathが述べたように、偶数の発生を否定する代わりに、正規表現を使用して不均一な発生を一致させました。そこで、次のコマンドを書きました。
しかし、何らかの理由で私はまだ偶数行に一致します。
brainfuck - BFで1桁の数字を2つ足す方法
重複の可能性:
BrainFuck で 2 つの数値の合計を計算する方法
2 つの 1 桁の数字を加算する単純な BF プログラムの書き方を知っている人はいますか? 私はこの言語に慣れていないので、概念を理解するために助けが必要です。
recursion - Brainfuck の再帰関数の例
単刀直入に言えば、私はブレインファックを学んでいますが、再帰のアイデアを理解するのに苦労しています。私はこれをグーグルで検索し、フォーラムを検索しました-必要に応じて事前に謝罪します-そして何も思いつきません.
そもそも、それって本当に可能なの?
もしそうなら、例はありますか?思いついた便利なものは何でも追加します。
私は具体的に再帰を使用してフィボナッチ数を計算しようとしているので、それに基づいて計算できれば非常に役立ちます。
algorithm - Brainfuck インタープリターのステート チャート
私は頭脳明晰アイデアのアルファ版を書きました。私は自分のインタープリターを書きましたが、「IT の方法」でそれを理解するのに本当に苦労したため、コードのループに関して先生から多大な助けを受けました。今、私のレポートのために、インタープリターのアルゴリズムの状態チャートが必要です。彼は各文字をどのように処理しますか。
私は次の図を思いつきました.欠けているのは、インタープリターがループを処理する方法だけです. 先生がほぼ一人で書いたコードを見たのですが、よくわかりません。ここで正しい方向に向けていただければ幸いです。コードで [ または ] が検出されたときに何が行われるかについて、いくつかのサイドノートだけで完成した回答は必要ありません。
codeZeiger = codePointer (コード内を移動するポインター)
memoryZeiger = memoryPointer (メモリースタック内を移動するポインター)
memory = メモリースタック
code = 文字列としてのコード oject
i = interpre() メソッドのカウンター (単一の文字)文字列から読み取られ、switch ステートメントを介して解析されます。そのステートチャートは以下に表示されます)