Общая утилита для удаления /удаления всех комментариев из исходного кода на разных языках?

Я ищу инструмент командной строки, который удаляет все комментарии из входного файла и возвращает зачищенный вывод.Было бы неплохо, чтобы он поддерживал популярные языки программирования, такие как c, c ++, python, php, javascript, html, css и т. Д. Он должен учитывать синтаксис, а не на основе регулярных выражений, поскольку последний будет ловить шаблон в исходном коде.Строки кода также.Есть ли такой инструмент?Я полностью осознаю, что комментарии являются полезной информацией, и часто оставлять их как есть - хорошая идея.Просто я фокусируюсь на разных вариантах использования.
4 голоса | спросил OTZ 28 J000000Wednesday10 2010, 04:56:06

6 ответов


0
Такого инструмента еще не существует.
ответил OTZ 30 PM00000030000003931 2010, 15:37:39
0
---- +: = 0 =: + ---- , бесплатный скрипт Perl, может сделать это.Удалить комментарии из исходного кодаКак узнать, правильно ли Cloc идентифицирует комментарии?Один из способов убедить себя в том, что cloc делает правильные вещи, - это использовать опцию ---- +: = 1 =: + ---- для удаления комментариев и пустых строк из файлов, а затем сравнить урезанные файлы с оригиналами.Поддерживает много языков .
ответил Mark Rushakoff 28 J000000Wednesday10 2010, 05:20:02
0
То, что вы хотите, может быть сделано с помощью сценариев Emacs.Я написал этот скрипт для вас, который делает именно то, что вы хотите, и может быть легко расширен на любой язык.Имя файла: kill-commentsчтобы использовать это просто позвоните:Чтобы добавить к нему любой язык, отредактируйте ~ /.emacs-batch и добавьте основной режим этого языка.Вы можете найти режимы с поддержкой синтаксиса практически для всего, что вам нужно на http://www.emacswiki.orgВ качестве примера, вот мой ~ /.emacs-batch файл.Он расширяет приведенный выше скрипт для удаления комментариев из файлов JavaScript.(У меня есть javascript.el в моем каталоге ~ /.el)С добавлением javascript это удалит комментарии из всех типов файлов, которые вы упомянули, а также многие другие.Удачи и счастливого кодирования!
ответил Robert McIntyre 28 J000000Wednesday10 2010, 06:54:17
0
Возможно, стоит рассмотреть ответ Пола Диксона на этот вопрос о снятии комментариев из сценария.
ответил Mark Baker 28 J000000Wednesday10 2010, 11:51:00
0
Я не знаю такого инструмента - это не то же самое, что сказать, что его нет.Однажды я начал проектировать один, но это быстро становится безумным - не помогло правилами комментария в C и C ++.(Ответ: да!)(Ответ: нет!)Чтобы сделать работу разумно, вы должны знать:Соглашения о языковых комментарияхСоглашения о заключенных в кавычки строках (Python и Perl достаточно, чтобы привести вас сюда с ума)Соглашения о побеге (Shell доставит вас сюда - вместе с цитатами)Они объединяются, чтобы сделать работу сносно близкой к невозможной.Я закончил с программой, scc , чтобы убрать комментарии C и C ++.Его тест на пытки включает в себя худшие примеры, чем комментарии, показанные выше - и он делает достойную работу.Но расширить это, чтобы сделать shell, или Perl, или Python, или (сделай свой выбор), было достаточно нетривиально, что я этого не сделал.
ответил Jonathan Leffler 28 J000000Wednesday10 2010, 05:11:31
0
Вы можете уговорить GNU Source-highlight сделать это.
ответил lhf 28 J000000Wednesday10 2010, 05:22:25

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132