Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, 言語解説書

区切り文字と演算子

区切り文字演算子 は、ID と 定数を分離するのに使われます。 表 5 は区切り文字、表 6 は演算子を示します。

表 5. 区切り文字
名前 区切り文字 用途
コンマ , リスト内の各エレメントを区切ります。BY NAME オプションの前でも使います。
ピリオド . 修飾名の各エレメントを接続します。10 進数または 2 進数の小数点としても使います。
セミコロン ; ステートメントの終わりを表します。
等号 = 代入を表すほか、条件式では「等しい」ことを表します。
コロン : ステートメントに接頭語をつなぐときに使います。次元属性で、下限と上限を連結するときや、DEFAULT ステートメントの RANGE 指定内でも使います。
ブランク b エレメントを区切ります。
括弧 ( ) リスト、式、反復因数 (iteration factor)、および反復因数 (repetition factor) を囲みます。各種のキーワードに関連する情報を囲むときも使います。
ロケーター
->
=>
ロケーター修飾 (ポインターとオフセット) を表します。
ロケーター修飾 (ハンドル) も表します。
パーセント % % ステートメントと % ディレクティブを表します。
注:
必要な記号を忘れると、トレース困難なエラーが起こることがあります。 よくあるエラーとしては、引用符が対になっていない、小括弧が対になっていない、 コメント区切り文字が対になっていない、ならびにセミコロンが欠落しているなどがあります。
表 6. 演算子
演算子の
タイプ
文字
意味
算術
+
-
*
/
**
加算または前置加算
減算または前置減算
乗算
除算
累乗演算
比較
=
¬=
<
¬<
>
¬>
<=
>=
等しい
等しくない
より小
より小でない
より大
より大でない
より小さいか等しい
より大きいか等しい
論理演算子
¬
&
|
NOT、排他的 OR
AND
または
ストリング
演算子
||
連結

区切り文字として使う文字をほかのコンテキストで使うことができます。 例えば、名前を修飾するときに使うピリオドは区切り文字 (例えば、 Weather.Temperature) ですが、 算術定数内で使用する場合は 10 進小数点です (例えば、3.14)。

ブランク

各演算子または区切り文字の前後をブランク (b) で囲むことができます。

ブランク以外の区切り文字で区切られていない ID や定数は、1 つ以上のブランクで区切る必要があります。 ただし、この規則の唯一の例外として、ID P、PIC、 および PICTURE の後にはブランクなしで文字ストリングを続けることができます。 ブランクは、入れることが可能なところであれば、いくつでも入れることができます。

ID、複合記号、または定数 (文字定数、混合定数、ワイド文字、および漢字ストリング定数は除く) の中にブランクがあってはなりません。

以下に例を示します。

ab+bc Ab + Bc は同等
Table(10) TABLEb(b10bbb) は同等
First,Second first,bsecond は同等
AtoB AbtobB は同等ではない

以上のほかに、ブランクを必要また は許可する場合については、 それぞれの言語特性を説明 する際に言及します。

コメント

ブランクを区切り文字として使用できるところでは、 コメントを使用することができます。 コメントは、ブランクと見なされ、区切り文字として使用されます。 コメントはプログラム内のロジックでは無視され、影響を及ぼしません。 コメントの構文は、以下のとおりです。

構文図を読む構文図をスキップする>>-/*--+------+--*/--------------------------------------------><
       '-text-'
 
/*
コメントの始まりを示します。
text
コメントの終わりを示す複合記号 */ 以外の文字は、任意の順序で指定することができます。
*/
コメントの終わりを示します。

コメントは、1 行、または複数行にまたがって入れることができます。 例えば、次のようになります。

  A = /* This comment is on one line */ 21;

      /* This comment spans
         two lines          */

以下の例では、コメントとして表示されるものは、 (引用符で囲まれているので) 実際には文字ストリング定数です。

  A = '/* This is a constant, not a comment */' ;

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)