VivaCore. The library of code parsing, analysis and transformation developed by OOO "Program Verification Systems". VivaCore is an open library and supports C/C++/C++0x. The library is written in C++ and implemented as a project for Visual Studio 2010. VivaCore is built on the basis of OpenC++ (OpenCxx) which is currently not developed. VivaCore can do everything what OpenCxx can and has some more features:
- Classical C is supported.
- We have implemented the support for the standard C++0x at the level it was done in Visual Studio 2010. Now it supports lambda expressions, auto, decltype, static_assert, nullptr, etc.
- Support of specific C++ syntax used while developing in Visual Studio 2005/2008/2010 environment is provided.
- Some new key words and other constructions present in the new language standards are supported.
- Calculating values of literal constants is implemented.
- The library is adapted and optimized for 64-bit systems.
- A lot of errors and defects are corrected.
- A mechanism of initial preprocessing of the source text, allowing you to implement some specific code modifications, is created.
- Coding of complex types taking more than 127 symbols in coded form is supported.
- A simple project (for Visual Studio 2010) demonstrating the main principles of VivaCore library's usage is created.
- #pragma directives are supported
It is on the basis of VivaCore Library that PVS-Studio analyzer is implemented. Besides, OOO "Program Verification Systems" suggests creating specialized solutions in the sphere of source code analysis and processing on the basis of VivaCore library for third-party clients.
The product's page: http://www.viva64.com/en/vivacore-library/.
References
- Andrey Karpov, Evgeniy Ryzhkov. The essence of the code analysis library VivaCore.
- VivaCore. FAQ.
- Andrey Karpov. How VivaCore library appeared.