Поделиться через


Директивы препроцессора исходного файла GDL

Средство синтаксического анализа GDL, как и исходное средство синтаксического анализа GPD, поддерживает директивы препроцессора. Директивы препроцессора обрабатываются перед любым другим анализом. На этапе предварительной обработки распознаются только директивы препроцессора, а все записи, не относящиеся к директивам, обрабатываются как данные черного ящика. Во время фразы предварительной обработки все директивы препроцессора удаляются из входного потока, поэтому на последующем этапе анализа не нужно бороться с синтаксисом препроцессора.

Директивы препроцессора предназначены для создания одного GDL-файла, который выполняется в нескольких версиях средства синтаксического анализа GDL или GPD. Если у вас есть функции средства синтаксического анализа, которые доступны только в некоторых версиях средства синтаксического анализа, можно использовать инструкцию #Ifdef и заменить функцию эквивалентными записями.

Директивы препроцессора используют определенный синтаксис препроцессора GDL и ключевые слова препроцессора GDL.

Директивы препроцессора GDL являются расширением директив препроцессора GPD. Дополнительные сведения о различиях между директивами препроцессора GDL и GPD см. в разделе Различия между GDL и предварительной обработкой GPD.

Директивы препроцессора GDL являются только одним типом директив GDL. Дополнительные сведения о других типах директив GDL см. в разделе Директивы GDL.

Ниже приведен список ключевых слов препроцессора GDL:

  • #Include ссылается на другой GDL-файл для включения в текущий GDL-файл.

  • #Define и #Undefine управлять списком символов, используемых условными директивами препроцессора.

  • #PreCompiled создает автономную структуру данных, представляющую исходный файл GDL, содержащийся в этом файле, который может быть динамически связан со структурой данных GDL, представляющей другой GDL-файл. Эту директиву можно использовать для устранения избыточных копий часто используемых файлов.

  • #Ifdef, #Elseifdef, #Else и #Endif условно отключают разделы в исходном файле GDL. Эти директивы могут ссылаться на символы, определенные условными директивами препроцессора, или символы, определенные различными версиями средства синтаксического анализа GDL.

  • #SetPPPrefix, #UndefinePrefix, #EnablePPDirective и #DisablePPDirective изменять обработку директив.

Этот раздел состоит из следующих частей.

Синтаксис препроцессора GDL

Ключевые слова препроцессора GDL

Различия между предварительной обработкой GDL и GPD

Рекомендации по препроцессору GDL