Ruby 2.7.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > RubyVM::AbstractSyntaxTreeモジュール

module RubyVM::AbstractSyntaxTree

クラス・モジュールの継承リスト: RubyVM::AbstractSyntaxTree

要約

Ruby のコードをパースして得られる抽象構文木を扱うモジュールです。

抽象構文木はRubyVM::AbstractSyntaxTree::Nodeクラスのインスタンスとして表されます。

このモジュールはMRIの抽象構文木の実装の詳細を表します。

このモジュールは実験的であり、安定したAPIではないため、予告なしに変更される可能性があります。例えば、子要素の順序は保証されておらず、子要素の数は変更される可能性があります。また子要素に名前でアクセスする方法は提供されていません。

もし安定したAPIやMRI以外の実装で抽象構文木を扱いたい場合、 parser gem (https://github.com/whitequark/parser)や Ripperの使用を検討してください。もし RubyVM::AbstractSyntaxTree のAPIを安定にしたい場合、[feature#14844] での議論に参加してください。

特異メソッド

定義 説明
of(proc) -> RubyVM::AbstractSyntaxTree::Node

引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。

parse(string) -> RubyVM::AbstractSyntaxTree::Node

文字列を抽象構文木にパースし、その木の根ノードを返します。

parse_file(pathname) -> RubyVM::AbstractSyntaxTree::Node

pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。