Вопросы и ответы по библиотеке VivaCore (VivaCore FAQ)
В документе собраны некоторые вопросы и ответы по библиотеке анализа Си/Си++ кода VivaCore компании ООО "СиПроВер".
Что такое VivaCore?
VivaCore - это открытая библиотека для работы с Си и Си++ кодом. Библиотека представляет собой проект с открытым кодом, написанным на языке Си++. VivaCore построена на основе библиотеки OpenC++ (OpenCxx).
Не следует путать VivaCore с профессиональными многофункциональными парсерами Си/Си++ кода. Если пользователю нужен front-end парсер кода, полностью поддерживающий современный стандарт языка Си++ и позволяющий создавать свой компилятор под специфическую платформу, то ему стоит обратить свое внимание на GCC или дорогие коммерческие решения.
В чем отличие библиотеки VivaCore от OpenC++?
В библиотеку VivaCore внесены следующие усовершенствования, по сравнению с библиотекой OpenC++:
- Поддержан классический язык Си.
- Проделана работа по поддержке специфики синтаксиса языка Си++, используемого при разработке в среде Visual Studio 2005/2008/2010.
- Поддержаны некоторые новые ключевые слова и иные конструкции, имеющиеся в новых стандартах языка.
- Реализовано вычисление значений литеральных констант.
- Библиотека адаптирована и оптимизирована для работы на 64-битных системах.
- Исправлено большое количество ошибок и недочетов.
- Создан механизм начальной предобработки исходного текста, позволяющий реализовать некоторые специфические модификации кода.
- Поддержано кодирование сложных типов, занимающих в кодированном виде более 127 символов.
- Создан простой проект (для Visual Studio 2010), демонстрирующий основные принципы использования библиотеки VivaCore.
- Реализована поддержка стандарта C++0x на уровне, на котором она осуществлена в Visual Studio 2010. Реализована поддержка лямбда-выражений, auto, decltype, static_assert, nullptr и так далее.
Для чего предназначена библиотека VivaCore?
Библиотека VivaCore может быть интересна компаниям и организациям, которые создают или планируют создавать инструменты для работы с кодом. С ее помощью могут быть разработаны приложения в следующих областях:
- рефакторинг кода;
- статические анализаторы общего и специализированного назначения;
- динамические анализаторы кода;
- расширения языков Си/Си++, в том числе для поддержки метапрограммирования;
- автоматизированное тестирование кода;
- трансформации кода, например, для оптимизации;
- подсветку синтаксиса;
- системы построения документации по коду;
- высокоточное определение изменений в исходном коде или анализа эволюции изменений;
- поиск дублирующегося кода на уровне грамматических конструкций языка;
- подсчет метрик;
- поддержку стандартов кодирования;
- инструменты, облегчающие миграцию кода на другие программные и аппаратные платформы;
- автоматическую генерацию кода;
- визуализаторы кода, системы построения диаграмм зависимостей;
- форматирование кода;
- автоматическое протоколирование результатов испытаний программ;
- другое.
Каковы лицензионные условия использования библиотеки VivaCore?
Библиотека VivaCore разработана компанией ООО "Системы программной верификации" (OOO "Program Verification Systems").
Лицензия на библиотеку VivaCore позволяет свободно использовать, копировать, распространять и модифицировать ее в бинарном виде или в виде исходного кода, как для коммерческого, так и для некоммерческого использования без каких-либо отчислений авторам библиотеки. Необходимо лишь указать авторов исходных библиотек (OpenC++ и VivaCore).
Для каких систем предназначена библиотека VivaCore?
С одной стороны, библиотека анализа Си++ кода ориентирована на анализ кода без учета специфики какой-либо операционной системы или аппаратной платформы. Но с другой стороны, VivaCore поставляется как проект для Visual Studio 2010, и соответственно наиболее просто собрать ее в Windows-окружении. Обратим внимание, что для сборки можно использовать как полные версии Visual Studio 2010, так и Express-версии.
Можете ли вы на заказ разработать специализированный вариант библиотеки VivaCore или решение на ее основе?
Да, можем.
Библиографический список
0