cspot is a semantic annotator designed only for the C programming language. It is quite similar to cscope, but some more functionality. It can be used to find the declarations, definitions, and usages of functions, variables, macros, typedefs, and structs. It can also find visible identifiers at some position in the source, functions called by a function, global variables used by a function, usages of local variable declarations, unused global variables, unused function definitions, and more. Because it uses sparse, cspot knows more about semantics than cscope.