2008-08-17 12 views
2

私はRuby 1.8 ASTが実行時に大きなswitch文を使用していることを理解しています。クラスまたは親モジュールでメソッドを呼び出すような多くのことは、インタープリタがツリーを上から下に見上げるようになります。拡張子Ruby CASTに直接アクセスする方法はありますか? Rubyの拡張APIを必要とするのか、内部のデータ構造を直接ハッキングする必要があるのでしょうか?CレベルコードからRuby ASTにアクセスするにはどうすればよいですか?

答えて

1

良い出発点はおそらくParseTreeライブラリのソースを読むことです。これにより、RubyからASTを取得して混乱させることができます。

1

チップをありがとう。あなたは正しい - ParseTreeは、実際にはRubyInlineで書かれていることを除いて、ASTの操作を行う唯一のコードであるようです。

これは、RubyとCコードの間に奇妙な混合物です。しかし、とても面白い読書。

他の参考資料は、もちろんRubyのeval.cです。

それは私の頭の中でそれを得るために、両方の読書の公正なビットを取るつもりです。

+0

ありがとうございます!興味のない、あなたは何を書いていますか? :) – horseyguy

関連する問題