1*94eb5533SMasatake YAMATOExuberant Ctags 2*94eb5533SMasatake YAMATO=============== 3*94eb5533SMasatake YAMATOAuthor: Darren Hiebert <dhiebert at users.sourceforge.net> 4*94eb5533SMasatake YAMATO http://ctags.sourceforge.net 5*94eb5533SMasatake YAMATO Instant Messaging: 6*94eb5533SMasatake YAMATO Yahoo! ID : dbhiebert 7*94eb5533SMasatake YAMATO AIM ScreenName: darrenhiebert 8*94eb5533SMasatake YAMATO 9*94eb5533SMasatake YAMATOExuberant Ctags is a multilanguage reimplementation of the much-underused 10*94eb5533SMasatake YAMATOctags(1) program and is intended to be the mother of all ctags programs. It 11*94eb5533SMasatake YAMATOgenerates indexes of source code definitions which are used by a number of 12*94eb5533SMasatake YAMATOeditors and tools. The motivation which drove the development of Exuberant 13*94eb5533SMasatake YAMATOCtags was the need for a ctags program which supported generation of tags 14*94eb5533SMasatake YAMATOfor all possible C language constructs (which no other ctags offers), and 15*94eb5533SMasatake YAMATObecause most were easily fooled by a number of preprocessor contructs. 16*94eb5533SMasatake YAMATO 17*94eb5533SMasatake YAMATO 18*94eb5533SMasatake YAMATOExuberant Ctags offers the following features: 19*94eb5533SMasatake YAMATO 20*94eb5533SMasatake YAMATO1. It supports the following languages: Assembler, AWK, ASP, BETA, 21*94eb5533SMasatake YAMATO Bourne/Korn/Z Shell, C, C++, C#, COBOL, Eiffel, Erlang, Fortran, Java, Lisp, 22*94eb5533SMasatake YAMATO Lua, Makefile, Objective-C, Pascal, Perl, PHP, PL/SQL, Python, REXX, Ruby, 23*94eb5533SMasatake YAMATO Scheme, S-Lang, SML (Standard ML), Tcl, Vera, Verilog, VHDL, Vim, 24*94eb5533SMasatake YAMATO and YACC. 25*94eb5533SMasatake YAMATO 26*94eb5533SMasatake YAMATO2. It is capable of generating tags for virtually all C language constructs. 27*94eb5533SMasatake YAMATO 28*94eb5533SMasatake YAMATO3. It is very robust in parsing code. In particular, the C/C++ parser is 29*94eb5533SMasatake YAMATO far less easily fooled by code containing #if preprocessor conditional 30*94eb5533SMasatake YAMATO constructs, using a conditional path selection algorithm to resolve 31*94eb5533SMasatake YAMATO complicated situations, and a fall-back algorithm when this one fails. 32*94eb5533SMasatake YAMATO 33*94eb5533SMasatake YAMATO4. Supports output of Emacs-style TAGS files (i.e. "etags"). 34*94eb5533SMasatake YAMATO 35*94eb5533SMasatake YAMATO5. User-defined languages, using Posix regular expressions. 36*94eb5533SMasatake YAMATO 37*94eb5533SMasatake YAMATO6. Supports UNIX, MSDOS, Windows 95/98/NT/2000/XP, OS/2, QNX, Amiga, QDOS, 38*94eb5533SMasatake YAMATO RISC OS, VMS, Macintosh, and Cray. Some pre-compiled binaries are 39*94eb5533SMasatake YAMATO available on the web site. 40*94eb5533SMasatake YAMATO 41*94eb5533SMasatake YAMATO 42*94eb5533SMasatake YAMATOVisit the Exuberant Ctags web site: 43*94eb5533SMasatake YAMATO 44*94eb5533SMasatake YAMATO http://ctags.sourceforge.net 45*94eb5533SMasatake YAMATO 46*94eb5533SMasatake YAMATO 47*94eb5533SMasatake YAMATOWhich brings us to the most obvious question: 48*94eb5533SMasatake YAMATO 49*94eb5533SMasatake YAMATO Q: Why is it called "Exuberant" ctags? 50*94eb5533SMasatake YAMATO A: Because one of the meanings of the word is: 51*94eb5533SMasatake YAMATO 52*94eb5533SMasatake YAMATO exuberant : produced in extreme abundance : PLENTIFUL syn see PROFUSE 53*94eb5533SMasatake YAMATO 54*94eb5533SMasatake YAMATOCompare the tag file produced by Exuberant Ctags with that produced by any 55*94eb5533SMasatake YAMATOother ctags and you will see how appropriate the name is. 56*94eb5533SMasatake YAMATO 57*94eb5533SMasatake YAMATO 58*94eb5533SMasatake YAMATOThis source code is distributed according to the terms of the GNU General 59*94eb5533SMasatake YAMATOPublic License. It is provided on an as-is basis and no responsibility is 60*94eb5533SMasatake YAMATOaccepted for its failure to perform as expected. It is worth at least as 61*94eb5533SMasatake YAMATOmuch as you paid for it! 62*94eb5533SMasatake YAMATO 63*94eb5533SMasatake YAMATOExuberant Ctags was originally derived from and inspired by the ctags 64*94eb5533SMasatake YAMATOprogram by Steve Kirkendall (kirkenda@cs.pdx.edu) that comes with the Elvis 65*94eb5533SMasatake YAMATOvi clone (though almost none of the original code remains). This, too, is 66*94eb5533SMasatake YAMATOfreely available. 67*94eb5533SMasatake YAMATO 68*94eb5533SMasatake YAMATOPlease report any problems you find. The two problems I expect to be most 69*94eb5533SMasatake YAMATOlikely are either a tag which you expected but is missing, or a tag created 70*94eb5533SMasatake YAMATOin error (shouldn't really be a tag). Please include a sample of code (the 71*94eb5533SMasatake YAMATOdefinition) for the object which misbehaves. 72*94eb5533SMasatake YAMATO 73*94eb5533SMasatake YAMATO-- 74*94eb5533SMasatake YAMATOvim:tw=76:sw=4:et: 75