問題タブ [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.

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

forth - Gforth のダブルスへの変換における不規則性

Forth でs>dand関数がどのように機能するかについて、かなり混乱しています。d>s

私が読んだことから、入力16.0するとスタックに置か160 0れ(2つのセルを占めるため)、d.表示され160ます。

ここで、入力すると、スタックが前の例のようになり、表示16 s>dされることが期待されます。ただし、スタックはとです。160 0d.16016 0d.16

ダブルスの入力を間違えていませんか? 「単一セルの値を二重セルの値に変換するほど単純ではありませんか?s>dこの不規則性の理由はありますか?手がかりは大歓迎です.

0 投票する
0 に答える
256 参照

c++ - Homebrew を使用して OS X Mavericks (10.9) に Gforth をインストールする際のエラー

MacBook Air (OS X Mavericks (10.9) を実行) にGforthをインストールしようとしていますが、次のエラーが発生します。brew install gforth

問題が何であるかはわかっていますが (libffi は C++ 標準ライブラリの古いバージョンでビルドされていました)、この問題をHomebrewで修正する方法がわかりません。libffi をアンインストールして、Homebrew 経由で libc++ を使用して再インストールできますか?それとも、より抜本的な対策を講じる必要がありますか?

0 投票する
0 に答える
403 参照

forth - Factorcode.org の Web サイトがダウンしていても、Factor バイナリを取得できますか?

更新 (2014 年 3 月 12 日):

factorcode、planet-factor、builds.factorcode、および concatenative のすべてのサイトが復活しました。ダウンロードが復活しました。サイトが別のホスト (Rackspace?) に移動され、大幅に刷新されたようです。

(これは、クローズドな質問と見なすことができます。)


Factor プログラミング言語最新の Windows バイナリを入手しようと試みましたが、 factorcode.orgのWeb サイトがダウンしているように見えるという事実に困惑しています。

残念ながら、すべてのダウンロード リンクは、特にbuilds.factorcode.org.

いつからこうなったかわかりませんが、初めてではないようです… 3月に入ってからダウンしているようで、 10月12月にまたノイズが出ています。

Factor はオープンソースであるため、バイナリが別の場所にミラーリングされることを期待していました。しかし、かつて SourceForge にあったものはに削除されたようfactorcode.orgで、Factor のメインGitHub リポジトリも でホストされているようfactorcode.orgです。

バイナリを取得するにはどうすればよいですか? おそらく別の方法がありますか?

(追伸: これらの関連サイトもダウンしています: Concatenative.orgPlanet Factor。)


私はかなりの量の Forth を使用しており、最近はFactorについてよく耳にします。Google がSlava Pestov (Factor の作成者) とDaniel Ehrenberg (Factor の開発で Slava と協力している) を雇ったように見えることを考えると、いわば「タイヤを蹴る」という話題が何であるかを見てみたいと思いました。

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

string - Gforth を使用した複数の文字列連結でのスタック アンダーフロー

Rosetta コードから、Forth で文字列を連結する方法として以下を使用しています。

このコードを使用して、複数の文字列を連結できるようにしたいと考えています。ただし、Gforth では次のように失敗します。

私の基本的な Forth エクスポージャーから、スタックに 3 つの文字列を置き、スタックの一番上の文字列をその下の文字列に追加し、スタックの新しい文字列を一番下の文字列に再度追加するというコードが見えます。

このコードが最後の +place でアンダーフローするのはなぜですか? これを回避する方法はありますか?

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

macos - For エディター/カスタマイズ可能なエディター

Forth変数、プログラムなどのフォントの色を変更するためにカスタマイズできる/できるOS Xエディター(できれば専用のForthエディターですが、存在するとは思えません)を探しています。そうでない場合、回避策はありますか?

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

forth - リターン スタックを含む Forth スタック コメント

リターンスタックが登場したとき、スタックコメントはどのように見えるべきですか?

この単語は 5 つのセルを想定し、2 つのセルを返しますが、リターン スタックを使用すると、括弧の間はどうなるでしょうか? たとえば、スタック コメントは次のように表示されます。

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

forth - 単語または変数から文字列を追加するときのエラー

gforth で 2 つの文字列を追加しようとしていますが、恐ろしいエラー メッセージが表示されます。

正常にs" foo" s" bar" append type cr動作しますが、変数に文字列を格納したり、単語から文字列を作成したりするとすぐにエラーが発生します。例えば:

実行すると、次のエラーが発生します。

私は C に精通しているので、Forth の使い方が間違っていることは明らかです。Fore でのメモリ管理について、非常に基本的なことを学ぶ必要があると思います。

ここで何が問題なのか、どうすればよいのか、誰か説明してもらえますか?

変数に格納されている文字列を追加しようとすると、問題が発生します。

これは、私が壊さなければならないループで終わります:

参考までに、私は Mac OS X で gforth 0.7.2 を使用しています。

アップデート

の定義を見ることができますappend

では、Forth で自分でメモリを管理する必要があるように見えますか? もしそうなら、どのように?

解決

Andreas Bombe が以下の手がかりを提供します。動作する最終的なプログラムは次のようになります

出力は