Catcher in the Noosphere

2007-02-04 RubyのNetBeans環境を試す Part1(たぶん)

今週のNetBeansRuby環境  今週の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環境)って何だよ!くらいにすでに完成度が高い。

f:id:hassie:20070205000754j:image:w500

特にスゴイのが、



コードジャンプはRuby組み込みクラスにまでジャンプしてくれる(もちろん、組み込みクラスはCかJavaなのでダミークラスにだが・・・)。

RDTの場合、同じファイル内のメソッド形式呼び出しならジャンプしてくれんだけどね。


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


  1. Navigator (Eclipseアウトラインみたいなやつ)
  2. Lucene Index Browser
  3. AST ViewRubyの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自動的にあがる。

f:id:hassie:20070205001415j:image:w500


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

簡単に下記にはっし〜〜流ビルドのやり方を書いておくのでご参考までに。  簡単に下記にはっし〜〜流ビルドのやり方を書いておくのでご参考までに。 を含むブックマーク


■注意


cvs.netbeans.org から下記のたくさ〜んなプロジェクトをチェックアウトすると大吉


CVS


チェックnbbuildプロジェクトbuild.xmlを実行するのだけど、


■ Targetsタブ

  • build-nozip
  • merge

を選択。


■ Mainタブ ー Arguments


			
  • Dmoduleconfig=ruby

を記載


■ チェックアウトするプロジェクト

apisupport 
applet 
autoupdate 
beans 
classclosure 
classfile 
clazz 
core 
db 
debuggercore 
debuggerjpda 
diff 
editor 
extbrowser 
form 
graph 
html 
httpserver 
i18n 
ide 
image 
j2ee 
j2eeserver 
jarpackager 
java 
javacvs 
javadoc 
jellytools 
jemmy 
junit 
languages 
lexer 
libs 
logger 
mdr 
mobility 
monitor 
nbbuild 
objectbrowser 
openide 
openidex 
profiler 
projects 
properties 
refactoring 
schema2beans 
scripting 
serverplugins 
subversion 
tasklist 
text 
tomcatint 
usersguide 
utilities 
vcscore 
vcscvs 
vcsgeneric 
versioncontrol 
web 
websvc 
xml 
xtest

*1:ちなみに、世の中にはプログラミング言語用の全文(全コード)検索エンジンgonzuigonzui: ソースコード検索エンジンというプロダクトも存在する

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

Connection: close