本地包含预处理器允许使用 PL/I 指令 %INCLUDE 或 COBOL COPY 语句以外的包含指令,将外部源文件并入程序。
在开始前
创建本地属性组,并将其与本地 COBOL 或 PL/I 源文件或本地项目关联。限制: macOS客户端不支持本地 include 预处理器。
您可以为包含预处理器设置内容类型关联,以定义预处理器在查找副本和包含文件时搜索的文件扩展名。 有关定义内容类型关联的指示信息,请参阅相关主题。 当您定义包含预处理器的内容类型关联时,产品会将 EXT( ) 参数传递给包含允许的文件扩展名列表 (例如 EXT("cpy","inc","mac")) 的包含预处理器。
关于此任务
本地包含预处理器位于安装产品时解压缩的 com.ibm.systemz.preprocessor.include 插件中。 您可以在单个 COBOL 或 PL/I 程序或包含一个或多个 COBOL 或 PL/I 程序的本地 z/OS® 项目中使用本地包含预处理器。 您还可以将其单独使用或作为多预处理器构建操作的一部分使用。
- 当包含预处理器是编译前调用的唯一预处理器时,输入文件就是语法检查或显示依赖关系操作所选择的 COBOL 或 PL/I 程序。
- 在项目构建过程中调用包含处理器时,会对项目中的每个 COBOL 或 PL/I 程序进行处理,然后进行编译。 在这种情况下,输入文件就是当前正在处理的 COBOL 或 PL/I 源文件。
- 当作为多预处理器操作的一部分调用包含预处理器并且在先前预处理器之后启动时,包含预处理器的输入文件是来自先前活动预处理器的输出文件。 此文件是先前活动预处理器的 预处理器输出文件名 输入字段中列出的文件。 有关设置多个预处理器的更多信息,请参阅使用多个本地预处理器。
过程
要使用本地包含预处理器:
- 打开与资源或项目相关联的属性组的属性组编辑器,并打开 PL/I 页面。
- 从左侧列表中,单击 本地预处理器 以打开 " 本地预处理器 " 页面。
- 单击 新建。
- 完成 " 本地预处理器 " 页面的 预处理器选项 部分中的字段。
- 预处理器描述
- 输入描述,例如 Include preprocessor。
- 预处理器名称
- 输入包含预处理器的名称。 默认值为${bundle:com.ibm.systemz.preprocessor.include}/bin/operatingSystem/PPINCL01,其中operatingSystem为macos或win32。 ${bundle} 变量指向一个未打包的软件包或插件。 此变量用来查找包括预处理器。
注意: 若您使用的是在 V14.1.4 或更早版本中创建的属性组,则使用 ${INSTDIR} 变量指向安装目录的预处理器名称仍保持有效。 对于 V 14.1.5, PPINCL01 预处理器包含在产品安装路径和 com.ibm.systemz.preprocessor.include 插件中。
- 预处理器自变量
- 包含预处理器可以采用以下参数:
限制: 缺省情况下,此字段为空。 如果为包含预处理器定义内容类型,并在此字段中指定任何预处理器参数,那么必须使用 EXT () 手动添加希望预处理器识别的任何文件扩展名 参数,例如 EXT("cpy","inc"," ")。
- 预处理器输出文件名
- 指定要用于预处理器输出的文件名。 如果省略此选项,那么将生成输出文件名。
- 支持错误反馈
- 选中此复选框以记录预处理器生成的错误。 选中此复选框将启用 错误反馈 XML 文件名 字段。 缺省情况下,此选项处于启用状态。
- 错误反馈 XML 文件名
- 指定要为错误反馈生成的 XML 文件的非限定名。 如果省略此选项,那么将生成错误反馈 XML 文件名。
- 环境变量 (Set 语句)
- 指定要传递到预处理器的任何环境变量。 此字段包含 SYSLIB 的值,但您必须更改该值以指向包含您的包含文件的文件夹。 SYSLIB 环境变量的路径长度限制为 4 K。 对于超过 4 K 的长度,不会发出错误消息,但是大于 4 K 的 SYSLIB 语句可能会导致语法检查操作在包含预处理器程序中异常结束。