Copybook-Parser definieren

Der Mainframe-Connector unterstützt zwei Versionen des Copybook-Parsers:

  • Nativer Copybook-Parser:Der native Copybook-Parser Der Parser ist die neueste Version des Parsers. Der native Copybook-Parser Implementiert einen ANTLR4-basierten Parser und unterstützt COBOL-Copybooks. Weitere Informationen Informationen zu den vom Native Copybook-Parser unterstützten Funktionen und dem Einschränkungen für die Verwendung finden Sie unter Nativer Copybook-Parser.
  • Legacy Copybook-Parser: Der Legacy Copybook-Parser ist eine ältere Version des Parsers, die nicht-COBOL-Funktionen unterstützt. Bei Verwendung domainspezifischer Sprachbasiertes Copybook (DSL), der beim Legacy-Parser möglicherweise besser geeignet ist Der native Copybook-Parser kann Fehler verursachen. Weitere Informationen zu den vom alten Copybook-Parser unterstützten Funktionen und den Einschränkungen bei der Verwendung finden Sie unter Alte Copybook-Parser-Version.

Mit dem Flag parser_type=legacy|copybook können Sie angeben, welchen Parser Sie basierend auf Ihrem Copybook verwenden möchten. Der Standardwert ist auto, dem Modus für die automatische Erkennung. Modus für die automatische Erkennung priorisiert die Verwendung des nativen Copybook-Parsers, der sich für das Parsen eignet. COBOL-basierte Copybooks. Wenn Sie jedoch ein nicht COBOL-basiertes Copybook mit dem alten Format verwenden, bietet das Flag parser_type=legacy rückwärtskompatible Funktionen, die die Verwendung des Legacy Copybook-Parsers unterstützen.

In der folgenden Tabelle wird das Verhalten des Mainframe-Connectors basierend auf dem Flag definiert.

Flag Aktion
auto Der Mainframe-Connector erkennt den Parser automatisch und führt drei Parseversuche in der folgenden Reihenfolge aus:
  • Wird mit dem nativen Parser und dem expliziten Kommentarbereich in den Spalten 1–6 geparst. Wenn das Parsen erfolgreich ist, protokolliert den verwendeten Parser und gibt das Ergebnis zurück. Wenn das Parsen fehlschlägt, versucht der Mainframe-Connector den nächsten Parser.
  • Wird mit dem nativen Parser ohne Kommentarbereich geparst. Wenn das Parsen erfolgreich war, protokolliert Mainframe Connector den verwendeten Parser und gibt das Ergebnis zurück. Wenn das Parsen fehlschlägt, versucht den nächsten Parser.
  • Mit dem Legacy-Parser geparst. Ist das Parsing erfolgreich, Der Mainframe-Connector protokolliert den verwendeten Parser und gibt für das Ergebnis. Wenn das Parsen fehlschlägt, zeigt der Mainframe-Connector einen Fehler an.
legacy Zum Parsen wird der Legacy-Parser verwendet. Es erwartet ein COBOL-Look-A-like z. B. DSL-basiertes Copybook. Wenn Sie das Flag legacy verwenden, wird im Mainframe Connector eine Warnung angezeigt, dass der Legacy-Parser eingestellt wird. Nach Verwendung des alten Parser verwendet, vergleicht der Mainframe-Connector das Legacy-Parser mit dem Parser des nativen Parsers, indem zwei Parser ausgeführt werden und zwar in der folgenden Reihenfolge:
  • Das Copybook wird mit dem nativen Parser geparst. Dabei wird in den Spalten 1–6 ein expliziter Kommentarbereich erwartet. Wenn das Parsen erfolgreich war, vergleicht der Mainframe-Connector das geparste Ergebnis mit dem des Legacy-Parsers. Wenn sie nicht gleich ist, wird eine Warnung angezeigt. Wenn das Parsen fehlschlägt, versucht der Mainframe-Connector den nächsten Parser.
  • Das Copybook wird mit dem nativen Parser ohne Kommentarbereich in den Spalten 1–6 geparst. Wenn das Parsen erfolgreich ist, vergleicht das geparste Ergebnis mit dem Ergebnis des Legacy-Parsers. Falls nicht, wird eine Warnung angezeigt. Wenn das Parsen fehlschlägt, wird die Ausnahme vom Mainframe Connector protokolliert.
copybook Für das Parsen wird der native Copybook-Parser verwendet. Native Anzeige Kopierbücher als Eingabe, einschließlich eines expliziten Kommentarbereichs in den Spalten 1 bis 6. Wenn das Parsen fehlschlägt, zeigt der Mainframe-Connector einen Fehler an.