Hello, ALL.

I recently started to actively program using C and found that tools like
ctags or cscope do not work properly for big projects. Quite ofthen they
can't find function or symbol definition.  The problem here is that they don't
use full code parsing, but just some sort of regular expressions.

I need a tool for automatic code exploration that can at least find definition
for every symbol without problems. If you know any - please tell.

Now, to gcc. It seems to me that existing and working compiler is an ideal
place to embedd such tool - since it already knows all the things required.

I have one idea: i'm almost sure that inside gcc somewhere there is a place 
(function
i beleive) that is called each time during compilation when definition of 
something (type, variable,function...)
found and in this place gcc has context information - source file and line 
where this definition came from.
So if i add something like printf("DEFINITION: %s,%s,%d\n", 
info->object_type,info->src_file,info->line) into
that place, i will get information about every thing that compiler found. 

What i like more about this way of getting information about symbol definition 
is that
i get the only reference to that part of source that was actually compiled. 
I.e. if there are
a lot of #ifdef's, it's is hard to know what part of code will be used.

So, my questions is:

1) Is it possible ? Is there a single place where all information is easily 
accessible ?
2) If yes - where is it and where can i find details about internals of gcc?
3) Any good alternatives for cscope/ctags? It seemed to me that
eclipse has some good framework, but it looks to be too much integrated with 
it...

Thank you!

Reply via email to