VivaCore
VivaCore. Библиотека разбора, анализа и трансформации кода, развиваемая компанией ООО "Системы программной верификации". VivaCore является открытой библиотекой и поддерживает C/C++/C++0x. Библиотека написана на языке Си++ и реализована в виде проекта для Visual Studio 2010. VivaCore построена на основе библиотеки OpenC++ (OpenCxx), которая в данный момент не развивается. VivaCore умеет все то, что умеет OpenCxx, а также:
- Поддержан классический язык Си.
- Реализована поддержка стандарта C++0x на уровне, на котором она осуществлена в Visual Studio 2010. Реализована поддержка лямбда-выражений, auto, decltype, static_assert, nullptr и так далее.
- Проделана работа по поддержке специфики синтаксиса языка Си++, используемого при разработке в среде Visual Studio 2005/2008/2010.
- Поддержаны некоторые новые ключевые слова и иные конструкции, имеющиеся в новых стандартах языка.
- Реализовано вычисление значений литеральных констант.
- Библиотека адаптирована и оптимизирована для работы на 64-битных системах.
- Исправлено большое количество ошибок и недочетов.
- Создан механизм начальной предобработки исходного текста, позволяющий реализовать некоторые специфические модификации кода.
- Поддержано кодирование сложных типов, занимающих в кодированном виде более 127 символов.
- Создан простой проект (для Visual Studio 2010), демонстрирующий основные принципы использования библиотеки VivaCore.
- Поддержаны директивы #pragma
На основе библиотеки VivaCore реализован анализатор кода PVS-Studio. Также на основе библиотеки VivaCore компания ООО "Системы программной верификации" предлагает создание специализированных решений в области анализа и обработки исходного кода для сторонних заказчиков.
Страничка продукта: http://www.viva64.com/ru/vivacore-library/ .
Библиографический список
- Андрей Карпов, Евгений Рыжков. "Сущность библиотеки анализа кода VivaCore"
- VivaCore. Вопросы и ответы
- Андрей Карпов. Как появилась библиотека VivaCore