A parsing proposal

Kevin Burton burton at relativity.yi.org
Wed Jun 23 08:01:07 BST 1999


The XML preparsing is a really good idea.

For large projects (KDE) this will be a significant increase in
performance.

I will add this to my Intellisense document.  I have been taking all the
good ideas and writing them down so that we can have a robust
intellisense implementation

JohnZed at aol.com wrote:
> 
> Hmm... it seems to me like we need to know the following things to do code
> completion: 1) all the member variables of the current class (easy). 2) all
> the member variables of its base classes (not too bad).  3)  all the local
> variables in the current block (a bit harder maybe?).
> That gives us enouhg to identify the class to which the current object
> belongs.  All the classes that are already in the project have been parsed
> already and are in the left tree view, so they're easy.  There'll be a lot of
> base classes to worry about, but many of the key ones (QObject, QFrame,
> whatever) can be kept already parsed (depending on how much memory that'll
> consume).
> I've been wondering if we should find a way to serialize parsing info to a
> file.  When I boot up VC++, even if I have a helluva lot of classes, they
> seem to show up almost instantly.  If we could do this (and save it in the
> project file or something parallel to it), then we could pre-parse all of the
> QT and KDElibs files.  Loading them would then be much faster and the bootup
> would be greatly accelerated.
> How fast is the XML parser that KOffice uses?  Maybe an XM file  format for
> classes and methods?   That would probably suck up too much disk space.
> Maybe just one index file per directory that contained a series of pointers
> into files?
> Anyways, my immediate goal with this whole code completion thing is to get a
> stupid shell ready that pops up the little frame at the appropriate location
> and time, and then figures out what the . or :: operator is being applied to.
>  Then everybody else can play around with it and test out different parsing
> ideas when they get board.  I think I'll have this done in a couple of days.
> I have to say, though, that if we can release a version 1.0 that is stable,
> has a dialog editor, code completion, CVS integration, and a great class
> browsing tree (note how many of these are already started or almost done!)
> this will have to be one of the most useful KDE projects so far!
> --JZ



More information about the KDevelop mailing list