Hello Andreas!

When first reading this my immediate feeling was that this goes directly to
the purpose of the reverse engineering.

I can think of examples where I'd prefer to reverse engineer the code before
the preprocessor.

On the other hand, I can understand that you will also want to reverse
engineer the code as processed by the preprocessor. In that case I think
that the first option is the best. An effort must be made to run the
preprocesser exactly as run when building the code. Is there a makefile, or
Makefile specifying the compiler, settings, include directory paths? If the
build is normally done from Visual Studio, how do we get these paths from
within that environment? There are plenty of questions to be answered.

        /Linus


2008/6/2, "Andreas Rückert" <[EMAIL PROTECTED]>:
>
> Hi!
>
> Some of you might have seen Jan Reucker in the users forum. He tries to use
> Argo for one of his projects (CRRCsim), that is written in C++. They try to
> use
> the c++ module to reverse engineer some of the code and to define new APIs
> for some components.
> Problem: the c++ module does no preprocessing, so you have to preprocess
> each
> file per hand, before you can import ist. Not so good.
> Several options:
>
> - try to find an installed cpp and call it. Problem might be to find it,
> handle temp
> files etc. Make the import somewhat less stable, so I'd prefer an
> integrated solution,
> that comes with the Argo download.
>
> - Integrate some preprocessor written in Java into Argo:
> http://www.anarres.org/projects/jcpp/
> http://linux.softpedia.com/get/Programming/Code-Generators/jcpp-26034.shtml
> Problem here is the license (GPL(2)) and the integration of foreign code
> into Argo
> (to some degree).
>
> - Use the Antlr cpp grammar to generate our own preprocessor:
> http://antlr.org/grammar/1166665121622/Cpp.tar
> Problem seems to be, that it's somewhat dated and not so much used/updated
> recently. Tried to generate a parser with Antlr 3.0.1, but no luck so far.
> Guess the
> grammar needs some work.
>
> - Integrate a preprocessor into the cpp lexer:
>
> http://www.ibm.com/developerworks/aix/library/au-c_plusplus_antlr/?S_TACT=105AGY06&;
> I guess I'd prefer this approach, although it taints the cpp grammar even
> more, than
> it already is, which make an update to a newer grammar even harder than it
> already
> is. One workaround could be to convince the Antlr folks, that the
> preprocessor
> should be integrated into the grammar anyway, so they would work with such
> a
> modified grammar in the future.
>
> What do you think? Better ideas anyone?
>
> Ciao,
> Andreas
>
> --
> Super-Aktion nur in der GMX Spieleflat: 10 Tage für 1 Euro.
> Über 180 Spiele downloaden: http://flat.games.gmx.de
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to