Мне кажется, что идеальный ответ требует, чтобы вы применили синтаксический анализатор, который может распознавать подстроки langauge к содержанию каждого комментария. Если частота синтаксических ошибок мала по сравнению с размером комментария, значит, вы закомментировали код.
Для этого вам нужен анализатор, который готов анализировать неполные фрагменты кода. Системы преобразования программ, которые предлагают преобразования источник-источник (, если вы видите эту структуру, замените ее этой структурой ), имеют встроенный механизм; они должны анализировать шаблоны кода, содержащие преобразования источник-источник, которые обычно являются языковыми формами предложения.
Наш набор инструментов для реинжиниринга программного обеспечения DMS обладает именно этим свойством. Как обычно с DMS, он должен быть настроен на анализ VHDL (или Verilog) [это легко, DMS имеет полные внешние интерфейсы VHDL, Verilog и SystemVerilog), сканирует дерево разбора, находит прикрепленные комментарии (DMS захватывает комментарии при разборе ), а затем попытайтесь проанализировать комментарии с помощью встроенного в DMS «Шаблонного синтаксического анализатора». Необходима некоторая поддержка для подсчета синтаксических ошибок. Так что это возможно.
Я подозреваю, что это не стоит проблем. Ваше регулярное выражение, вероятно, довольно хорошо, особенно если его поддерживает человек, если этот человек не возражает против необходимости дополнительных проверок кода.