![]() |
#18 |
Участник
|
Синтаксический контроль позволяет выявить все объекты, которые затронутся при изменении любого заданного объекта.
Кроме случаев, когда используются макросы. Поскольку макросы - надсинтаксическая конструкция. Для того, чтобы гарантировать, что все объекты компилируются правильно при изменении макроса приходится компилировать все объекты. Кроме того, компиляцию приходится делать многопроходной. Сразу отвечу на вопрос - а можно ли заставить синтаксический анализатор учитывать макросы? Ответ - нет. Поскольку есть условные макросы и могут быть макросы в макросах. (Вспомни, как организована компиляция C и C++ в инструментальных средах - на основании информации об использовании ФАЙЛОВ, а не объектов) Если макросов нет, то при изменении любого объекта достаточно перекомпилировать объекты, интерфейсно связанные с данным объектом. |
|