はじめに この記事は Ruby2.6 + Graphvizで抽象構文木をグラフにしてみる という記事を大きく参考にさせていただいています。 ありがとうございます。 rprとは rprは私が作成したgemで、コマンドラインからRubyのコードを抽象構文木に変換して表示するためのツールです。 Rubyには様々なパーサが存在します。Ruby本体が提供しているRipperやRuby 2.6から提供されているRubyVM::AbstractSyntaxTreeの他にも、Parser gemやRubyParser gemなどがあります。 rprを使うと、これらのパーサを同一のインターフェイスで扱えます。 またコマンドラインから扱うことに特化しているため、手軽に構文解析結果を表示できます。 例を見てみましょう。 # Ripper.sexp メソッドを使って構文解析をし、ppで表示する # -pと-fの値