LINUX.ORG.RU

Вырезание комментов.


0

0

Есть C++ исходники частей проекта, которыми я занят, их требуется иногда постить в релизную ветку SVN.

В исходниках есть каменты полезные и грязные. Полезные что-то поясняют, а грязные содержат куски кода, над которыми я хочу ещё подумать.

Всем интересно видеть только полезные комментарии, грязные меня просили убрать, но мне они нужны.

Поэтому, я сейчас начал нужные комментарии начинать с «//», грязные - c «///». Многострочные обычные - «/*», многострочные грязные - «/***».

Хотелось бы написать штуку, которая все грязные однострочные и многострочные комментарии выкидывает.

Посоветуйте, что для этого использовать - sed, awk, python?...

да без разницы на каком языке
регулярные выражения везде работают одинаково
как-то так:
string =~ s/\/***+?***\//

kto_tama ★★★★★ ()
#!/usr/bin/perl -w
use strict;
local $/;
for (<> =~ m!\s+|/\*[\s\S]*?\*/|//.*|\"(?:\\.|[^\"])*\"|\'(?:\\.|[^\'])*\'|/?[^/\'\"]*!gm) {
        print unless m:^/(//|\*\*\*):;
}
bash$ perl cleanup.pl <infile.c >outfile.c
bash$ perl -i cleanup.pl file.c
bash$ find . -type f -name '*.c' -exec perl -i cleanup.pl '{}' \;
arsi ★★★★★ ()

> грязные меня просили убрать

Мне кажется, что проще объяснить им, что просьба неадекватна и необоснована, а не сношать себе мозг.

NightmareZ ()
Ответ на: комментарий от NightmareZ

> Мне кажется, что проще объяснить им, что просьба неадекватна и необоснована

Зависит от грязноты грязных комментариев. Порой от дампа чужого сознания в комментариях может быть только вред.

const86 ★★★★★ ()

>грязные - c «///».

А с Doxygen проблем не будет?

Pavval ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.