关键字指示信息

关键字指令 是一个或多个子句,其中第一个子句以标识指令的关键字开头。 一些关键字指令会影响控制流,而另一些则为程序员提供服务。 某些关键字指令 (例如 DO) 可以包含嵌套指令。

在语法图中,大写的符号 (单词) 表示关键字或子关键字; 其他单词 (例如 expression) 表示先前定义的标记集合。 但是,关键字和子关键字不依赖于大小写; 符号 ifIfiF 都具有相同的效果。 您通常可以省略所显示的大多数子句定界符 (;) ,因为它们是由行尾隐含的。

子句和指示信息中所述,仅当关键字的关键字是子句中的第一个标记,并且第二个标记未以 = 字符 (表示赋值) 或冒号 (表示标签) 开头时,才会识别关键字指令。 在相同情况下,会识别关键字 ELSE , END , ELSE , THEN 和 WHEN。 任何以 REXX 定义的关键字开头的子句都不能是命令。 因此,下面是 ARG 关键字指令,而不是以调用 ARG 内置函数开始的命令。
arg(fred) rest
如果关键字不在 DO , IF 或 SELECT 指令中的正确位置,那么会产生语法错误。 (在 IF 或 WHEN 子句的主体中也可识别关键字 THEN。) 在其他上下文中,关键字不是保留的,可以用作标签或变量的名称 (尽管通常不建议这样做)。

某些其他关键字 (称为子关键字) 保留在个别指令的子句中。 例如,在 ADDRESS 和 PARSE 指令中,符号 VALUE 和 WITH 分别是子关键字。 有关详细信息,请参阅每个指令的描述。 有关保留关键字的一般讨论,请参阅 保留关键字和特殊变量

与关键字相邻的空格除了将关键字与后续标记分开之外没有任何作用。 在以下示例中,要将 expression 与 subkeyword 分隔开,需要以下 VALUE 后面的一个或多个空格:
ADDRESS VALUE expression
但是,在以下示例中, VALUE 子关键字后不需要空白,尽管它将添加到可读性中:
ADDRESS VALUE'ENVIR'||number