Ruby 1.8 AST
は実行時に大きな switch ステートメントを使用してトラバースされ、クラスまたは親モジュールでメソッドを呼び出すなどの多くのことには、インタプリタがツリーを上下に検索する必要があることを理解しています。拡張機能でこれAST
にアクセスする簡単な方法はありますか? Ruby C
それには Ruby 拡張 API が関係していますか、それとも内部データ構造を直接ハッキングする必要がありますか?
maetl
質問する
676 次
2 に答える
1
良い出発点はおそらく、ParseTreeライブラリーのソースを読むことです。これにより、Ruby から AST にアクセスして操作することができます。
于 2008-08-17T22:36:13.103 に答える
0
先端をありがとう。ParseTree
その通りです。実際にRubyInlineで記述されていることを除けば、ASTの操作が行われているコードはこれだけのようです。
つまり、RubyとCコードの奇妙な組み合わせです。しかし、非常に興味深い読書です。
もちろん、他の参照はRuby自体からのeval.cです。
私の頭を動かすには、両方をかなり読む必要があります。
于 2008-08-18T12:11:19.837 に答える