C++ Parser and C/C++ preprocessor

Mathieu Chouinard mchoui at e-c.qc.ca
Tue Aug 23 00:16:05 UTC 2005


On August 22, 2005 09:51, Roberto Raggi wrote:
> Hi!
> 
> This week I've worked a bit on the KDevelop C++ parser. I'm going to submit a 
> new version of the parser later today. The new version has a _completly_ new 
> Visitor and an improved Abstract Syntax Tree. 
> 
> I've removed from the AST the backward pointers (AST::parent()) and the list 
> of the child nodes (AST::children()). Finally we have a *typed* AST :-)
> 
> I'm pretty sure it will break a bit your changes(Per? John?), but it shouldn't 
> be too hard to merge back your stuff. Anyway, the good news is that the 
> parser uses about the 10% less of memory, it is a bit faster(it is about 10 
> times faster than the KDevelop 3.x C++ parser), the AST for expressions is 
> more detailed(I know Adam was crying for it :-) and writing a new `operation' 
> using the tree-walker is a lot easier.
> 
> The other good news is I've started to rewrite the preprocessor from scratch. 
> The new version of rpp is a lot faster(better?) than old one. The old 
> preprocessor was hardcoded in the lexer and its implementation was awful :-) 
> take a look at lexer.* in the KDevelop 3.x source code. I hope we can use the 
> new prepressor to provides more features in KDevelop(things like `reorganize 
> headers', check for dependencies, quick open integration, and so on..).
> 
> I have almost completed the new interfaces for background parsing and problem 
> reporting. The Problem reporter is almost the same as the old one, but now 
> I'm trying to use the Model/View classes I've wrote for KDevelop 4 together 
> with Harald
> 
> http://websvn.kde.org/branches/work/kdevelop4/lib/util/kdevitemmodel.h
> http://websvn.kde.org/branches/work/kdevelop4/lib/util/kdevitemmodel.cpp
> http://websvn.kde.org/branches/work/kdevelop4/lib/util/kdevtreeview.h
> http://websvn.kde.org/branches/work/kdevelop4/lib/util/kdevtreeview.cpp
> http://websvn.kde.org/branches/work/kdevelop4/lib/util/kfiltermodel.h
> http://websvn.kde.org/branches/work/kdevelop4/lib/util/kfiltermodel.cpp
> 
> ciao robe
> 
> PS: I'm sorry if I'm breaking your changes, but trust me it's for the best :-) 
> 
> _______________________________________________
> KDevelop-devel mailing list
> KDevelop-devel at barney.cs.uni-potsdam.de
> http://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
> 
> 
you will make a lot of happy peoples ... and maybe a couple of pissed off one :)
Mathieu
-- 
VMS is like a nightmare about RXS-11M.




More information about the KDevelop-devel mailing list