GDL 源文件预处理器指令

GDL 分析程序(与原始 GPD 分析程序一样)支持预处理器指令。 预处理器指令在任何其他分析之前进行处理。 在预处理阶段,仅识别预处理器指令,并将所有非指令条目视为黑盒数据。 在预处理短语期间,将从输入流中删除所有预处理器指令,因此后续分析阶段无需与预处理器语法抗争。

预处理器指令的目的是使你能够创建在 GDL 或 GPD 分析程序的多个版本上运行的单个 GDL 文件。 如果分析器功能仅在某些分析程序版本上出现,则可以使用 #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 预处理器指导原则