Re[15]: верификация C-кода
От: Tonal- Россия www.promsoft.ru
Дата: 05.08.11 04:10
Оценка:
Здравствуйте, Евгений Рыжков, Вы писали:

H_C>>>А самому никак нельзя? дело в том, что у нас уже есть code checker, который написан на Питоне. Но он умеет разбирать только тела и заголовки функций, а дальше — уже все ищется с помощью регулярных выражений. Мы бы хотели оперировать не регулярными выражениями, а конструкциями языка, для этого ищем соответствующие инструментальные средства.

T>>Посмотри PLY — у них есть несколько парсеров С/С++
T>>Ну или попробовать под antlr грамматику найти/написать — он умеет генерить парсеры в python.
ЕР>Этого недостаточно. Парсер построит дерево, но к нему еще нужно раскрытие типов, вычисление их и т.п.
С этим никто не спорит.
Но вроде у топикстартера уже есть свои наработки — так что вполне возможно его устроят предложенные либки или их аналоги.

Кроме того, как мне кажется, ему нужно не только проверять правильность кода но и соответствие какому-то своему стандарту кодирования. И если первое вполне разумно включать в вашь продукт, то второе, кроме как пользовательскими скриптами/плагинами делать не разумно — стандарты кодирования могут отличатся кардинально.
Re[16]: верификация C-кода
От: Евгений Рыжков Россия www.viva64.com
Дата: 05.08.11 06:00
Оценка:
Здравствуйте, Tonal-, Вы писали:

ЕР>>Этого недостаточно. Парсер построит дерево, но к нему еще нужно раскрытие типов, вычисление их и т.п.

T>С этим никто не спорит.
T>Но вроде у топикстартера уже есть свои наработки — так что вполне возможно его устроят предложенные либки или их аналоги.

Не устроят. Постоянно вводят людей в заблуждения говоря, что вот есть парсер (возможно даже автогенерируемый), который все распарсит и будет счастье. А счастья не будет (в узком смысле), это надо понимать.
Евгений Рыжков
ООО "СиПроВер"
Re[17]: верификация C-кода
От: Аноним  
Дата: 08.08.11 10:58
Оценка:
ЕР>Не устроят. Постоянно вводят людей в заблуждения говоря, что вот есть парсер (возможно даже автогенерируемый), который все распарсит и будет счастье. А счастья не будет (в узком смысле), это надо понимать.
Как не будет счастья? А clang? Ну, то есть компиляторы, предоставляющие api к своим "потрохам". Таким образом, синтаксические анализаторы, интеграцию с ide, рефакторы и прочее становиться гораздо проще делать..
Re[18]: верификация C-кода
От: Hard_Club  
Дата: 08.08.11 11:57
Оценка:
Здравствуйте, Аноним, Вы писали:

ЕР>>Не устроят. Постоянно вводят людей в заблуждения говоря, что вот есть парсер (возможно даже автогенерируемый), который все распарсит и будет счастье. А счастья не будет (в узком смысле), это надо понимать.

А>Как не будет счастья? А clang? Ну, то есть компиляторы, предоставляющие api к своим "потрохам". Таким образом, синтаксические анализаторы, интеграцию с ide, рефакторы и прочее становиться гораздо проще делать..

А как с помощью clang, например, проверить, что все идентификаторы в коде начинаются с буквы "p"?
Re: верификация C-кода
От: TimurSPB Интернет  
Дата: 08.08.11 12:03
Оценка:
1. http://www.parasoft.com/jsp/products/cpptest.jsp — хорошая вещь, но сильно платная. Можно свои правила делать прям из куска кода.
2. LINT — классика
Make flame.politics Great Again!
Re[2]: верификация C-кода
От: Hard_Club  
Дата: 08.08.11 12:40
Оценка:
Здравствуйте, TimurSPB, Вы писали:

TSP>1. http://www.parasoft.com/jsp/products/cpptest.jsp — хорошая вещь, но сильно платная. Можно свои правила делать прям из куска кода.

TSP>2. LINT — классика

cpptest — а можно примерчик генерации правил?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.