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 修改指令的处理。
本节包括: