Fork of ctags with Ada support
Go to file
dhiebert 5888840ae0 Simplified BASIC parser to stop it from installing as multiple parsers.
git-svn-id: svn://svn.code.sf.net/p/ctags/code/trunk@579 c5d04d22-be80-434c-894e-aa346cc9e8e8
2007-06-30 23:59:12 +00:00
Eiffel Fixed comment and contracts. 2003-07-26 16:26:36 +00:00
Test trunk/verilog.c: (Bug #1743330) to undo a fileGetc, we should call fileUngetc. Mixing the "read.c"-level get/unget and "verilog.c"-level get/unget leads to madness and crashes. I first came across this bug in the submitted VHDL parser, which is largely a copy & paste of the Verilog parser, and then ten minutes later, running ctags on a large VHDL codebase, I came across a binary file called "something.v" that caused the original assertion to fail. It wasn't hard to knock up a somewhat more realistic test case. 2007-06-26 05:41:27 +00:00
website Added entry for OpenGrok. 2007-06-24 19:59:04 +00:00
win32 Changed how win32 makefile is created. 2002-02-16 05:38:18 +00:00
.gdbinit Brought web site and win32 build directory into CVS and build process. 2002-01-27 01:42:30 +00:00
.indent.pro Tuning of indentation. Still only approximate. 2006-08-23 02:19:09 +00:00
COPYING Initial restoration. 2001-11-02 04:53:43 +00:00
EXTENDING.html Added note about modifying makefile. 2002-09-04 01:17:32 +00:00
FAQ Updated URL for GLOBAL. 2003-07-03 06:08:21 +00:00
INSTALL Initial restoration. 2001-11-02 04:53:43 +00:00
INSTALL.oth Updated link. 2005-01-06 04:42:56 +00:00
MAINTAINERS Added maintainer for Basic interpreter. 2006-10-12 04:36:21 +00:00
Makefile.in Removed strip of binary. 2003-07-27 22:09:58 +00:00
NEWS Fixed compilation problem on MinGW [Bug #1517424]. 2007-06-30 15:30:16 +00:00
README Updated docs for release. 2003-04-01 04:13:35 +00:00
acconfig.h Updated copyright dates. 2003-04-01 05:02:21 +00:00
argproc.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
args.c trunk/args.c: 2007-06-02 06:09:00 +00:00
args.h Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
asm.c trunk/args.c: 2007-06-02 06:09:00 +00:00
asp.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
awk.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
basic.c Simplified BASIC parser to stop it from installing as multiple parsers. 2007-06-30 23:59:12 +00:00
beta.c trunk/args.c: 2007-06-02 06:09:00 +00:00
c.c trunk/c.c: remove unused macros. 2007-06-25 05:57:05 +00:00
cobol.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
configure.in configure.in: Dmitry Antipov also suggested removing the spurious quotes here, which I notice do look strange in the "./configure" output. Previously we'd say: 2007-06-24 22:48:27 +00:00
ctags.1 trunk/ctags.1: (Bug #1745301) clarify the "--options" option. 2007-06-30 04:16:23 +00:00
ctags.h trunk/ctags.h: 2007-06-15 17:02:12 +00:00
ctags.lsm Prepared for release 5.5.2. 2003-09-18 01:19:12 +00:00
ctags.spec Changed to correspond to operations of Red Hat's spec file. 2003-07-31 01:57:19 +00:00
debug.c trunk/debug.c: 2007-06-15 19:17:02 +00:00
debug.h trunk/debug.c: 2007-06-15 19:17:02 +00:00
descrip.mms Initial restoration. 2001-11-02 04:53:43 +00:00
e_amiga.h Moved non-configure-script environment configurations into separate files. 2002-03-08 22:35:19 +00:00
e_djgpp.h Fixed portability problem for DJGPP. 2003-10-31 04:15:35 +00:00
e_mac.h Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
e_msoft.h Fixed compilation problem on MinGW [Bug #1517424]. 2007-06-30 15:30:16 +00:00
e_os2.h Moved non-configure-script environment configurations into separate files. 2002-03-08 22:35:19 +00:00
e_qdos.h Moved non-configure-script environment configurations into separate files. 2002-03-08 22:35:19 +00:00
e_riscos.h Moved non-configure-script environment configurations into separate files. 2002-03-08 22:35:19 +00:00
e_vms.h Moved non-configure-script environment configurations into separate files. 2002-03-08 22:35:19 +00:00
eiffel.c trunk/eiffel.c: remove duplicate definition of Lang_eiffel (C doesn't have the One Definition Rule, but it still makes no sense to have a duplicate definition). 2007-06-17 03:31:21 +00:00
entry.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
entry.h Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
erlang.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
fortran.c trunk/args.c: 2007-06-02 06:09:00 +00:00
general.h Enabled Gnu warning suppression macros for GCC on Mac OS X. 2007-05-03 03:20:59 +00:00
get.c trunk/get.c: fix typos in comments. 2007-06-17 03:30:09 +00:00
get.h trunk/c.c: 2007-05-28 01:50:41 +00:00
html.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
index.html Added new ctags country: Vietnam 2007-05-03 03:18:56 +00:00
jscript.c trunk/args.c: 2007-06-02 06:09:00 +00:00
keyword.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
keyword.h Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
lisp.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
lregex.c trunk/ctags.1: (Bug #1745301) clarify the "--options" option. 2007-06-30 04:16:23 +00:00
lua.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
mac.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
magic.diff Initial restoration. 2001-11-02 04:53:43 +00:00
main.c trunk/args.c: 2007-06-02 06:09:00 +00:00
main.h Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
maintainer.mak Removed obsolete memory checking support. 2007-02-17 22:43:15 +00:00
make.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
mk_bc3.mak Fixed dependency. 2003-02-24 02:27:53 +00:00
mk_bc5.mak Added mostlyclean target to leave ctags.exe. 2003-09-19 04:02:39 +00:00
mk_djg.mak Improved portability on Cygwin and DJGPP. 2003-03-31 04:53:22 +00:00
mk_manx.mak Added support for Erlang language, submitted by Brent Fulgham. 2003-02-13 02:59:30 +00:00
mk_ming.mak Initial restoration. 2001-11-02 04:53:43 +00:00
mk_mpw.mak Added support for Erlang language, submitted by Brent Fulgham. 2003-02-13 02:59:30 +00:00
mk_mvc.mak Added mostlyclean target to leave ctags.exe. 2003-09-19 04:02:39 +00:00
mk_os2.mak Update supplied by Alexander Mai. 2002-01-27 21:20:55 +00:00
mk_qdos.mak Added support for Erlang language, submitted by Brent Fulgham. 2003-02-13 02:59:30 +00:00
mk_risc.mak Added support for Erlang language, submitted by Brent Fulgham. 2003-02-13 02:59:30 +00:00
mk_sas.mak Added support for Erlang language, submitted by Brent Fulgham. 2003-02-13 02:59:30 +00:00
mkinstalldirs Initial restoration. 2001-11-02 04:53:43 +00:00
options.c trunk/ctags.1: (Bug #1745301) clarify the "--options" option. 2007-06-30 04:16:23 +00:00
options.h Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
parse.c trunk/ctags.1: (Bug #1745301) clarify the "--options" option. 2007-06-30 04:16:23 +00:00
parse.h Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
parsers.h Simplified BASIC parser to stop it from installing as multiple parsers. 2007-06-30 23:59:12 +00:00
pascal.c trunk/args.c: 2007-06-02 06:09:00 +00:00
perl.c Do not create confused double-package tags for packages if +q extra 2007-03-02 04:42:33 +00:00
php.c trunk/php.c: Cygwin doesn't support non-ASCII characters in character classes, so use different regular expressions there to avoid run-time errors. (I'm not sure why we seem to be abandoning the "proper" parser for regular expressions here; that seems like a retrograde step. I also don't know whether the JavaScript regular expressions are supposed to be ASCII-only, or even what they're doing in this file, but I've left them as they were.) 2007-06-15 17:20:04 +00:00
python.c trunk/python.c: fix compiler warning: 2007-06-24 01:20:20 +00:00
qdos.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
read.c trunk/lregex.c: 2007-06-04 02:14:45 +00:00
read.h Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
readtags.c Eliminate compilation warnings. 2007-06-30 23:29:07 +00:00
readtags.h Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
rexx.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
routines.c trunk/args.c: 2007-06-02 06:09:00 +00:00
routines.h trunk/args.c: 2007-06-02 06:09:00 +00:00
ruby.c trunk/ruby.c: simple-minded (but reasonably effective) skipping of string literals, so we don't accidentally recognize "keywords" inside string literals. 2007-06-24 23:32:14 +00:00
scheme.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
sh.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
slang.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
sml.c trunk/args.c: 2007-06-02 06:09:00 +00:00
sort.c Removed obsolete memory checking support. 2007-02-17 22:43:15 +00:00
sort.h Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
source.mak Added support for BlitzBasic, PureBasic and FreeBasic [FR #1100506]. 2006-09-24 10:55:16 +00:00
sql.c In SQL Anywhere Version 10 additional stored procedures have been added 2007-06-26 23:05:27 +00:00
strlist.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
strlist.h Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
tcl.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00
testing.mak Made test.eiffel conditional upon existence. 2006-10-13 23:04:03 +00:00
verilog.c trunk/verilog.c: (Bug #1743330) to undo a fileGetc, we should call fileUngetc. Mixing the "read.c"-level get/unget and "verilog.c"-level get/unget leads to madness and crashes. I first came across this bug in the submitted VHDL parser, which is largely a copy & paste of the Verilog parser, and then ten minutes later, running ctags on a large VHDL codebase, I came across a binary file called "something.v" that caused the original assertion to fail. It wasn't hard to knock up a somewhat more realistic test case. 2007-06-26 05:41:27 +00:00
vim.c Added casting to remove a warning when calling strlen(). 2006-10-24 12:06:19 +00:00
vstring.c trunk/debug.c: 2007-06-15 19:17:02 +00:00
vstring.h Fix potential segmentation violation [Bug #1672834]. 2007-06-07 05:50:32 +00:00
yacc.c Reformatted code for independence of tab stop setting. 2006-05-30 04:37:13 +00:00

README

Exuberant Ctags
===============
Author: Darren Hiebert <dhiebert at users.sourceforge.net>
        http://ctags.sourceforge.net
        Instant Messaging:
          Yahoo! ID     : dbhiebert
          AIM ScreenName: darrenhiebert

Exuberant Ctags is a multilanguage reimplementation of the much-underused
ctags(1) program and is intended to be the mother of all ctags programs. It
generates indexes of source code definitions which are used by a number of
editors and tools. The motivation which drove the development of Exuberant
Ctags was the need for a ctags program which supported generation of tags
for all possible C language constructs (which no other ctags offers), and
because most were easily fooled by a number of preprocessor contructs.


Exuberant Ctags offers the following features:

1.  It supports the following languages: Assembler, AWK, ASP, BETA,
    Bourne/Korn/Z Shell, C, C++, C#, COBOL, Eiffel, Erlang, Fortran, Java, Lisp,
    Lua, Makefile, Pascal, Perl, PHP, PL/SQL, Python, REXX, Ruby, Scheme,
    S-Lang, SML (Standard ML), Tcl, Vera, Verilog, Vim, and YACC.

2.  It is capable of generating tags for virtually all C language constructs.

3.  It is very robust in parsing code. In particular, the C/C++ parser is
    far less easily fooled by code containing #if preprocessor conditional
    constructs, using a conditional path selection algorithm to resolve
    complicated situations, and a fall-back algorithm when this one fails.

4.  Supports output of Emacs-style TAGS files (i.e. "etags").

5.  User-defined languages, using Posix regular expressions.

6.  Supports UNIX, MSDOS, Windows 95/98/NT/2000/XP, OS/2, QNX, Amiga, QDOS,
    RISC OS, VMS, Macintosh, and Cray. Some pre-compiled binaries are
    available on the web site.


Visit the Exuberant Ctags web site:

    http://ctags.sourceforge.net


Which brings us to the most obvious question:

  Q: Why is it called "Exuberant" ctags?
  A: Because one of the meanings of the word is:

     exuberant : produced in extreme abundance : PLENTIFUL syn see PROFUSE

Compare the tag file produced by Exuberant Ctags with that produced by any
other ctags and you will see how appropriate the name is.


This source code is distributed according to the terms of the GNU General
Public License. It is provided on an as-is basis and no responsibility is
accepted for its failure to perform as expected. It is worth at least as
much as you paid for it!

Exuberant Ctags was originally derived from and inspired by the ctags
program by Steve Kirkendall (kirkenda@cs.pdx.edu) that comes with the Elvis
vi clone (though almost none of the original code remains). This, too, is
freely available.

Please report any problems you find. The two problems I expect to be most
likely are either a tag which you expected but is missing, or a tag created
in error (shouldn't really be a tag). Please include a sample of code (the
definition) for the object which misbehaves.

--
vim:tw=76:sw=4:et: