pockestrap

Programmer's memo

Ruby 用オンラインパーサーを作っている

その名も Bacon Cannon です。こちらからアクセスできます。 https://bacon-cannon.herokuapp.com/

名前に深い意味はありません。=~演算子のことを Bacon Cannon と呼ぶのが面白くてこの名前になりました。

概要

Bacon Cannon は Web 上から Rubyソースコードをパースして、AST の形を眺めることが出来ます。
また、パースする方法としてRipperParser gem の2つに対応しています。 また、Ripper は Ruby 1.9 ~ 2.4, parser gem は Ruby 1.8 ~ 2.4 のパーサを使用することが可能です。

用途

用途はいくつか想定をしています。

  • Ruby コードをパースした結果をシュッと見たい
  • 複数のバージョンでパースした結果を見比べたい
  • Ripper と Parser gem の出力を見比べたい
    • Parser gem のバグを踏んだ時とか

利用方法

利用方法は簡単です。

  1. https://bacon-cannon.herokuapp.com/ にアクセス
  2. パースしたいコードを textarea に入力
  3. Parse ボタンを押す

f:id:Pocke:20170408214121p:plain

なお、結果が表示されるまでしばらく時間がかかる場合があります。

GitHub

Bacon Cannon のソースコードGitHub で公開されています。

github.com

また、Ripper によりコードをパースする部分のみ別のアプリケーションとして切り出されており、こちらもソースコードが公開されています。

github.com

Issue, Pull request 歓迎しています。

最後に

Bacon Cannon はまだ開発途中ですが、「Ruby コードをパースして表示する」ということは最低限出来るようになっています。
今後は更に使いやすい / わかりやすいアプリケーションにしていこうと考えています。