Reviewed by: Japanese Online Manual Project <man-jp@jp.FreeBSD.ORG> Submitted by: Kazuo Horikawa <k-horik@yk.rim.or.jp>
193 lines
5.9 KiB
Groff
193 lines
5.9 KiB
Groff
.\"
|
|
.\" Copyright (c) 1996, 1997, 1998 Shigio Yamaguchi. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by Shigio Yamaguchi.
|
|
.\" 4. Neither the name of the author nor the names of any co-contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\" jpman %Id: global.1,v 1.3 1997/07/27 12:54:52 horikawa Stab %
|
|
.\"
|
|
.Dd Dec 8, 1998
|
|
.Dt GLOBAL 1
|
|
.Os BSD 4
|
|
.Sh 名称
|
|
.Nm global
|
|
.Nd 指定したオブジェクトの位置を表示する
|
|
.Sh 書式
|
|
.Nm global
|
|
.Op Fl alnrtvx
|
|
.Ar pattern
|
|
.Nm global -c
|
|
.Op Ar prefix
|
|
.Nm global
|
|
.Fl f[anrtx]
|
|
.Ar files
|
|
.Nm global
|
|
.Fl g[alntvx]
|
|
.Ar pattern
|
|
.Nm global
|
|
.Fl i[v]
|
|
.Nm global
|
|
.Fl p
|
|
.Nm global
|
|
.Fl P[alnt]
|
|
.Op Ar pattern
|
|
.Nm global
|
|
.Fl s[alntvx]
|
|
.Ar pattern
|
|
.Sh 解説
|
|
.Nm
|
|
は C や Yacc や Java
|
|
のソースファイル中から特定のオブジェクトの位置を見つけ出します。
|
|
.Nm
|
|
は、ソースツリー(サブディレクトリやソースファイルを持つディレクトリ)も
|
|
扱うことができます。
|
|
ツリー内のどこにあろうと、オブジェクトの相対パスを得ることができます。
|
|
.Nm
|
|
は関数定義だけではなく、関数参照と他のシンボルの位置を把握します。
|
|
二重のエントリも取り扱うことができます。
|
|
.Pp
|
|
このコマンドを使う前に、ソースツリーのルートディレクトリで
|
|
.Xr gtags 1
|
|
を実行し、タグファイルを作成しなければなりません。
|
|
それから、
|
|
.Nm
|
|
をソースツリー下のいかなる場所からでも実行可能です。
|
|
.Sh コマンド
|
|
次のコマンドを使用可能です:
|
|
.Bl -tag -width Ds
|
|
.It Ar pattern
|
|
.Ar pattern
|
|
にマッチするパターンを表示します。POSIX 1003.2 の正規表現を使用可能です。
|
|
.It Fl c Op Ar prefix
|
|
指定された
|
|
.Ar prefix
|
|
で始まる名前の関数の候補を表示します。
|
|
.Ar prefix
|
|
が指定されない場合、すべての関数の名前を表示します。
|
|
.It Fl f Ar files
|
|
.Ar files
|
|
の全関数定義を表示します。このオプションは -x オプションを暗黙的に指定します。
|
|
.It Fl g Ar pattern
|
|
.Ar pattern
|
|
にマッチする全行を表示します。
|
|
grep(1) に似ています。
|
|
.It Fl i
|
|
タグファイルを探して、インクリメンタルに再構築します。
|
|
.It Fl p
|
|
GTAGS の位置を表示します。
|
|
.It Fl P Op Ar pattern
|
|
.Ar pattern
|
|
にマッチするパスを表示します。
|
|
パターンを指定しないと、すべてを表示します。
|
|
.It Fl s Ar pattern
|
|
関数名ではなく指定したシンボルの位置を表示します。
|
|
GSYMS タグファイルが必要です。
|
|
.Xr gtags 1
|
|
を参照してください。
|
|
.Sh オプション
|
|
次のオプションを使用可能です:
|
|
.Bl -tag -width Ds
|
|
.It Fl a
|
|
絶対パスで表示します。デフォルトでは相対パス名で表示します。
|
|
.It Fl l
|
|
現在のディレクトリ下に存在するオブジェクトを表示します。
|
|
.It Fl n
|
|
ソートフィルタとパス変換フィルタを抑制します。
|
|
.It Fl r
|
|
関数の参照場所を表示します。
|
|
デフォルトでは、関数の定義場所を表示します。
|
|
.It Fl t
|
|
標準の ctags フォーマットで表示します。
|
|
.It Fl x
|
|
デフォルトの出力に加えて、行番号と行の内容を表示します。
|
|
.Sh 関連ファイル
|
|
.Bl -tag -width tags -compact
|
|
.It Pa GTAGS
|
|
関数定義に関するタグファイル。
|
|
.It Pa GRTAGS
|
|
関数参照に関するタグファイル。
|
|
.It Pa GSYMS
|
|
関数以外のシンボルのタグファイル。
|
|
.It Pa GPATH
|
|
パスインデックス。インクリメンタル更新とコンパクトフォーマットで使用します。
|
|
.El
|
|
.Sh 環境変数
|
|
以下の環境変数が global の実行に影響します。
|
|
.Pp
|
|
.Bl -tag -width indent
|
|
.It Ev GTAGSROOT
|
|
ソースツリーのルートディレクトリです。
|
|
.It Ev GTAGSDBPATH
|
|
gtags のデータベースが存在するディレクトリです。
|
|
この値は GTAGSROOT が定義されていない場合は無視されます。
|
|
.It Ev GTAGSLIBPATH
|
|
この変数が設定されていると、ライブラリ関数を探すパスとして
|
|
用いられます。指定された関数がソースツリー内に見つからない場合、
|
|
global はこのパスも検索します。
|
|
.Sh 使用例
|
|
|
|
% 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
|
|
|
|
.Sh 診断
|
|
.Nm
|
|
はエラーが発生すると 0 以外の値を、そうでなければ 0 を返します。
|
|
.Sh 関連項目
|
|
.Xr btreeop 1 ,
|
|
.Xr gtags 1 ,
|
|
.Xr htags 1 ,
|
|
.Xr vi 1 .
|
|
.Sh 作者
|
|
Shigio Yamaguchi (shigio@wafu.netgate.net)
|
|
.Sh 歴史
|
|
.Nm
|
|
コマンドは FreeBSD 2.2.2 で登場しました。
|