Andreas Sæbjørnsen wrote:
Thank you very much. This is really excellent work, and for us it is really useful. We are making an open source BSD license style tool called ROSE for easily building C/C++ translators which takes the source code as input and outputs source code. Our tool understand the C/C++ syntax, unlike normal compilers it can understand the syntax of a library and you can easily work within the AST to analyze and change the AST. The aim of the tool is scientific computing and especially optimization of code which uses high level abstractions, but the tool is general and can be applied to a lot of software engineering problems.
Do you have a link?
Since our intermediate representation is an AST and our frontend is a compiler frontend we lost some information about the part of the preprocessor directives which is evaluated as negative, we had knowledge about the macro declarations but no knowledge about the macros calls and also no simple solution to some details about how many digits the floating point values is declared with in the code (we handle the floating point value as value not string, but now we will probably have both). It seems like we are now able to extract this information using Wave and that is excellent, but we are yet to hook it up to our tool. So expect us to use Wave on some of the most advanced C/C++ codes out there. :)
Nice to hear. Thanks! Regards Hartmut