Collaboration diagram for C & C++ frontend (EDG):
|
The current version of EDG used here is version 3.3 from July 31, 2003. C and C++ have not changed significantly and so this is a stable platform for our work within the ROSE project. We update the EDG frontend in frequently as of Feb 2006, the current version of EDG is 3.6. For those with and EDG research license, the EDG source code is included with ROSE (located in ROSE/src/frontend/CxxFrontend/EDG/EDG_3.3). In general EDG is very portable code and the limitations of portability of ROSE is that of the portability of EDG (which is C code, not C++). We use a C++ compiler to compile all of EDG since it holds a few pointers to Sage III data structures (typically pointers to SgSymbol and SgType IR nodes).
We expect to eventually support multiple front-ends (for more than just C and C++), but this depends upon our resourses and the complexity of alternative languages and the availabity and complexity of possible front-ends.
A version of EDG which generates C++ code (source-to-source) is available in the ROSE/src/frontend/CxxFrontend/EDG/EDG_3.3/edgFrontEndWithoutSage directory. This is useful for testing when there is some confusion as to if we have broken anything in EDG.
1.4.7