Рекомендации по препроцессору GDL
При написании директив препроцессора GDL используйте следующие рекомендации:
Чтобы предотвратить непредвиденные последствия, при определении символов и префиксов препроцессора записи GDL-файлов должны соблюдать следующие рекомендации.
Никогда не отменяйте определение символов, которые не были явно определены в файле, а до окончания файла всегда отменяйте определение символов, определенных в файле. Иными словами, всегда оставляйте стеки символов и префиксов в том виде, в который вы их нашли. При соблюдении этого руководства никогда не будет конфликтов пространств имен, связанных с препроцессором.
Интерфейс средства синтаксического анализа GDL позволит клиенту внедрять фрагмент текста GDL произвольного размера, который будет обрабатываться перед корневым файлом GDL. Эта возможность позволит клиентам определять любые символы препроцессора, необходимые для обработки соответствующими разделами GDL-файла. Этот фрагмент может включать другие стандартные шаблоны GDL или определять стандартные макросы.
Примечание Если файл включен в строку, все символы и префиксы препроцессора, определенные в узле, остаются определенными во время предварительной обработки включенного файла. При обработке файла как предварительно скомпилированного создается совершенно новая среда синтаксического анализа. Таким образом, все символы и префиксы возвращаются по умолчанию. Файлы, которые будут обрабатываться как предварительно скомпилированные, не должны иметь зависимостей от символов препроцессора, определяемых внешними или размещенными файлами.
Примечание На директивы и макросы препроцессора не влияют конструкции switch/case, так как директивы оцениваются отдельно перед любыми конструкциями switch/case.
Логические операторы не поддерживаются в директивах препроцессора GDL. Дополнительные сведения об устранении этой ситуации см. в разделе Проблемы с логическими операторами в предварительной обработке GDL.