いしだです。 >いがらし@早大 です。 >#他に五十嵐さんがいらっしゃるので、 >#私の名前はかな表記にしますね。 > >「[ruby-list:10385] Re: 大規模プログラムの友」で 、 >Masaki Fukushima <fukusima / goto.info.waseda.ac.jp>さんは書きました: > >> doc-string みたいなものとはちょっと違いますが、今 XML で ruby のクラスの ドキュ >> メントを書けるようにするプログラムを作っています。吉田正人さんの XMLParser >> モジュールを使っています。 > >私もRuby/GTKのAPI一覧をXMLで作りかけていたところです。 >GTKモジュールはクラスが100以上あって、おそらく拡張 >モジュールとしては最大級のものだと思います。そのAPI一覧を >HTMLで書くのは無謀だと思いまして、XMLにしました。 >DTDは書いていません(たぶんwell-formedにはなっています)。 > >いまのところXMLParserではなく、docprocというXSLを使った >変換プロセッサを使っています。 >docprocは(使い方がおかしいのかも知れませんが)日本語が >うまく通らないしJavaで書かれたものなので、 >いずれXMLParserを利用するようにしたいです。 >#その前にXMLをきちんと勉強しないと...。 > >XML→他のフォーマット の変換方式は色々あるでしょうが >まずソースとなるXML形式でのDTDをしっかり決めたいですね。 >もちろんXML以外でふさわしい形式があればそれでもいいのですが。 > >> まだ作りかけですが、 >> >> http://www.goto.info.waseda.ac.jp/~fukusima/ruby/xml/ >> >> に現時点でのサンプル出力を置いてあるので興味のある方は見て下さい。 > >私も(本当に)作りかけですが、書き方はだいたい同じようなものです。 > http://www.ueda.info.waseda.ac.jp/~igarashi/ruby/gtk/ ↑ このURLって、「File Not found」になるのですが。。。!? >まだクラスとメソッドを列挙した程度です。 >GTKのヘッダファイルから適当に自動生成したものに >手を加えたのですがおそらく抜けがあるでしょう。 >これから徐々にチェックしようと思っています。 ># 気が遠くなるほどの数のメソッド(1000前後?)があります。 ># あと定数と構造体メンバもやらなくては。道は険しいです。 > >サンプルにGtk::Windowを載せておきます。 >(HTMLへの変換結果は上のURLにあります) >メソッド引数の表現がどうもいまいちです。 >またnotimp属性はメソッドなどがまだ実装されて >いないことを示しています。 > > <class name="Gtk::Window" super="Gtk::Bin"> > <module-methods> > <method name="new" args="(type)"> > <args> > <arg name="type"><desc>Type of a window to be created.</desc></arg> > </args> > <desc> > Create a new Gtk::Window object. > The <var>type</var> can be one of Gtk::Window::TOPLEVEL, > Gtk::Window::DIALOG or, Gtk::Window::POPUP. > The <var>type</var> value determines how this widget > will interact with the window manager. > </desc> > </method> > </module-methods> > <methods> > <method name="set_title" args="(title)"> > <args> > <arg name="title"><desc>Title set to this window.</desc></arg> > </args> > <desc> > Set the title of this window to <var>title</var>. > </desc> > </method> > <method name="set_wmclass"></method> > <method name="set_focus"></method> > <method name="set_default"></method> > <method name="set_policy"></method> > <method name="add_accelerator_table"></method> > <method name="remove_accelerator_table"></method> > <method name="position"></method> > <method name="activate_focus" notimp="true"></method> > <method name="activate_default" notimp="true"></method> > </methods> > </class> > >--------------- >いがらし ひろし > ---------------------------------------- いしだ ひろたか