問題タブ [befunge]
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.
befunge - Befunge-93でプログラムをコンパイルする方法は?
Befunge-93でプログラムを保存してコンパイルするにはどうすればよいですか?fileName.what
ファイルを(のように)保存するために必要なファイル拡張子は何ですか?では、どうすればコンパイルできますか?
esoteric-languages - 実行がプログラムの制限に達した場合、Befungeではどうなりますか?
この質問に対する答えが見つかりませんでした...「周期境界条件」はありますか?つまり、実行は反対側のサイトで続行されますか?それとも、実行がプログラムを離れることは違法ですか?
esoteric-languages - Befunge 98: 標準入力からの eof
EOF が発生した場合、 befunge-98~
の命令の予想される動作は何ですか?
直観的には、スタックに -1 を配置する必要がありますが、この点でいくつかのバリエーションを発見しました。
- 「直感的な」方法にはBefunge-93 JS インタープリターが続きます。(以下のスクリプト出力: "
-1 -1 97
") - Michael Riley のインタプリタは、EOF を LF 文字 (ASCII 10) として扱い、余分な (存在しない) 文字が読み取られると、先頭に配置し続けます。(出力: "
10 10 97
") - Matti Niemenmaa のインタプリタも EOF を LF として扱いますが、余分な文字が読み取られるとユーザー入力を待ち続けます。(何も出力しない)
テストは次のとおりです。
次のように test.fg を使用します (3 つの文字を読み取り、それらのコードを出力します)。
EOF を正しく (つまり、LF とは異なる) 処理し、完全な befunge-98 仕様をサポートするインタープリターは実際にありますか?
befunge - Befunge は複数の命令を繰り返します
Befunge-98 では、k
オペレーターがこれを許可してくれます
この出力は になります2110
。複数の命令を繰り返す (短い) 方法を探して2121
いk
ます。12
1
オペレーターにこれをさせる方法はありますk
か?そうでない場合、 、およびまたはn
を使用せずに、シーケンス回を繰り返す最短の方法は何ですか?p
g
_
|
python - 文字列のリストを 2D 座標に展開
Python でBefungeインタープリターを作成しようとしていますが、現在の問題はp
コマンドです。基本的に、ファイルの各行にある文字列のリストがあり、2D 座標系を使用して自分の位置を追跡します。外側のリストはy
で、各文字列内の位置は ですx
。
問題は次のとおりです。p
コマンドは座標と値をスタックからポップします。次に、その位置の値に対応する ASCII 文字を配置します。残念ながら、Python では、リストと文字列をインデックスで展開するのは非常に困難です。更新されたデータに合わせて、リストとその中の文字列を展開する最も効率的な方法が必要です。2 つの理由で、特定のサイズに事前に展開することはできません。理論的には無限のメモリ割り当て (チューリングの完全性のために必要) と、プログラムがその端を超えて展開されていない場合は、プログラムの端でラップ (事前に展開された削除)それを効率的に行う能力)。
TL;DR: リストとその中のすべての文字列を拡張して、特定の 2D 座標 (外側のリストは y、内側のリストは x、つまりprog[y][x]
) に到達して含めるための最良/最も効率的な方法を見つける必要がありますが、できません。いくつかの複雑で説明が難しい理由により、事前に割り当てられています。
よくわからなかったようですが、このp
コマンドは実行中の Befunge コードを直接変更します。したがって、プログラムは必要に応じてデータにアクセスして実行できる必要があるため、プログラム自体の外部にデータを保存することはできません (前述のとおり、Befunge は奇妙です)。
python - Befunge-98 インタプリタの関数一覧をインポートする方法
私は非常に優れた Befunge インタープリターを見つけ、ファイルからフィンガープリントとそれに対応する関数の簡単なインポートを追加しようとしています。私の現在のコードでは、関数ごとにクラスを使用し、関数をフィンガープリントの下に割り当て、次に文字の下に割り当てます。これが元のコードと私の現在のコードの仕組みです。私は、fingerprint.py という名前のファイルをモジュールとしてインポートし、fingerprint.initiate() などを実行して、指紋を指紋辞書に追加したいと考えていました。それはインタープリターファイルにあり、コードを使用しようとしています:
指紋データを辞書に追加しようとしましたが、構文エラーがあると言って許可されません。クラスをインスタンス化する方法がわかりません。完全なコードはこちらです。どんな回答でも大歓迎です。次回のコードの公開であなたに言及したいと思います。ありがとう、良い一日を。