(?).
Вкратце: надо это задавать в грамматике языка. И это достаточно неочевидный и поэтому отчасти сложный момент.
Эээ... зачем? Для классических компиляторов / интерпретаторов — обработать (выбросить) их в lexer-е, да и всё.
а потом форматтер поверх компилятора удаляет комментарии
Source to source и ( или) конвертеры ЯП-ЯП - там надо и комментарии на всех этапах
Typedoc, phpdoc, javadoc с вами несогласны
Как будто кто-то из авторов таких компиляторов так заботится о "форматерах". ;)
Это другое применение, да.
Это не компиляторы, так что нет.
так а как этим штукам узнать про комменты если компилятор их выкинул не писать же еще один лексер
Почему нет? Грубо говоря, раньше все писали (почему-то проблемы разработчиков подобных tools для большинства PL как-то не очень волновали разработчиков компиляторов для этих PL).
потому что раньше делали плохо, а потом страдали
Прямо любопытно, в какой доле популярных / широко используемых / и т.п. сейчас компиляторов/интерпретаторов всё точно так же. ;)
У меня шланг прямо сейчас падает в корку на каждый чих (на коде с шаблонами класса "больной ублюдок" и глубиной рекурсии примерно 300), а когда не падает в компайл/линк тайме - кидает "невозможные" эксепшены в рантайме (на лто). Каждое обновление - приключение на 20 минут.
А это точно из-за того, что его frontend написан в стиле "для компилятора хватит, а на остальных нам как-то..."? Я имею в виду... может, он как раз написан с учётом потребностей авторов code analysis tools (я не смотрел)?
Обсуждают сегодня