Exuberant Ctags is a multilanguage implementation of Ctags.
Ctags generates an index (or "tag") file for C, C++, Eiffel, Fortran, and Java language objects found in source files. This tag file allows these items to be quickly and easily located by a text editor or other utility.
A "tag" signifies a language object for which an index entry is available (or, alternatively, the index entry created for that object). Tag index files are supported by numerous editors, which allow the user to locate the object associated with a name appearing in a source file and jump to the file and line which defines the name. The editors currently know to support tag files are Vi, Vim, Vile, Lemmy, emacs, CRiSP, FTE, NEdit, TSE, X2, and Zeus.