[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CEDET merge question
From: |
Richard Stallman |
Subject: |
Re: CEDET merge question |
Date: |
Mon, 14 Sep 2009 14:28:37 -0400 |
Etags, ctags, gnu global, idutils and cscope all have parsers of some
sort that parse C and C++ code. Some use regexp matchers. Others have
primitive parsers.
gcc, of course, has a full language compliant parser which it uses to
compile code. I'm not a gcc expert, but I assume that as it parses, it
keeps track of the various symbols (functions, variables, namespaces,
etc) and where they are. (ie - debug info for gdb).
Now I know what you are talking about. This idea seems very
appealing, but it has a grave flaw. The flaw comes from the way GCC
handles input: it does preprocessing first, and real parsing operates
only on the output of preprocessing. So the output that GCC can
easily make would describe only the output of preprocessing.
Definitions and calls which are not actually compiled won't be seen at
all. Macros and references to them won't be seen at all.
What etags does now is much better, because it avoids that problem.
It is true that output from GCC would give more details about types,
etc., and would avoid getting confused in a few strange situations.
So there is indeed an advantage to generating the output from GCC.
But the disadvantage is much more important.
I designed a way to make GCC analyze and report on macros and on the
code that's not compiled in. That would get the best of both aspects.
But this is not a small job. Please don't ask me to write more
details unless you're prepared to do a substantial amount of work
and study the GCC parsing code carefully.
- Re: CEDET merge question, (continued)
- Re: CEDET merge question, Richard Stallman, 2009/09/07
- Re: CEDET merge question, Eric M. Ludlam, 2009/09/12
- Re: CEDET merge question, Miles Bader, 2009/09/12
- Re: CEDET merge question, Richard Stallman, 2009/09/13
- Re: CEDET merge question, tomas, 2009/09/14
- Re: CEDET merge question, Miles Bader, 2009/09/14
- Re: CEDET merge question, tomas, 2009/09/14
- Re: CEDET merge question, David Engster, 2009/09/12
- Re: CEDET merge question, Richard Stallman, 2009/09/13
- Re: CEDET merge question, Eric M. Ludlam, 2009/09/13
- Re: CEDET merge question,
Richard Stallman <=
- Re: CEDET merge question, Richard Stallman, 2009/09/13
- Re: CEDET merge question, Richard Stallman, 2009/09/07
Re: CEDET merge question, joakim, 2009/09/08