18 Feb 2000 uzi   » (Journeyer)

Man, it would be nice to have a decent open source cscope implementation... I have my cgvg scripts... there's LXR... and even id-utils. Oh yes, can't forget cs, which is a poor cscope clone (but have you seen the license?)

So, cgvg is somewhat adequate. It was written to be a quick hack and I just added stuff here and there and got it into it's present state. It's written in 100% Perl... and does a decent find/grep-like job... but if you have a large tree (like the Linux kernel), it takes a while.

Then there's LXR, which is good for reading the code... but not for being interactive with it. I've been hacking up it's code (also in Perl) a bit... and I *could* use it to do an addition to cgvg that understands C/C++ to some degree (it'll tell you where things like functions are declared, where they're prototyped, where they're referenced, etc... but not much more). Generating the database also isn't the speediest of things.

id-utils is much faster at that, but also more limited. It only really does lexical analysis... no real parsing... so it's good for identifiers, but not for what the identifiers really are. I could easily use it to make a faster version of cgvg, though... though it would be a bit limited in comparison.

Finally, we have cs, which is an attempt at doing a cscope clone. The code is kinda ugly, and it's limited to C (while I really only code in C, I'd want C++ support). It's also limited to small projects. Also, look at the packaged manpage near the end to see its license. Not a pretty thing... I certainly wouldn't work on it.

Yes, I use and love ctags, but it only takes you to where things are defined... not other way around, along with other functionality.

The best course of action would be to do a real cscope clone. The problem is it's a _huge_ undertaking. I can write it, yeah... but it would take a long time. I'm wondering if I did it, would anyone really use it? It's also kinda hard to tell people you want "cscope", since most people aren't familiar with it. I'll just have to sit and ponder it a bit. And heck... if anyone else is interested in working on such a beast, feel free to email me. Just, with such a project, I'd want to sit and be sure it's what I really want to spend countless hours of my life working on... or would the time be better spent on other things.

On that note, I bought a pretty bare SparcStation 20 today that I'm going to build up with parts I have lying around here... that brings the total to 6 SPARCs. :)

BTW, hi phil... sorry for the mess. (It wasn't *that* messy, was it?) I guess I paid for the mess with garlic bread. ;)

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!