Здравствуйте, Евгений Рыжков, Вы писали:
H_C>>>А самому никак нельзя? дело в том, что у нас уже есть code checker, который написан на Питоне. Но он умеет разбирать только тела и заголовки функций, а дальше — уже все ищется с помощью регулярных выражений. Мы бы хотели оперировать не регулярными выражениями, а конструкциями языка, для этого ищем соответствующие инструментальные средства. T>>Посмотри PLY — у них есть несколько парсеров С/С++ T>>Ну или попробовать под antlr грамматику найти/написать — он умеет генерить парсеры в python. ЕР>Этого недостаточно. Парсер построит дерево, но к нему еще нужно раскрытие типов, вычисление их и т.п.
С этим никто не спорит.
Но вроде у топикстартера уже есть свои наработки — так что вполне возможно его устроят предложенные либки или их аналоги.
Кроме того, как мне кажется, ему нужно не только проверять правильность кода но и соответствие какому-то своему стандарту кодирования. И если первое вполне разумно включать в вашь продукт, то второе, кроме как пользовательскими скриптами/плагинами делать не разумно — стандарты кодирования могут отличатся кардинально.
Здравствуйте, Tonal-, Вы писали:
ЕР>>Этого недостаточно. Парсер построит дерево, но к нему еще нужно раскрытие типов, вычисление их и т.п. T>С этим никто не спорит. T>Но вроде у топикстартера уже есть свои наработки — так что вполне возможно его устроят предложенные либки или их аналоги.
Не устроят. Постоянно вводят людей в заблуждения говоря, что вот есть парсер (возможно даже автогенерируемый), который все распарсит и будет счастье. А счастья не будет (в узком смысле), это надо понимать.
Евгений Рыжков
ООО "СиПроВер"
Re[17]: верификация C-кода
От:
Аноним
Дата:
08.08.11 10:58
Оценка:
ЕР>Не устроят. Постоянно вводят людей в заблуждения говоря, что вот есть парсер (возможно даже автогенерируемый), который все распарсит и будет счастье. А счастья не будет (в узком смысле), это надо понимать.
Как не будет счастья? А clang? Ну, то есть компиляторы, предоставляющие api к своим "потрохам". Таким образом, синтаксические анализаторы, интеграцию с ide, рефакторы и прочее становиться гораздо проще делать..
Здравствуйте, Аноним, Вы писали:
ЕР>>Не устроят. Постоянно вводят людей в заблуждения говоря, что вот есть парсер (возможно даже автогенерируемый), который все распарсит и будет счастье. А счастья не будет (в узком смысле), это надо понимать. А>Как не будет счастья? А clang? Ну, то есть компиляторы, предоставляющие api к своим "потрохам". Таким образом, синтаксические анализаторы, интеграцию с ide, рефакторы и прочее становиться гораздо проще делать..
А как с помощью clang, например, проверить, что все идентификаторы в коде начинаются с буквы "p"?
Здравствуйте, TimurSPB, Вы писали:
TSP>1. http://www.parasoft.com/jsp/products/cpptest.jsp — хорошая вещь, но сильно платная. Можно свои правила делать прям из куска кода. TSP>2. LINT — классика