aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man1/global.1
blob: 5c2849ad26a1c52b5d02cda68a795517ff4b29ee (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
.\"
.\" Copyright (c) 1996, 1997 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 Nov 26, 1997
.Dt GLOBAL 1
.Os BSD 4
.Sh 名称
.Nm global
.Nd 指定したオブジェクトの位置を表示する
.Sh 書式
.Nm global
.Op Fl alrvx
.Ar pattern
.Nm global -c
.Op Ar prefix
.Nm global
.Fl f[arx]
.Ar file
.Nm global
.Fl g[alvx]
.Ar pattern
.Nm global
.Fl i[v]
.Nm global
.Fl p
.Nm global
.Fl s[alvx]
.Ar pattern
.Sh 解説
.Nm
は C や Yacc のソースファイル中から特定のオブジェクトの位置を見つけ出します。
.Nm
は、ソースツリー(サブディレクトリやソースファイルを持つディレクトリ)も
扱うことができます。
ツリー内のどこにあろうと、オブジェクトの相対パスを得ることができます。
.Nm
は関数定義だけではなく、関数参照と他のシンボルの位置を把握します。
二重のエントリも取り扱うことができます。
.Pp
このコマンドを使う前に、ソースツリーのルートディレクトリで
.Xr gtags 1
を実行し、タグファイルを作成しなければなりません。
それから、
.Nm
をソースツリー下のいかなる場所からでも実行可能です。
.Pp
以下のオプションが使用可能です:
.Bl -tag -width Ds
.It Ar pattern
オブジェクトパターン。POSIX 1003.2 の正規表現を使用可能です。
.It Fl a
絶対パスで表示します。デフォルトでは相対パス名で表示します。
.It Fl c Op Ar prefix
指定された
.Ar prefix
で始まる名前の関数の候補を表示します。
.Ar prefix
が指定されない場合、すべての関数の名前を表示します。
.It Fl f Ar file
.Ar file
の全関数定義を表示します。このオプションは -x オプションを暗黙的に指定します。
.It Fl g
パターンにマッチする全行を表示します。
.It Fl i
タグファイルをインクリメンタルに再構築します。
.It Fl l
現在のディレクトリ下に存在するオブジェクトを表示します。
.It Fl r
関数の参照場所を表示します。
デフォルトでは、関数の定義場所を表示します。
.It Fl p
GTAGS の位置を表示します。
.It Fl s
関数名ではなく指定したシンボルの位置を表示します。
GSYMS タグファイルが必要です。
.Xr gtags 1
を参照してください。
.It Fl x
デフォルトの出力に加えて、行番号と行の内容を表示します。
.Sh 関連ファイル
.Bl -tag -width tags -compact
.It Pa GTAGS
関数定義に関するタグファイル。
.It Pa GRTAGS
関数参照に関するタグファイル。
.It Pa GSYMS
関数以外のシンボルのタグファイル。
.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 で登場しました。