Из Текста Java-программы Удалить Все Виды Комментариев.

  • Автор темы Guest
  • Дата начала
G

Guest

Задача : Из текста Java-программы удалить все виды комментариев.
Для начала объясните хотя бы принцип. Как я понимаю, нужно считывать файл построчно и находить послед. символов // либо /*. Затем,например, заменить этот комментарий на пустую подстроку. Или как вариант записывать в др. файл текст без комментариев,тем самым не изменяя исходный.
Посоветуйте что-нибудь.
 
L

LuMee

Наиболее удобным кажется примерно такой подход:
- читаем файл посимвольно, запоминая текущий символ и предыдущий;
- считанные символы пишем в другой файл, это и будет файл без комментов;
- когда натыкаемся на последовательность //, ее и остальные символы до самого конца строки в выходной файл не пишем
- когда натыкаемся на последовательность /*, ничего не пишем в выходной файл до тех пор, пока не попадется последовательность */.

Также нужна обработка кавычек, чтобы не покалечить, скажем, такой код:
Код:
System.out.println("// This is not a comment");
Подход можно использовать такой: наткнулись на кавычку - игнорируем все символы комментариев, пока не попадется следующая неэкранированная кавычка.

Можно также использовать регулярные выражения (скажем, ), однако опять будут трудности со строковыми литералами.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!