Codegraph
βcodegraphβ is an analysis tool for PHP-, PERL, Bash, C and Fortran-libraries. It scans files from a list and extracts the the functions therein. Then it extracts the body of each function and tries to find any other of the functions found before. If successfull, it genereates an edge from the function which calls the other function (calling function -β called function). If no function is found, it generates a single knode. βcodegraphβ needs the directory $HOME/.codegraph for some files. You can generate is manually or βcodegraphβ will do this for you, when itβs started the first time.
documentation
For technical issues I recommend to use βrdoc -aβ. Otherwise use the man page or just type
codegraph βhelp
installation
gem install codegraphor
gem install codegraph --user-installfor non-system-wide installation
development
I take codegraph as a moving target. I uses it for PHP in the beginning, but ctags knows a lot languages. So I took over Bash and Perl, too. Now is mainly used for C and Fortran. Thatβs why I added these two to codegraph. Preprocessing is a little bit tricky, but at least for C, it works (hopefully). If you have any kind of feature wishes, please let me know.
changelog
| 0.8 (!released) | Switch from RGL to Graph because of performance |
| Cache scan results internally for speeding repeatedly runs | |
| new option: cluster graph with file names (experimental) | |
| new option: rotate the graph | |
| new option: control ctags options to scan for different language elements | |
| deleted option for setting the maximum depth of the resulting graph | |
| 0.7.22 | reactive the ctags-relates options for scanning other languages/language elements |
| 0.7.21 | use propper method for encoding |
| improved C scanning | |
| 0.7.20 | new options for clustering by filenames (-c), graph rotation (-r) and box representation (-b) instead of ovals |
| 0.7.19 | Changed from RGL to graph library |
| skipped -8 option, this will be reimplemented later | |
| general speed up through threadding and caching of results |
license
codegraph used BSD license, see LICENSE file
thanks
- Horst Duchene, developer of the Ruby Graph Library
- Ryan Davis for providing graph
- Of cource: the ruby communitiy, esp. the mailing-list users
- YOU, using codegraph
contact
stark.dreamdetective@gmail.com or via github