Define el analizador de libros de copia

Mainframe Connector admite dos versiones del analizador de libros de copia:

  • Analizador de libro de copia nativo: El analizador de libro de copia nativo es la versión más reciente del analizador. El analizador de libros de copia nativos implementa un analizador basado en ANTLR4 y admite libros de copia de COBOL. Para obtener más información sobre las funciones compatibles con el analizador de libros de copia nativos y las restricciones de su uso, consulta Analizador de libros de copia nativos.
  • Sintaxis de copia heredada: Es una versión anterior del analizador que admite funciones que no son de COBOL. Si usas un libro de copia basado en un lenguaje específico del dominio (DSL), es posible que el analizador heredado sea más adecuado, ya que el analizador de libros de copia nativos puede causar errores. Para obtener más información sobre las funciones compatibles con el analizador de libros de copia heredados y las restricciones de su uso, consulta Analizador de libros de copia heredados.

Puedes definir qué analizador quieres usar en función de tu libro de copia con la marca parser_type=legacy|copybook. El valor predeterminado es auto, que es el modo de detección automática. El modo de detección automática prioriza el uso del analizador de libros de copia nativos, que es adecuado para analizar libros de copia basados en COBOL. Sin embargo, si usas un libro de copia no basado en COBOL con el formato anterior, la marca parser_type=legacy ofrece compatibilidad con versiones anteriores, lo que te permite usar el analizador de libros de copia heredados.

En la siguiente tabla, se define el comportamiento del conector de Mainframe según la marca.

Marcar Acción
auto El conector de Mainframe detecta el analizador automáticamente y ejecuta tres intentos de análisis en el siguiente orden:
  • Analiza con el analizador nativo y el área de comentarios explícita en las columnas 1 a 6. Si el análisis se realiza correctamente, Mainframe Connector registra el analizador que se usa y muestra el resultado. Si el análisis falla, el conector de Mainframe intenta el siguiente analizador.
  • Analiza con el analizador nativo sin el área de comentarios. Si el análisis se realiza correctamente, Mainframe Connector registra el analizador que se usa y muestra el resultado. Si el análisis falla, el conector de Mainframe intenta el siguiente analizador.
  • Analiza con el analizador heredado. Si el análisis se realiza correctamente, el conector de Mainframe registra el analizador que se usa y muestra el resultado. Si el análisis falla, el conector de Mainframe muestra un error.
legacy El analizador heredado se usa para el análisis. Espera un modelo de texto similar al de COBOL, como un modelo de texto basado en un lenguaje específico de dominio (DSL). Cuando usas la marca legacy, el conector de Mainframe muestra una advertencia de que el analizador heredado dejará de estar disponible. Después de usar el analizador tradicional para el análisis, Mainframe Connector compara el resultado del analizador tradicional con el del analizador nativo ejecutando dos intentos de análisis en el siguiente orden:
  • Analiza el libro de texto con el analizador nativo que espera un área de comentarios explícita en las columnas 1 a 6. Si el análisis se realiza correctamente, el conector de Mainframe compara el resultado analizado con el del analizador heredado. Si no es igual, se muestra una advertencia. Si el análisis falla, el conector de Mainframe intenta el siguiente analizador.
  • Analiza el libro de copia con el analizador nativo sin área de comentarios en las columnas 1 a 6. Si el análisis se realiza correctamente, Mainframe Connector compara el resultado analizado con el del analizador heredado. Si no es igual, se muestra una advertencia. Si el análisis falla, Mainframe Connector registra la excepción.
copybook El analizador de libro de copia nativo se usa para el análisis. Espera libros de texto nativos como entrada, incluido un área de comentarios explícita en las columnas 1 a 6. Si el análisis falla, el conector de Mainframe muestra un error.