Forth システムの実装に興味があります。単純な VM とランタイムを構築する経験を積むためです。
Forth を開始する場合、通常、最初にスタックとその演算子 (DROP、DUP、SWAP など) について学習するため、これらを基本的な演算子の 1 つと考えるのが自然です。しかし、そうではありません。それらのそれぞれは、メモリとスタック ポインターを直接操作する演算子に分解できます。後で、DUP や SWAP などの実装に使用できるストア (!) とフェッチ (@) について学びます (ha!)。
では、プリミティブ演算子とは何でしょう? 他のすべてをビルドできるランタイム環境に直接実装する必要があるのはどれですか? 高性能には興味がありません。私 (そして他の人) が学べる何かが欲しいのです。オペレーターの最適化は後で行うことができます。
(はい、私はチューリング マシンから始めて、そこから行くことができることを認識しています。それは少し極端です。)
編集: 私が目指しているのは、オペレーティング システムまたは新しいコンパイラのブートストラップに似ています。これらの基本的な構成要素からシステムの残りの部分を構築できるようにするには、少なくとも何を実装する必要がありますか? これをベア ハードウェアに実装するつもりはありません。教育的な演習として、私は独自の最小限の VM を作成します。