Ctags is a program that generates an index (or tag) file of names found in source and header files of various programming languages.

Ctags generates an index (or tag) file of language objects found in source files that 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 file can be used in many source code editors, notably Emacs, Vim, Notepad++, Ultraedit, etc

See http://ctags.sourceforge.net/