>
> 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]

Reply via email to