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!