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

Тема в разделе "Java", создана пользователем -, 14 май 2012.

  1. Гость

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

    LuMee Well-Known Member

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

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

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

Поделиться этой страницей