How to write plugin in CLANG

Hi,
I am new to LLVM and CLANG, I want to write plugin for printing detailed information about source code such as member function, function calls etc.
I have referred PrintFunctionNames.cpp, and on line documentation for it, still i am confused about implementation of functions
ex:- from CallGraph.cpp i want to use VisitCallExpr(CallExpr *E) and void CallGraph::print(raw_ostream &OS),
also I am getting different useful functions regarding my purpose but not getting how to override those functions, is there tutorial available regarding this.

Thanks & Regards
Nilesh

Indeed there is! Check out http://clang.llvm.org/docs/ClangPlugins.html. You might want to read http://clang.llvm.org/docs/Tooling.html in case something other than the plugin interface is what you want.