Mihai Christodorescu wrote (Thu, Feb 17, 2000 at 07:13:53PM -0600) :
> I am looking for a simple tool that would allow me to perform program
> transformations (from source to source), on C, C++, and Java. The
> transformations I am thinking of are (mostly) orthogonal to existing code,
> such as:
EDG (www.edg.com) has a C++ front-end (Java and FORTRAN too)
which is quite robust and widely used (in industry and
academic projects). They provide source code for non-commercial
academic use if you sign a license. The front-end can parse
C/C++ into an intermediate form, process it and then spit
out C/C++ again.
Susan Horwitz has a license for the EDG C++ front-end and
you can approach her. There is also Stephen Adamczyk at
jsa@xxxxxxx whom you can contact.
I know this because I signed the license yesterday and
got access to the source code (I might need to use a
source-to-source translator in my research). I guess Susan
and Stephen will be surprised to see requests from Wisconsin
students in rapid succession :)
Regarding general C++ grammars and so on, the PCCTS tool set
is quite well known and widely used (I think). Its grammars
are different from Yacc/Bison format but the tools are prettty
powerful. See:
http://www.polhode.com/pccts.html
Also, look at www.compilerconnection.com for pointers to
other tools, grammars etc. There are a lot of C++ grammars
and parsers out there.
BTW, if you are doing simple instrumentation, you could
use a binary editing tool such as EEL.
(http://www.cs.wisc.edu/~larus/warts.html)
There's also the Paradyn's group DynInst stuff which will
do binary editing for inserting instrumentation code.
Manoj
|