問題タブ [forth]
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.
variables - 変数のユーザー入力を受け入れる
したがって、これは以前にFORTHを使用したことがある人にとっては簡単な質問ですが、私はこの言語のコーディング方法を学ぼうとしている初心者です(これは、C ++とは大きく異なります)。
とにかく、私はFORTHで「Height」という変数を作成しようとしているだけで、特定の単語「setHeight」が呼び出されるたびにユーザーが「Height」の値を入力できるようにしたいと考えています。ただし、変数の設定方法やユーザー入力を取得して変数に入れる方法がわからないため、私が試したすべてが失敗しているようです。
これが簡単に修正できる問題であることを願っています。助けていただければ幸いです。前もって感謝します。
forth - カスタム インタープリター
Gforthでインタープリターを書こうとしていますが、うまくいきません。私が得るのは、num num num num の無限リストだけです...
forth - VALUE と TO の定義方法
VALUE
Forth ワードをTO
RPC/8 ( Minecraft modでエミュレートされたコンピューター)に実装したいと考えています。私の最善の試みは、コンパイル中に使用しない限り、正常に機能する単語のセットを取得します。より具体VALUE
的には機能しますが、TO
機能しません。
私はそれを機能させるために考えられるすべてを試しましたが、私の最善の試みは私にこれをもたらします:
プロセッサは純粋な 6502 ではなく、65816のカスタム バリアントである65EL02であることに注意してください。
編集 #1: どういうわけか、値の CREATE の呼び出しを忘れていました。ずっとそこにあったはずです。編集#2:私もTO3
で切り替えました...おっと。+
ずっと逆だったはず。
forth - Mac で Gforth をコンパイルする際の問題
公式サイトからGforth 0.7.0をダウンロードし、フォルダを/Applications
に置き、そのエイリアスを に入れました/usr/local/bin
。以下を使用してコンパイルした後:
を作成すると、次の結果が得られます。
ここで何が悪いのかわかりません。Stack Overflow の質問Compiling Gforth without Gforth?への回答を試し ました。、しかし、それもうまくいきませんでした。MacBook Airで Mac OS X v10.8 (Mountain Lion) を実行しています。
performance - アルゴリズムの複雑さの分析:実際にはクヌースの通常の操作(oops)とメモリ操作(mems)の方法を使用します
ほとんどのアルゴリズム(ソート、検索、グラフトラバーサルなど)の実装では、追加の通常の操作を犠牲にしてメモリアクセスを減らすことでトレードオフが発生することがよくあります。
Knuthには、特定のプロセッサから抽象化し、通常の操作(oops)とメモリ操作(mems)のみを区別することにより、さまざまなアルゴリズム実装の複雑さを比較するための便利な方法があります。
コンパイルされたプログラムでは、通常、コンパイラに低レベルの操作を整理させ、データがキャッシュメモリ(高速)または仮想メモリ(低速)のどちらに保持されるかという問題をオペレーティングシステムが処理することを期待します。さらに、命令の正確な数/コストはコンパイラによってカプセル化されます。
Forthを使用すると、そのようなカプセル化はなくなり、レジスタプロセッサ上で実行されるスタックマシンに近いとはいえ、マシンにはるかに近くなります。
オペレーティングシステムの影響を無視して(メモリのストールなどがないように)、今のところ単純なプロセッサを想定します。
(1)Forthの通常のスタック操作(dup、rot、over、swapなど)をForthのメモリアクセスフェッチ(@)またはストア(!)のコストと比較する方法について誰かがアドバイスできますか?
(2)メモリアクセスの節約とトレードオフする通常の操作の数を決定するために使用できる経験則はありますか?
私が探しているのは、「通常の50オペレーション、通常の500オペレーション、または通常の5オペレーションのメモリアクセスコスト」のようなものです。Ballparkは絶対に問題ありません。
フェッチとストアの相対的なコストと、腐敗、スワップ、重複、ドロップ、オーバー、桁違いの修正の相対的なコストを把握しようとしています。
testing - インタラクティブな C プログラムテスターとしての For
対話型言語を使用して、レガシー プロジェクトの C コードをテストしたいと考えています。Forth は少し知っていますが、実際のプロジェクトで使用したことはありません。私は今pForthを見ています。
インタラクティブな Forth インタープリターを使用して、C プログラムの一部の関数の動作をテストすることは合理的ですか? この C コードには、多くの構造体、構造体へのポインター、ハンドル、および C で見られるその他の一般的な構造体が含まれています。
パラメーターの受け渡しを処理するためのグルー コードと、Forth 側での構造体の割り当てを処理する必要があると思います。この分野の経験のある方に見積もりをお願いしたいです。その価値はありますか?
string - Forth で 2 つの文字列を比較するにはどうすればよいですか?
if
そして、ステートメントでそれを行うことができますか、それともヘルパーブール変数を作成する必要がありますか? ここに私がこれまで持っているコードがあります。ちなみに、IOX@
ユーザーからの入力を取得することです。
cloud - クラウド内の Fore プログラム?
Forth で記述された、DOS で実行される複雑なプログラムがあります。Windows 7でこれを実行するためにDOSBoxを使用しています。
このプログラムをクラウド上で実行して、インターネット対応のコンピュータからフル I/O でアクセスできるようにする方法はありますか?
code-formatting - For コード フォーマット ガイド
Project Euler の演習を行うことで Forth を独学しようとしています。いくつかのチュートリアルを調べましたが、キーワード/制御構造の配置方法に関する決定的なガイドは見つかりませんでした。Emacsforth-mode
はコードをどのようにフォーマットするべきかについてある程度の考えを持っているようですが、私が見たものについてはあまり確信が持てません :) たとえば、以下のコード:
このようにフォーマットすることは意味がありますか?条件をどこに置いた?適切にフォーマットされていると思われるスタイルガイド/例のコレクションがある場合は、その例を参照していただけますか?