|
|
GNU GLOBAL ソースコードタグシステム
GNU GLOBAL は、ソースコードに索引付けを行うことで、大規模システムのハックや
レビューを効率化するソフトウエアです。
ソースファイル中の指定したシンボルを高速に見つけ出し、素早くその場所に
移動することができます。多くのサブディレクトリからなり、#ifdef
や main() 関数を沢山含んでいるような、いわゆる巨大な
プロジェクトをハックするのに役立ちます。ctags やetags に似た働きを
しますが、エディタには依存せず様々な環境でご利用になれます。
GNU GLOBALは
GNU GPLv3 にもとづいた
自由なソフトウエア で、かつ
BOKINモデル にもとづいた商用ソフトウエアです。
現在、
[NEW]
商用ライセンシーを募集
しております。
BOKINモデル
GNU GLOBAL プロジェクトホームページ
GNU GLOBALを取得する
GNU GLOBAL 入門
(2011/9/14)
書籍
「GNU GLOBAL ハンドブック」 を発売致します
単なるマニュアルではなく、使い方のコツやシステムの考え方などを開発者自身が詳しく
解説致します。新たな言語の組み込みの方法や様々なカスタマイズの方法なども
具体的に理解できます。
発売は年明け早々を予定しております。
もう少々かかりそうです。
|
動機
次の二つの条件を満たすソースコードタグシステムを開発しようと考えました。
- 幅広い環境で利用可能
-
ソースコードの解読をサポートするツールは数多く存在しますが、それらのほとんどは
独自のユーザインターフェイスから使用することを前提に設計されており、
他のツールと組み合わせて使うようにはできておりません。
ある解析ツールを選択したならば、それ以外のツールを捨て去るか、あるいは
関連のないツールを交互に参照しなければならないのです。
そこで、ソースコードの解読に必須であるタグ(索引付け)機能だけを独立させ、
様々な環境から呼びだして使えるようにしようと考えました。
- 大規模プロジェクトに適用可能
-
ソフトウエアの規模は日増しに増大しておりますが、
旧来のタグシステムは比較的小規模なプロジェクトを前提に作られています。
そこで大規模プロジェクトを高速に検索でき、深いディレクトリ構造を扱える
新しいタグシステムを作ろうと考えました。
特徴
- 様々な環境で、ソースコードタグシステムとして機能します。
- 指定されたオブジェクトのありかを素早く検索できます。
- オブジェクトの定義部だけではなく、参照部分も検索できます。
- 指定パターンを含むパスを検索できます。
- ソースディレクトリ全体を論理的なプロジェクトとして取り扱います。
- ソースディレクトリだけでなく、ライブラリディレクトリも検索できます。
- POSIX 1003.2 正規表現が利用可能です。
- grep の機能を内蔵しています。
- 外部コマンドid-utilsが利用可能です。
- ソースコードをハイパーテキスト化できます(XHTML にも対応)。
- タグファイルはマシンアーキテクチャーからは独立しています。
- プラグインパーサを作成すれば、新たな言語をサポートできます。
- 利用するディスク領域を減らすためのコンパクトフォーマットが利用可能です。
- タグファイルの差分更新が可能です。
- style.css, gtags.conf を使って自由なコンフィグレーションが可能です。
- bash 等の補完入力で利用可能な補完リストを生成できます。
他のツールとの機能比較については、OpenGrokプロジェクトサイトの
類似ツールとの比較表(Comparison with Similar Tools)
をご覧ください。
動作環境
- 対応OS
-
- GNU システム - Debian, Fedora, Suse
- BSD システム - FreeBSD, NetBSD, OpenBSD, MacOSX
- 各種POSIX互換 システム
- 対応言語:
-
- 対応環境:
-
- シェルのコマンドライン
- Bashシェル
- 各種Viエディタ(nvi,elvis,vim)
- Emacsエディタ(emacs, mule, xemacs)
- Lessビュアー
- 各種Web ブラウザ
- Doxygen ドキュメンテーションシステム
関連リンク
外部の関連リンク
利用条件等
- 配布条件:
-
GNU GPLv3 (GNUの汎用的な公開ライセンス)の元で自由に再配布が可能です。言うまでもなく、動作および機能のすべては無保証です。
関連リンク:
|