Forum: Ruby-dev [Feature:trunk] C API reference with Doxygen

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Yugui (Yuki S.) (Guest)
on 2008-12-18 11:23
(Received via mailing list)
Yuguiです。

常々、C 
APIリファレンスをDoxygenで作りたいと思っていました。YARVで呼び出
し事前条件を持つような関数もかなり増えたことですし、そうした情報を書いて
おけると解析もしやすくて素敵です。

そこで、添付のような形でDoxygen化を試してみました。むやみに全部の関数に
Doxygenコメントを書こうとは思っていませんが、要所要所だけでも書いて知識
を明文化 & 共有したいのですが、どうでしょうか。
採用を検討していただければ幸いです。

== 使い方
* ./configure時にMakefileと一緒にDoxyfileが生成されます
* make install-capiとすると/usr/local/share/doc/ruby/html かどこかにAPI
リファレンスがインストールされます。

== 書き方
/**
 * rdoc
 *--
 * doxygen description
 *++
 */

のように、/**で始まるコメントを処理します。(Doxygenの仕様)
また、rdocによるRubyレベルAPIのリファレンスと共存するために、rdocの非ド
キュメント指定"--" .. "++" 
で括られた部分をDoxygenに渡すようになっています。

対応するrdocがない関数の場合は
/**
 *--
 * description
 *++
 */

と書けます。また、RDoc::Parser::Cがrdocと間違えるようなコンテキストでな
ければ単に /** description */ のように書けます。

== 制限
処理にそれなりに時間が掛かります。一般ユーザーには必要ないドキュメントで
もありますし、make installではmake 
install-capiは行わないようにしてあり
ます。


また各ファイルのリビジョンを取得するために、subversionまたはgit 
svnで
バージョン管理されていることを前提としています。(tool/file2lastrev.rb)
まつもとさんのstgit環境と共存できるかどうかが心配なのですが、stgitとsvn
はどういう形で連携なさってますか?
Yukihiro M. (Guest)
on 2008-12-18 11:44
(Received via mailing list)
$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message "Re: [ruby-dev:37494] [Feature:trunk] C API reference with
Doxygen"
    on Thu, 18 Dec 2008 18:14:37 +0900, "Yugui (Yuki S.)"
<removed_email_address@domain.invalid> writes:

|$B$^$?3F%U%!%$%k$N%j%S%8%g%s$r<hF@$9$k$?$a$K!"(Bsubversion$B$^$?$O(Bgit svn$B$G(B
|$B%P!<%8%g%s4IM}$5$l$F$$$k$3$H$rA0Ds$H$7$F$$$^$9!#(B(tool/file2lastrev.rb)
|$B$^$D$b$H$5$s$N(Bstgit$B4D6-$H6&B8$G$-$k$+$I$&$+$,?4G[$J$N$G$9$,!"(Bstgit$B$H(Bsvn
|$B$O$I$&$$$&7A$GO"7H$J$5$C$F$^$9$+(B?

$B$R$H$D$N%G%#%l%/%H%j$r(Bsvn$B$H(Bgit(stgit)$B$NN>J}$G4IM}$7$F$$$^$9!#(B
$B$G$9$+$i!"%j%]%8%H%j$+$i$N<h$j9~$_$O(Bsvn$B%3%^%s%I$G9T$C$F$$$^(B
$B$9$+$i!"LdBj$O5/$-$J$$$H;W$$$^$9$h!#(B
This topic is locked and can not be replied to.