Ruby言語パーサのruby_parser 1.0.0が初リリースによると、Ruby による Ruby パーサが公開されたようです。安定すれば相当便利に使えるでしょうから、勉強がてらさっそく触ってみることにしました。

■ ruby_parser とは?
Ruby で記述された Ruby パーサ。Ruby の構文を受け取って S 式を返します。Lisp 使いにとってはなじみのある形式です。

ホームページ
http://parsetree.rubyforge.org/

RubyForge のプロジェクトサマリ
https://rubyforge.org/projects/parsetree/

■ テスト環境
OS : Windows Vista
CPU: Code2Duo E6850
Mem: 2GB

■ インストール
gem を使えるので、楽ちんです。
gem install ruby_parser --include-dependencies


■ テストコード
実行するのは以下のコードです。

ENV['HOME'] = ''
require 'ruby_parser'

@processor = RubyParser.new
p @processor.parse("p 'Hello RubyParser World!'")


結果は以下のとおりです。

s(:fcall, :p, s(:array, s(:str, "Hello RubyParser World!")))


■ 注意
私の環境では環境変数「HOME」が空文字でもいいので宣言されていないと、require で失敗します。なぜそうなるかは、調査していないのでわかりません。あとで潜ってみるかもしれません。

■ 感想
「楽」の一言に尽きます。Kodougu に組み込んで、Ruby2JavaScript とか実装すれば、クライアントも Ruby で書けるかも、、、などと危ない妄想をしています。どれくらい安定しているのかなどは全くわからないので、しばらく使いこんでみたいと思います。


Posted by あかさた
最近のエントリ
最近の読書メモ