今週のNetBeansのRuby環境


Tor Nobeyが今週のNetBeansRuby環境の様子を書いていたりするんだけど、
2/2にNetBeansCVSにあげたようです。

Ruby Screenshot of the Week #3
http://blogs.sun.com/tor/date/20070202

ビルドのやり方も書いてくれているのでさっそくビルドしてみることにした。

・・・・というわけで、

「はっし〜〜が夜なべをしてNetBeansビルドしたよ♪〜」

・・・ああ、昨日は木枯らしが吹いていたなぁ。


チェックアウトからビルドまでを4回失敗して、結局5時間以上かかっちゃったよ(遠い目)。
最後はEclipse環境上でビルドしてやっと成功。


試してみると、おいおい、RDT(EclipseRuby環境)って何だよ!くらいにすでに完成度が高い。

特にスゴイのが、

  • Syntax Coloring(コードの色づけね)
  • コードジャンプ


コードジャンプはRubyの組み込みクラスにまでジャンプしてくれる(もちろん、組み込みクラスはCかJavaなのでダミークラスにだが・・・)。
RDTの場合、同じファイル内のメソッド形式呼び出しならジャンプしてくれんだけどね。


その他、Windowとして以下のものがある。

  1. Navigator (Eclipseのアウトラインみたいなやつ)
  2. Lucene Index Browser
  3. AST View (RubyのAbstaract Syntax Tree をJRubyを利用して表示する)
  4. Token Spy Window


多分、1は説明の必要もないアウトライン表示。


2は(おそらく)コード補完候補を出すための仕組みの制御。
NetBeansRuby環境ではコード補完候補を出すために、LuceneというJava製の全文検索エンジンを使っているもよう。
全文検索エンジンのインデックス作成範囲を指定するツールが2というわけだ。
*1


3は、これは説明難しいな・・・。
簡単に言うと、コンパイラのlexer(字句解析)なり、Parser(構文解析)で解析した結果はAbstarace Syntax Tree(抽象構文木)(以下、AST)という形式で保存しておくわけだよ
プログラムの実行時はこのASTをたどりながら実行するというのが、インタプリタ型言語の仕組みだったりする。
*2



ということはだ、プログラムからコードの文字列を触るよりも、このASTをいじくった方がいろいろとプログラミングしやすかったりする。
したがって、ASTを見られる環境があるとまぁ、いろいろとツールを作ったりしやすいというわけだ。
おそらく、このASTツールはTorタンが自分自身のために使っていると見た。
ちなみに、4のToken Windowはlexerの字句解析結果を見るためのツールだね。これもTorタンが使っていると見た。
(だって、僕らパンピーには必要ないもの。)


あと、書き忘れたけどRailsのプロジェクトも作れる。Webrickも自動的にあがる。


それにしても、すごいぞ! Torタン。 この短期間でよくぞここまで・・・。ぐっじょぶ。

*1:ちなみに、世の中にはプログラミング言語用の全文(全コード)検索エンジンのgonzui[http://gonzui.sourceforge.net/index.html.ja:title]というプロダクトも存在する

*2:ちなみに、JavaはASTにした後、バイトコードを吐くわけだな。その他のコンパイラ型言語はもちろんネイティブ・コードを吐く