ILE COBOL 解説書

置き換えおよび比較の規則

  1. ID の一部ではない算術および論理演算子は、 テキスト語と見なされ、疑似テキスト・オプションを介してだけ置き換えることができます。
  2. 表意定数がオペランド -1 である場合、それが一致するのは、 それが指定されたとおりの正確な形で存在する場合だけです。 たとえば、ライブラリー・テキスト内に ALL "AB" が指定されている場合には、"ABAB" は一致と見なされず、ALL "AB" だけが一致と見なされます。
  3. 疑似テキスト -2 の位置付けの規則によって、 置き換えで異なる区域への挿入が行われる場合を除き、オペランド -2 はオペランド -1 の位置にコピーされます。
  4. ライブラリー・テキストの左端の語よりも前にある分離文字コンマ、セミコロン、またはスペース (あるいはこれらの組み合わせ) は、 ソース・プログラムの中にコピーされます。左端のライブラリー・テキスト語と、REPLACING オプションで指定された最初のオペランド -1 から開始して、 キーワード BY よりも前にある REPLACING オペランド全体が、等しい数の連続したライブラリー・テキスト語と比較されます。
  5. オペランド -1 がライブラリー・テキストと一致するのは、 オペランド -1 の中の一連のテキスト語が、文字単位で一連のライブラリー・テキスト語と等しい場合に限られます。 マッチングのため、コンマまたはセミコロンの分離文字と、1 つ以上のスペース分離文字は、1 つのスペースと見なされます。
  6. 一致が検出されない場合には、一致が検出されるかまたは REPLACING 句のオペランドがなくなるまで、 連続するそれぞれのオペランド -1 について比較が繰り返されます。
  7. オペランド -1 とライブラリー・テキストの間で一致が検出されると、 対応するオペランド -2 がソース・プログラムにコピーされます。
  8. すべてのオペランドが比較され、一致が検出されない場合、 ライブラリー・テキストの左端の語がソース・プログラムにコピーされます。
  9. その後、次に続くコピーされていないライブラリー・テキスト語が左端のテキスト語と見なされ、 最初のオペランド -1 から比較処理が繰り返されます。 この処理は、ライブラリー・テキストの右端の語が比較されるまで続けられます。
  10. ライブラリー・テキストおよび疑似テキスト -1 の中のコメント行またはブランク行は、マッチングの目的で無視されます。 ライブラリー・テキストおよび疑似テキスト -1 の中の一連の語は、参照形式に関する規則に従って判別されます。 疑似テキスト -2 の中のコメント行またはブランク行は、 疑似テキスト -2 がテキストの置き換えの結果としてソース・プログラムに入れられるときには常に、 未変更のまま結果のプログラムにコピーされます。 ライブラリー・テキスト内のコメント行またはブランク行は、 未変更のまま結果のソース・プログラムにコピーされますが、次の例外があります。 ライブラリー・テキスト内のコメント行またはブランク行は、 疑似テキスト -1 と一致する一連のテキスト語の中にある場合にはコピーされません。
  11. 置き換え後のテキスト語は、標準 COBOL 形式の規則に従ってソース・プログラムの中に入れられます。 参照形式域の詳細は 参照形式を参照してください。

    ライブラリーから更新せずにコピーされた各テキスト語は、結果のプログラムにおいて、 元のライブラリーの中にあったと同じ行の区域から開始されます。 しかし、この規則の例外として、更新されずにコピーされるテキスト語がライブラリー内の区域 A で開始し、 かつ自分よりも長いテキストで置き換えられる区域 A 内の別のテキスト語の後に続く場合は、 更新されずにコピーされたテキスト語は、区域 A で適合しなくなれば区域 B で開始されます。

    結果のプログラムに入れられる疑似テキスト -2 の各テキスト語は、 結果のプログラムにおいて、元の疑似テキスト -2 の中にあったと同じ区域で開始します。 結果のプログラムに入れられる各 ID-2、リテラル -2、および語 -2 は、 結果のプログラムにおいて、置き換えられるライブラリー・テキストと同じ区域で開始します。

    +----------------------------------IBM 拡張----------------------------------+

  12. COPY REPLACING は、EJECT、SKIP1/2/3、または TITLE コンパイラー指示ステートメントには影響を与えません。

    +------------------------------End of IBM 拡張-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]