github.com 「この記述はRubyにどういうふうに解析されているんだろう!?」という疑問を逐次解決していくためのREPLとして作りました。 lex、sexp、tokenizeというRipperのメソッドを使って、引数で与えられたコードを解析して表示します。 $ iripper iripper> tokenize 1 + 1 ["1", " ", "+", " ", "1"] iripper> sexp 1 + 1 [:program, [[:binary, [:@int, "1", [1, 0]], :+, [:@int, "1", [1, 4]]]]] iripper> lex 1 + 1 [[[1, 0], :on_int, "1", EXPR_END|EXPR_ENDARG], [[1, 1], :on_sp, " ", EXPR_END|EXPR_ENDARG], [[1,