Я пытаюсь выяснить, как анализаторы обрабатывают препроцессор и условную компиляцию. Использование C ++ в качестве примера - это предварительные директивы, включенные в правила грамматики C ++, или это отдельный язык, а предварительная обработка происходит до анализа. В обоих случаях, как сияющий может выяснить ошибки во всех возможных ветвях и получить информацию об исходной компоновке кода перед предварительной обработкой (например, количество строки, где возникла ошибка)?
Подробнее здесь: https://stackoverflow.com/questions/534 ... ompilation