コピーブック パーサーを定義する

Mainframe Connector では、2 つのバージョンのコピーブック パーサーがサポートされています。

  • ネイティブ コピーブック パーサー: ネイティブ コピーブック パーサーは、パーサーの最新バージョンです。ネイティブ コピーブック パーサーは ANTLR4 ベースのパーサーを実装し、COBOL コピーブックをサポートします。ネイティブ コピーブック パーサーでサポートされている機能と、その使用の制限の詳細については、ネイティブ コピーブック パーサーをご覧ください。
  • レガシー コピーブック パーサー: レガシー コピーブック パーサーは、COBOL 以外の機能をサポートする古いバージョンのパーサーです。ドメイン固有の言語(DSL)ベースのコピーブックを使用している場合、ネイティブ コピーブック パーサーによってエラーが発生する可能性があるため、レガシー パーサーの方が適している可能性があります。レガシー コピーブック パーサーでサポートされている機能と使用の制限の詳細については、レガシー コピーブック パーサーをご覧ください。

parser_type=legacy|copybook フラグを使用すると、コピーブックに基づいて使用するパーサーを定義できます。デフォルト値は auto で、これは自動検出モードです。自動検出モードでは、ネイティブ コピーブック パーサーの使用が優先されます。これは、COBOL ベースのコピーブックの解析に適しています。ただし、古い形式で非 COBOL ベースのコピーブックを使用している場合は、parser_type=legacy フラグにより Legacy Copybook パーサーの使用に役立つ下位互換性が維持されます。

次の表に、フラグに基づく Mainframe Connector の動作を定義します。

フラグ アクション
auto Mainframe Connector はパーサーを自動的に検出し、次の順序で 3 回の解析試行を実行します。
  • ネイティブ パーサーと列 1 ~ 6 の明示的なコメント領域を使用して解析します。解析に成功すると、Mainframe Connector は使用されているパーサーをログに記録し、結果を返します。解析に失敗した場合、Mainframe Connector は次のパーサーを試行します。
  • コメント領域なしでネイティブ パーサーを使用して解析します。解析が成功すると、Mainframe Connector は使用されるパーサーをログに記録し、結果を返します。解析に失敗した場合、Mainframe Connector は次のパーサーを試行します。
  • 以前のパーサーを使用して解析します。解析が成功すると、Mainframe Connector は使用されているパーサーをログに記録し、結果を返します。解析に失敗した場合、Mainframe Connector はエラーを表示します。
legacy レガシー パーサーが解析に使用されます。ドメイン固有言語(DSL)ベースのコピーブックなどの、COBOL に似たコピーブックを想定します。legacy フラグを使用すると、Mainframe Connector は、レガシー パーサーが非推奨になるという警告を表示します。レガシー パーサーを使用して解析した後、Mainframe Connector は、次の順序で 2 回の解析試行を実行して、レガシー パーサーとネイティブ パーサーの結果を比較します。
  • ネイティブ パーサーを使用して、列 1 ~ 6 に明示的なコメント領域があることを想定してコピーブックを解析します。解析に成功すると、Mainframe Connector は解析された結果をレガシー パーサーの結果と比較します。等しくない場合は、警告が表示されます。解析に失敗した場合、Mainframe Connector は次のパーサーを試行します。
  • ネイティブ パーサーを使用して、列 1 ~ 6 のコメント領域のないコピーブックを解析します。解析に成功すると、Mainframe Connector は解析された結果をレガシー パーサーの結果と比較します。等しくない場合は、警告が表示されます。解析に失敗した場合、Mainframe Connector は例外をログに記録します。
copybook ネイティブ コピーブック パーサーが解析に使用されます。ネイティブ コピーブックを入力として想定し、列 1 ~ 6 に明示的なコメント領域が含まれます。解析に失敗した場合、Mainframe Connector にエラーが表示されます。