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

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

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

LuMee

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

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

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