Ruby のソースコードを Ripper(1.9 ~ 2.4) or parser gem(1.8 ~ 2.4)を使ってパースした結果を眺められる Web サービスを作った
— Pocke (@p_ck_) 2017年4月8日
その名も Bacon Cannon です。こちらからアクセスできます。 https://bacon-cannon.herokuapp.com/
名前に深い意味はありません。=~
演算子のことを Bacon Cannon と呼ぶのが面白くてこの名前になりました。
概要
Bacon Cannon は Web 上から Ruby のソースコードをパースして、AST の形を眺めることが出来ます。
また、パースする方法としてRipper と Parser gem の2つに対応しています。
また、Ripper は Ruby 1.9 ~ 2.4, parser gem は Ruby 1.8 ~ 2.4 のパーサを使用することが可能です。
用途
用途はいくつか想定をしています。
- Ruby コードをパースした結果をシュッと見たい
- 複数のバージョンでパースした結果を見比べたい
- Ripper と Parser gem の出力を見比べたい
- Parser gem のバグを踏んだ時とか
利用方法
利用方法は簡単です。
- https://bacon-cannon.herokuapp.com/ にアクセス
- パースしたいコードを textarea に入力
- Parse ボタンを押す
なお、結果が表示されるまでしばらく時間がかかる場合があります。
GitHub
Bacon Cannon のソースコードは GitHub で公開されています。
また、Ripper によりコードをパースする部分のみ別のアプリケーションとして切り出されており、こちらもソースコードが公開されています。
Issue, Pull request 歓迎しています。
最後に
Bacon Cannon はまだ開発途中ですが、「Ruby コードをパースして表示する」ということは最低限出来るようになっています。
今後は更に使いやすい / わかりやすいアプリケーションにしていこうと考えています。