GDL 预处理器指导原则

编写 GDL 预处理器指令时,请遵循以下准则:

为防止意外后果,GDL 文件的编写者在定义预处理器符号和前缀时应遵循以下准则。

永远不要取消定义未在文件中显式定义的任何符号,在文件结束之前,始终取消定义在文件中定义的任何符号。 换句话说,始终保留找到的符号和前缀堆栈。 如果遵循此准则,则永远不会发生涉及预处理器的命名空间冲突。

GDL 分析程序接口将使客户端能够注入任意大小的 GDL 文本片段,该片段将在根 GDL 文件之前进行处理。 此机会将使客户端能够定义所需的任何预处理器符号,以便分析程序处理 GDL 文件的适当部分。 此片段可能包含其他 GDL 标准模板或定义标准宏。

注意 内联包含文件时,主机中定义的所有预处理器符号和前缀在预处理包含的文件期间仍会保留定义。 当文件作为预编译进行处理时,将创建一个全新的分析环境。 因此,所有符号和前缀都返回到其默认值。 将作为预编译处理的文件不应对外部或主机文件定义的预处理器符号有任何依赖项。

注意 预处理器指令和宏不受开关/事例构造影响,因为这些指令在任意开关/事例构造之前单独计算。

GDL 预处理器指令不支持逻辑运算符。 有关解决此问题的详细信息,请参阅 GDL 预处理中逻辑运算符的问题