xref: /Universal-ctags/old-docs/website/desire.html (revision 94eb5533b4afecf9ec7f085ede410daa2faa5c1f)
1<html>
2<head>
3<title>Exuberant Ctags: Why?</title>
4</head>
5<body>
6
7<h1>What makes this implementation of ctags desirable?</h1>
8
9<ol>
10
11<p>
12<li>
13Supports <a href="languages.html">many programming languages</a>.
14</li>
15</p>
16
17<p>
18<li>It is capable of generating tags for <strong><em>all</em></strong> types
19    of C/C++ language tags, including all of the following:
20    <p>
21    <menu>
22    <li type=disk>class names
23    <li type=disk>macro definitions
24    <li type=disk>enumeration names
25    <li type=disk>enumerators
26    <li type=disk>function definitions
27    <li type=disk>function prototypes/declarations
28    <li type=disk>class, interface, struct, and union data members
29    <li type=disk>structure names
30    <li type=disk>typedefs
31    <li type=disk>union names
32    <li type=disk>variables (definitions and external declarations)
33    </menu>
34</li>
35</p>
36
37<p>
38<li>It is far less easily fooled by C code containing <code>#if</code>
39    preprocessor conditional constructs, using a conditional path selection
40    algorithm to resolve complicated choices, and a fall-back algorithm when
41    this one fails.
42</li>
43</p>
44
45<p>
46<li>Supports user-defined languages, using regular expressions.
47</li>
48</p>
49
50<p>
51<li>Supports output of Emacs-style TAGS files.
52</li>
53</p>
54
55<p>
56<li>Can also be used to print out a list of selected objects found in source
57    files.
58</li>
59</p>
60
61<p>
62<li>Compiles on UNIX, MSDOS, Windows 95/98/NT, OS/2, QNX, Amiga, QDOS, VMS,
63    Macintosh, and Cray.
64</li>
65</p>
66
67</ol>
68
69<hr>
70<a href="http:index.html">Back to <strong>Exuberant Ctags</strong></a>
71
72</body>
73</html>
74