GLOBAL(1)

名称
global - 指定したオブジェクトの位置を表示する

書式
global [-alrvx] pattern global -c [prefix] global -f[arx] file global -g[alvx] pattern global -i[v] global -p global -s[alvx] pattern

解説
global は C や Yacc のソースファイル中から特定のオブジェクトの位置を見つけ出します。 global は、ソースツリー(サブディレクトリやソースファイルを持つディレクトリ)も 扱うことができます。 ツリー内のどこにあろうと、オブジェクトの相対パスを得ることができます。 global は関数定義だけではなく、関数参照と他のシンボルの位置を把握します。 二重のエントリも取り扱うことができます。

このコマンドを使う前に、ソースツリーのルートディレクトリで gtags(1) を実行し、タグファイルを作成しなければなりません。 それから、 global をソースツリー下のいかなる場所からでも実行可能です。

以下のオプションが使用可能です:

pattern
    オブジェクトパターン。POSIX 1003.2 の正規表現を使用可能です。

-a  絶対パスで表示します。デフォルトでは相対パス名で表示します。

-c [prefix]
    指定された prefix で始まる名前の関数の候補を表示します。 prefix が指定されない場合、すべての関数の名前を表示します。

-f file
    file の全関数定義を表示します。このオプションは -x オプションを暗黙的に指定します。

-g  パターンにマッチする全行を表示します。

-i  タグファイルをインクリメンタルに再構築します。

-l  現在のディレクトリ下に存在するオブジェクトを表示します。

-r  関数の参照場所を表示します。 デフォルトでは、関数の定義場所を表示します。

-p  GTAGS の位置を表示します。

-s  関数名ではなく指定したシンボルの位置を表示します。 GSYMS タグファイルが必要です。 gtags(1) を参照してください。

-x  デフォルトの出力に加えて、行番号と行の内容を表示します。

関連ファイル
GTAGS
    関数定義に関するタグファイル。
GRTAGS
    関数参照に関するタグファイル。
GSYMS
    関数以外のシンボルのタグファイル。

環境変数
以下の環境変数が global の実行に影響します。

GTAGSROOT
    ソースツリーのルートディレクトリです。

GTAGSDBPATH
    gtags のデータベースが存在するディレクトリです。 この値は GTAGSROOT が定義されていない場合は無視されます。

GTAGSLIBPATH
    この変数が設定されていると、ライブラリ関数を探すパスとして 用いられます。指定された関数がソースツリー内に見つからない場合、 global はこのパスも検索します。

使用例
% ls -F Makefile src/ lib/ % gtags % global main src/main.c % global -x main main 10 src/main.c main (argc, argv) { % global -x '^[sg]et' set_num 20 lib/util.c set_num(values) get_num 30 lib/util.c get_num() { % global -rx '^[sg]et' set_num 113 src/op.c set_num(32); set_num 225 src/opop.c if (set_num(0) > 0) { get_num 90 src/op.c while (get_num() > 0) { % cd lib % global -rx '^[sg]et' set_num 113 ../src/op.c set_num(32); set_num 225 ../src/opop.c if (set_num(0) > 0) { get_num 90 ../src/op.c while (get_num() > 0) { % global strlen % (cd /usr/src/sys; gtags) % setenv GTAGSLIBPATH /usr/src/sys % global strlen ../../../usr/src/sys/libkern/strlen.c % (cd /usr/src/lib; gtags) % setenv GTAGSLIBPATH /usr/src/lib:/usr/src/sys % global strlen ../../../usr/src/lib/libc/string/strlen.c

診断
global はエラーが発生すると 0 以外の値を、そうでなければ 0 を返します。

関連項目
btreeop(1), gtags(1), htags(1), vi(1).

作者
Shigio Yamaguchi (shigio@wafu.netgate.net)

歴史
global コマンドは FreeBSD 2.2.2 で登場しました。