카피북 파서 정의

Mainframe Connector는 다음과 같은 두 가지 버전의 카피북 파서를 지원합니다.

  • 네이티브 카피북 파서: 네이티브 카피북 파서는 최신 버전의 파서입니다. 네이티브 카피북 파서는 ANTLR4 기반 파서를 구현하고 COBOL 카피북을 지원합니다. 네이티브 카피북 파서에서 지원하는 기능과 사용 제한사항에 대한 자세한 내용은 네이티브 카피북 파서를 참조하세요.
  • 레거시 카피북 파서: 레거시 카피북 파서는 비COBOL 기능을 지원하는 이전 버전의 파서입니다. 도메인별 언어(DSL) 기반 카피북을 사용하는 경우 네이티브 카피북 파서로 인해 오류가 발생할 수 있으므로 레거시 파서가 더 적합할 수 있습니다. 레거시 카피북 파서에서 지원하는 기능과 사용 제한사항에 대한 자세한 내용은 레거시 카피북 파서를 참조하세요.

parser_type=legacy|copybook 플래그를 사용하여 카피북에 따라 사용할 파서를 정의할 수 있습니다. 기본값은 자동 감지 모드인 auto입니다. 자동 감지 모드는 COBOL 기반 카피북을 파싱하는 데 적합한 네이티브 카피북 파서를 사용하여 우선순위를 지정합니다. 그러나 이전 형식으로 COBOL 기반이 아닌 카피북을 사용하는 경우 parser_type=legacy 플래그가 레거시 카피북 파서를 사용하는 데 도움이 되는 이전 버전과의 호환성을 제공합니다.

다음 표에서는 플래그를 기준으로 Mainframe Connector의 동작을 정의합니다.

플래그 작업
auto Mainframe Connector는 파서를 자동으로 감지하고 다음 순서로 세 가지 파싱 시도를 실행합니다.
  • 1~6열의 네이티브 파서와 명시적 주석 영역을 사용하여 파싱합니다. 파싱이 성공하면 Mainframe Connector가 사용된 파서를 기록하고 결과를 반환합니다. 파싱이 실패하면 Mainframe Connector는 다음 파서를 시도합니다.
  • 주석 영역 없이 네이티브 파서를 사용하여 파싱합니다. 파싱이 성공하면 Mainframe Connector가 사용된 파서를 기록하고 결과를 반환합니다. 파싱이 실패하면 Mainframe Connector는 다음 파서를 시도합니다.
  • 레거시 파서를 사용하여 파싱합니다. 파싱이 성공하면 Mainframe Connector가 사용된 파서를 기록하고 결과를 반환합니다. 파싱이 실패하면 Mainframe Connector에 오류가 표시됩니다.
legacy 레거시 파서가 파싱에 사용됩니다. 이 경우 도메인 특정 언어(DSL) 기반 카피북과 같은 COBOL과 비슷한 카피북이 필요합니다. legacy 플래그를 사용하면 Mainframe Connector에 레거시 파서가 지원 중단될 것이라는 경고가 표시됩니다. Mainframe Connector는 파싱에 레거시 파서를 사용한 후 다음 순서로 두 번의 파싱 시도를 실행하여 레거시 파서의 결과와 네이티브 파서의 결과를 비교합니다.
  • 1~6 열의 명시적인 주석 영역을 예상하는 네이티브 파서를 사용하여 카피북을 파싱합니다. 파싱이 성공하면 Mainframe Connector가 파싱된 결과를 레거시 파서의 결과와 비교합니다. 일치하지 않으면 경고가 표시됩니다. 파싱이 실패하면 Mainframe Connector는 다음 파서를 시도합니다.
  • 1~6 열의 주석 영역이 없는 네이티브 파서를 사용하여 카피북을 파싱합니다. 파싱이 성공하면 Mainframe Connector가 파싱된 결과를 레거시 파서의 결과와 비교합니다. 일치하지 않으면 경고가 표시됩니다. 파싱이 실패하면 Mainframe Connector가 예외를 로깅합니다.
copybook 네이티브 카피북 파서가 파싱에 사용됩니다. 1~6열에 명시적 주석 영역이 포함된 레거시 카피북이 입력으로 필요합니다. 파싱이 실패하면 Mainframe Connector에 오류가 표시됩니다.