> > I have played along this line a few hours, taken the grammer from Inline::C > and Inline::Struct and now have a nearly working replacement for C::Scan. I > think this is the right way to go, since the RecDecent parser grammer is > much easier to extent and modify (and it works on all platforms, also it > will be slower than C::Scan). > > I continue to work on this during the next days and try to integrate it into > Apache::ParseSource, by making a abstract base class and Apache::ParseSource > will contain only Apache spcific things. >
I've done so, but it's hard work to get all the details right, so it's still under construction, also the results already comes very close to the tables in the CVS. There is one issue I like to get some feedback before continuing. C::Scan has used the C preprocessor, thatway it didn't had to care about C-macro definitions. For example there is a macro called AP_DECLARE_HOOK, which declares a ap_hook_foo and a ap_run_foo. My current aproach is to only use Parse::RecDescent and not the C preprocessor, that makes it independend of installed compilers etc., but I have to find out all these macros and reimplement them in my RecDescent grammer, to get the correct result. Also there are some parts inside of #if and the current aproach ignores #if at all. As far as I see the second point isn't so important, but the first maybe, because any change in these macros inside the Apache sources must also be reflected in the RecDescent grammer. Gerald ------------------------------------------------------------- Gerald Richter ecos electronic communication services gmbh Internetconnect * Webserver/-design/-datenbanken * Consulting Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz E-Mail: [EMAIL PROTECTED] Voice: +49 6133 925131 WWW: http://www.ecos.de Fax: +49 6133 925152 ------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
