El esquema de diseño lógico inteligente se ha incluido en
Rational Developer
for System
z para superar las restricciones del esquema de orden lógico y proporcionar los requisitos especiales
de los lenguajes de programación.
El diseño lógico inteligente se incluye en
Rational Developer paraSystem z para resolver
dos problemas principales:
- Problema de ida y vuelta
- El algoritmo de reordenación implícito (lógico) tiene restricciones conocidas
que no permiten la gestión correcta de las series que incluyen texto bidireccional. Por lo tanto, los usuarios no puede generar fácilmente determinadas presentaciones.
Estas restricciones
también crean ambigüedad durante la conversión de visual a lógico, que se suele realizar cuando
los datos se descargan de un sistema remoto
zSeries a un cliente Windows® o Java™.
- Gestión de expresiones complejas
- El texto escrito en lenguajes formales (como un lenguaje de programación) debe cumplir las
reglas que indican el orden de los distintos símbolos, según la sintaxis
adecuada. Si algunos símbolos contienen letras RTL (derecha a izquierda), la reordenación
que se realiza para la presentación según el algoritmo regular puede provocar que los
símbolos aparezcan en un orden distinto al orden sintáctico. Como resultado, los datos
bidireccionales estructurados pueden ser erróneos por la conversión de visual a lógico, que
no tendría en cuenta la estructura de datos. Pongamos, por ejemplo, que un archivo COBOL en un sistema
MVS tiene la línea de
código siguiente en la que hay símbolos, árabes y hebreos:
STRING "símbolo1", "símbolo2", "símbolo3",
"símbolo4"
Tras la conversión de visual a lógico, esta fila aparecería de forma correcta (la
misma que en el host) en cualquier editor lógico, pero se almacenaría en el orden opuesto:STRING "símbolo4", "símbolo3", "símbolo2",
"símbolo1"
Solución al problema de ida y vuelta
Para resolverlo, se ha proporcionado el algoritmo de conversión bidireccional con una opción especial. Cuando se especifica esta opción (esto es, cuando el diseño
de cliente lógico inteligente está definido por un usuario de
Rational Developer for System z),
el texto bidireccional con posible ambigüedad se antecede automáticamente por marcas LRM o RLM. Estas
marcas también se denominan marcas intra-códigos.
Solución del problema de la gestión de expresiones complejas
La solución de
problemas en expresiones complejas también se basa en el uso de marcas LRM.
Desgraciadamente, no es posible
resolver este problema con una solución genérica, ya que la resolución depende en gran medida de la
sintaxis concreta de cada lenguaje. La conversión visual-a-lógico para programas fuente escritos e
COBOL, C/C++, PL/I, HLASM y XML se ha ampliado para incluir soporte para la inserción de marcas
LRM cuando el diseño de cliente lógico inteligente está definido por el usuario de
Rational Developer for System z. Las marcas
introducidas por el algoritmo lógico inteligente para resolver los problemas de sintaxis que dependen del
lenguaje se denominan marcas intra-códigos