28.4.2 Tags Tables
A tags table records the tags 15 extracted by scanning the source code of a certain program or a
certain document. Tags extracted from generated files reference the
original files, rather than the generated files that were scanned
during tag extraction. Examples of generated files include C files
generated from Cweb source files, from a Yacc parser, or from Lex
scanner definitions; .i
preprocessed C files; and Fortran files
produced by preprocessing .fpp
source files.
To produce a tags table, you run the etags
shell command
on a document or the source code file. The ‘ etags
’ program
writes the tags to a tags table file, or tags file in
short. The conventional name for a tags file is TAGS
.
See Creating Tags Tables. (It is also possible to create a tags table
by using one of the commands from other packages that can produce such
tables in the same format.)
Emacs uses the tags tables via the etags
package as one of
the supported backends for xref
. Because tags tables are
produced by the etags
command that is part of an Emacs
distribution, we describe tags tables in more detail here.
The Ebrowse facility is similar to etags
but specifically
tailored for C++. See Ebrowse in Ebrowse User’s
Manual. The Semantic package provides another way to generate and
use tags, separate from the etags
facility.
See Semantic.
Footnotes
(15)
A tag is a synonym for identifier reference. Commands and
features based on the etags
package traditionally use “tag”
with this meaning, and this subsection follows that tradition.