3

言語を作成するために Rubinius VM をいじってみたいと思っていますが、ドキュメントを読んだだけでは、どうやって始めればよいのかまだよくわかりません。プロジェクトを見ても、vm の解析と使用がどこで行われるのかまだわかりません。誰もこれのためのリソースを持っていますか?

4

2 に答える 2

4

ねえ、私は rubinius で動作する Fancy 言語に貢献しています。解析に興味がある場合は、boot/rbx-compiler を参照してください。基本的に AST ノードのツリーを構築するパーサー (KPEG で実装) が見つかります。これらの各ノードには、rubinius vm を生成するバイトコード メソッドがあります。すべてが機能するための指示。ruby と多くのセマンティクスを共有しているので、既に ruby​​ に慣れていれば簡単に始めることができると思います。コンパイラの探索を進めながら、examples/ dir をチェックアウトして言語の感触をつかみ、次に kpeg パーサー、ast ノード、ローダーをチェックアウトする必要があります。最近では、Fancy はブートストラップされています (つまり、コンパイラ自体が lib/compiler でファンシーに書かれていることを意味します) が、rbx-compiler はそのプロセスの最初のステップです。

Fancy のソース コードを調べることが、お役に立てば幸いです。

于 2011-09-17T04:38:22.650 に答える
0

まだご覧になっていない方は、2011 LA Ruby Conf での Evan の基調講演をご覧ください。彼は、役立つかもしれない単純な言語を構築する方法を示しています。

于 2013-02-03T18:38:08.720 に答える