Definisci il parser del modello

Mainframe Connector supporta due versioni dell'interprete di file di copia:

  • Analizzatore sintattico nativo del copybook: il copybook nativo è la versione più recente dell'analizzatore sintattico. L'analizzatore sintattico nativo del copybook implementa un parser basato su ANTLR4 e supporta i copybook COBOL. Per maggiori informazioni informazioni sulle funzionalità supportate dall'analizzatore sintattico nativo del copybook e relative alle limitazioni di utilizzo, vedi Analizzatore di testo copiato nativo.
  • parser del copybook legacy: l'analizzatore sintattico legacy del copybook è una versione precedente di l'analizzatore sintattico che supporta le funzionalità non COBOL. Se utilizzi specifiche del dominio Il parser legacy potrebbe essere più adatto al copybook basato sulla lingua (DSL) come L'analizzatore sintattico nativo del copybook potrebbe causare errori. Per maggiori informazioni sulle funzionalità supportate dall'analizzatore sintattico legacy e sulle restrizioni al suo utilizzo, vedi Analizzatore di testi sintattico legacy.

Puoi definire quale parser vuoi utilizzare in base al tuo quaderno usando il metodo parser_type=legacy|copybook flag. Il valore predefinito è auto, ovvero la modalità di rilevamento automatico. La modalità di rilevamento automatico dà la priorità all'utilizzo dell'analizzatore di file di dati nativo, che è adatto per l'analisi di file di dati basati su COBOL. Tuttavia, se utilizzi un copybook non basato su COBOL con il formato precedente, il flag parser_type=legacy offre le risposte compatibilità che ti aiuta a usare l'analizzatore sintattico del copybook legacy.

La tabella seguente definisce il comportamento del connettore mainframe in base sulla bandiera.

Bandiera Azione
auto Mainframe Connector rileva automaticamente il parser ed esegue tre tentativi di analisi nel seguente ordine:
  • Analizza i dati utilizzando l'analizzatore nativo e l'area dei commenti espliciti nelle colonne 1-6. Se l'analisi ha esito positivo, Connettore mainframe Registra il parser utilizzato e restituisce il risultato. Se l'analisi non riesce, Connettore mainframe prova il parser successivo.
  • Analizza utilizzando il parser nativo senza l'area dei commenti. Se l'analisi è riuscito, il connettore mainframe registra il parser utilizzato e restituisce il risultato. Se l'analisi non va a buon fine, Connettore mainframe e prova il parser successivo.
  • Analizza i dati utilizzando il parser legacy. Se l'analisi ha esito positivo, Connettore mainframe registra l'analizzatore sintattico utilizzato e restituisce per ottenere il risultato. Se l'analisi non riesce, il Connettore mainframe mostra un .
legacy Per l'analisi viene utilizzato il parser legacy. Si aspetta un file di tipo COBOL simile come un file basato su un linguaggio specifico per il dominio (DSL). Quando usa il flag legacy, il connettore mainframe mostra avviso che il parser legacy verrà deprecato. Dopo aver utilizzato analizzatore sintattico per l'analisi, Mainframe Connector confronta il risultato Parser legacy con quello dell'analizzatore sintattico nativo eseguendo due analisi tentativi nel seguente ordine:
  • Analizza il file di copia utilizzando il parser nativo che prevede un'area di commenti esplicita nelle colonne 1-6. Se l'analisi ha esito positivo, Il connettore mainframe confronta il risultato analizzato con quello del Parser legacy. Se non sono uguali, viene visualizzato un avviso. Se l'analisi non riesce, Connettore mainframe prova il parser successivo.
  • Analizza il copybook utilizzando l'analizzatore sintattico nativo senza area di commento in colonne 1-6. Se l'analisi ha esito positivo, Mainframe Connector confronta il risultato analizzato con quello dell'analizzatore precedente. In caso contrario che indica la visualizzazione di un avviso. Se l'analisi non va a buon fine, Mainframe Connector registra l'eccezione.
copybook Per l'analisi viene utilizzato il parser del copybook nativo. Si aspetta che gli annunci nativi i fogli di lavoro come input, inclusa un'area di commento esplicita nelle colonne 1-6. Se l'analisi non riesce Il connettore mainframe mostra un errore.