При
написании программ на С++ с использованием шаблонов или STL-классов у
разработчиков часто возникает проблема, связанная с тем, что компилятор выдает слишком большое сообщение об ошибке, называемое ошибкой-романом. Для облегчения
анализа таких сообщений был написан синтаксически-ориентированный фильтр для
сообщений об ошибках шаблонов С++, представляющий ошибки-романы в более удобном
и читаемом виде – в виде синтаксического дерева. Он выполняет синтаксический
анализ вывода компилятора и сравнивает синтаксическое дерево сообщения об
ошибке с деревом возможно правильного варианта (если таковой предоставляется
компилятором). Для взаимодействия с пользователем был написан плагина к популярной
среде разработки Visual Studio 2005, который представляет вывод компилятора в
виде дерева с возможностью разворачивать/сворачивать дерево, переходить к
интересующему месту, прослеживать, где именно произошло несоответствие с
возможным правильным вариантом. |