キーワード命令
キーワード命令 は、命令を表すキーワードで最初の文節が始まる、1 つ以上の文節です。 制御の流れを左右するキーワード命令もあれば、プログラマーにサービスを提供するキーワード命令もあります。 DO などのキーワード命令には、ネストした命令を組み込むことができます。
構文図では、大文字のシンボル (ワード) はキーワードまたはサブキーワードを示します。一部のワード (expression など) は、以前に定義されたトークンのコレクションを示すものがあります。 ただし、キーワードおよびサブキーワードは大文字でも小文字でもかまいません。すなわち、if、If、および iF といった記号は、いずれも同じ結果をもたらします。 また、行の終わりによって文節区切り文字 (;) が暗黙指定されるので、通常は、それらの文節区切り文字の大半は省略することができます。
「 文節および命令」で説明されているように、キーワード命令が認識されるのは、そのキーワードが文節内の最初のトークンであり、2 番目のトークンが
= 文字 (割り当てを暗黙指定する) またはコロン (ラベルを暗黙指定する) で始まっていない場合のみです。 キーワード ELSE、END、OTHERWISE、
THEN、および WHEN は、同じ状況で認識されます。 REXX で定義されたキーワードで始まる文節は、コマンドではあり得ません。 したがって、次のコードは ARG キーワード命令であり、ARG 組み込み関数の呼び出しで始まるコマンドではありません。arg(fred) restDO、IF、または SELECT の各命令内のキーワードの位置が正しくないと、構文エラーになります。 (キーワード THEN も、IF または WHEN 文節の本体部分として認識されます。) それ以外の文脈では、キーワードが予約されていないので、ラベルまたは変数の名前として
キーワードを使用することができます (ただし、一般的には、この方法はお勧めできません)。その他の特定のキーワードで、サブキーワードと呼ばれるものは、個々の命令の文節内で予約されています。 例えば、シンボルの VALUE および WITH は、それぞれ、ADDRESS 命令および PARSE 命令内のサブキーワードです。 詳細については、個々の命令の説明をお読みください。 予約済みキーワードの一般的な説明については、 予約済みキーワードを参照してください。
キーワードに隣接するブランクは、そのキーワードを後続のトークンから分離するためだけのものです。 下記の例では、expression をサブキーワードから離すために、
VALUE の後に 1 つまたは複数のブランクが必要です。
ADDRESS VALUE expressionただし、下記の例では、VALUE サブキーワードの後にブランクは必要ありませんが、
ブランクを入れれば読みやすくはなります。ADDRESS VALUE'ENVIR'||number