問題タブ [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 投票する
9 に答える
8154 参照

fortran - Fortran、Cobol、Basic、およびForthの高級プログラミング言語ですか?

Fortran、Cobol、Basic、およびForthの高級プログラミング言語ですか?

そうでない場合、最初の高級プログラミング言語はどこにありますか?

最初のオブジェクト指向言語はどれでしたか?

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

embedded - どの Ford から移植を開始しますか?

1 つまたは複数のレトロ コンソール プラットフォームでゲーム開発を容易にすることを目的とした、新しいForthシステムの開発を検討しています。私は Forth の初心者で、どの Forth コードベースから移植を開始するかを決めるのに助けが必要です。

私は基本的に、特定の Forth と互いの長所/短所を探しています。JonesFORTHのソースを読み、それに対する賞賛と批判、および ANS に関する議論を読みましたが、残念ながらかなり混乱したままです。Forth コミュニティは、私が知る限り、標準準拠の問題に沿ってかなり残酷に分かれているようで、標準が良いものであると同時にひどいものである理由について、両方の陣営によって非常に良い議論がなされています。しかし、標準が正確に何を変更するかについて、必要以上に複雑で肥大化するという一般的な感覚を除いて、良い実用的なアドバイスを見つけることができないようです.

アセンブリーや C での開発の可能性に現在怯えているプログラマーや愛好家のために、開発を容易にしたいと考えています。教育を受けた決定。

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

dictionary - Forthはどのように辞書を実装しますか?(論争)

私は自分の頭の中にある個人的なプロジェクトのためにフォースを勉強しています。小さな仮想マシンに実装するのは本当にクールでシンプルな言語のようです。

特に語彙の使用の可能性に感銘を受けました。一方で、全体的にとてもシンプルな言語では、辞書のしくみが複雑すぎると思います。私はそれについていくつかの論文を読んだので、これを言います、そして私は多くの論争が存在することを知っています。

Forthのいくつかの機能を命令に実装しているマイクロプロセッサがいくつかありますが、それらが辞書や語彙などの機能をどのように実装しているかを知りたいので、それらのマイクロプロセッサのような仮想マシンを実装できます。

つまり、辞書は成長する単純なヒープではなく、単純にインデックスを付けることができる単純な線形ベクトルでもないため、マイクロプロセッサのマイクロコードが実行するのは簡単ではありません(私は推測します)。もちろん、これらの特別なプロセッサが、追加のコードなしで、本来あるべきように辞書を実装できるとしたら、私は本当に感銘を受けます。これは不可能だと思います。

したがって、私のプロジェクトでは、たとえば6852のように、ヒープを使用してインタープリターを操作し、オペコードを使用してコード化することを検討しています。辞書のコードは、Forthのインタープリターとエディターとともにコンパイルされます。 。これはもっと現実に見えるはずだと思います。

このすべての論争は何についてですか?辞書と語彙の使用に関して、これらの特別なプロセッサはどのように機能しますか?

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

keyword - Forth の論理 AND?

AND ワードがバイナリを定義することは知っていandますが、論理を定義するものは何andですか?

0 投票する
12 に答える
1496 参照

programming-languages - 最も簡単に実装できるインタープリターを備えているプログラミング言語はどれですか?

作業中のプロジェクトの一部として、プログラミング言語のインタープリターを実装する必要があります。このプロジェクトの詳細は、インタプリタを最初から実装する必要があること、既存のプログラミング言語を使用できないことを除いて、あまり関連性がないと思います(要件には、ポータブルで区切られた継続のサポート、および書き込みが可能であることが含まれます) JavascriptおよびJavaでのインタプリタ)。

明らかに、まったく新しいプログラミング言語を発明することは避けたいので、コピーできる、または少なくともインスピレーションを引き出すことができる非常に単純な言語があることを望んでいます。

私が最初に考えたのはForthまたは初歩的なLispのような言語でしたが、Java、Python、Rubyなどのより一般的なプログラミング言語に近い構文を使用することを強く望んでいます。特に、これは中置演算子(a + b)をサポートし、変数のa=b代入もサポートすることを意味します。

言い換えれば、私はこの言語を今日PHPでプログラミングする人々にかなり馴染みがあると感じてもらいたいのですが、ForthもLispもこの基準を満たしているとは思いません。

誰かがそのような言語について何か提案をすることができますか?

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

python - プログラミング言語を設計および実装するにはどうすればよいですか?

この質問はに関連しています

ここ数年、私は自分が使っている言語について好きなことと嫌いなことについて考えてきました。私はいつも自分の言語を書きたいと思っていましたが、決してそうしませんでした。

私はレゴRCXとNXTの両方を所有していますが、ビジュアルプログラミング環境が制限されているため、ほとんどの場合、ロボットに実際に何かをさせることはありません。

すでにたくさんの汎用言語があり、NXTは具体的な問題と目標のセットを提供し、うまくいけば素晴らしいサンドボックスを提供してくれるので、NXT用のプログラミング言語を設計すると思います。

それで?どこから始めればいいですか?何を知る必要がありますか?

可能であれば、PythonまたはClojureでコンパイラーを作成します。NXT用のSDKがありますが、アセンブリ言語もあります。最良/最も簡単なルートは何でしょうか?

Lego NXTには、小さな画面、USBとBluetoothがあり、デジタルとアナログの両方の4つのセンサーポート、3つの出力ポートと2つのARMプロセッサ、1つのメインプロセッサと1つのコプロセッサがあります。http://mindstormsnxt.blogspot.com/2006/08/whats-inside-nxt-brick.html

NXTのプログラミングは、データとイベントの処理に関係しているため、ある種のモノイコニックデータフロー/リアクティブスタイルが適切であるように思われます。並列タスクもうまく処理できるはずなので、機能的だと思います。私は現在、スタックベースも考えています。

私の頭の中で、私はすでにこれらの概念を統一し、サンプルコードを考えようとしています。機能的なブランチを並行して実行できるスタックではなく、ツリーを考えています。例:

この背後にある推論には明らかにまだギャップのある穴がありますが、とにかくこのラフスケッチを投稿して、いくつかの役立つ回答と議論を引き起こします。

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

file-io - Gforth を使用したファイル出力

最初のプロジェクトとして、マンデルブロー フラクタルをレンダリングする短いプログラムを作成しました。結果をファイル (例: .bmp または .ppm ) に出力しようとして行き詰まりました。

私がやろうとしていることの正確な例は実際には見つかりませんでしたが、あるファイルから別のファイルにコピーするコードの例を 2 つ見つけました。

Gforth のドキュメント (セクション 3.27) の例は、私 ( winXP ) では機能しませんでした。

これは、あるファイルの内容を別のファイルにコピーする Gforth ドキュメントの例です。

動作するこの例 ( http://rosettacode.org/wiki/File_IO#Forth ) を見つけました。主な問題は、ファイルに書き込む部分を分離して、まだ機能させることができないことです。主な混乱は、>r が期待どおりに TOS を消費していないように見えることです。

open 、 create read 、 write -file の単語が実際にどのように機能するかを誰かが正確に説明できれば、非常に感謝しています。

Gforth の例が機能しない理由についての手がかりも役立つかもしれません。

まとめると、Gforthからファイルに出力したいのですが、今のところ挫折しています。誰でも助けを提供できますか?


Vijayさん、ありがとうございます。あなたの例は理解できたと思います。ただし、次のようなものを使用しようとすると(似ていると思います):

取得okしましたが、ファイルに何も入れられませんでした。間違いを犯しましたか?


問題は、関連するバッファをフラッシュしていないか、ファイルを明示的に閉じていないことが原因のようです。のようなものを追加する

また

の間write-line;それを機能させます。したがって、指示に従っていれば、Gforth のドキュメントの例は機能していたはずです。

助けてくれたVijayに再び感謝します。

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

windows-xp - Gforth 並列処理

私は Forth Mandelbrot フラクタル プロッターを作成しましたが、他の何よりも技術的な演習と同じくらい、いくつかの並列処理で高速化を試みたいと考えています。

当面は、両方のコアを使用できれば幸いです (一方のコアでイメージの半分を実行し、もう一方のコアで残りの半分を実行します)。

Windows XP はGforthの 2 つのインスタンスを問題なく管理し、可能な限り多くのプロセッサ容量を使用しようとするので、2 つのプロセスを実行することから始めることができることに気付きました。ただし、メモリを共有できるかどうか、または両方が同時にファイルに書き込むことができるかどうか (または、ファイルの先頭から x バイトで書き込みを開始するように 1 つのプロセスに指示する方法) はわかりません。

要約すると、Windows XP で Gforth を使用して並列処理を行うにはどうすればよいですか?

0 投票する
5 に答える
1888 参照

programming-languages - アセンブリ言語で実装されたプログラミング言語

最近、単純なアセンブリ言語で実装された Forth プログラミング言語のインタプリタであるJONESFORTHに出くわしました。

この実装は、言語をアセンブリ言語で実装する方法を示しているため、興味深いと思いますが、言語の実装は移植性の重大なトレードオフになる可能性があることは理解しています。

それで、アセンブリ言語で実装された他のプログラミング言語があり、そのソースがまだ利用可能である (そして、まだ活発に開発されている可能性さえある) かどうか疑問に思いました。