Le mode de classement logique dynamique a été introduit dans
Rational Developer for
System z pour surmonter les restrictions du mode de classement logique
et répondre aux besoins spécifiques des langages de programmation.
Le classement logique dynamique a été introduit dans
Rational Developer for
System z pour résoudre deux problèmes majeurs :
- Problème d'aller-retour
- Le reclassement implicite (logique) présente des restrictions connues qui ne
permettent pas la gestion correcte de certaines chaînes contenant du texte bidirectionnel. Par conséquent, les utilisateurs ne parviennent pas à générer correctement certaines présentations.
Ces restrictions créent également une ambiguïté lors de la conversion de type visuel vers logique,
effectuée généralement lorsque les données sont téléchargées à partir d'un système distant
zSeries vers un
client Windows® ou Java™.
- Gestion d'expressions complexes
- Le texte écrit en langages formels (par exemple les langages de programmation) doivent
obéir à des règles qui dictent l'ordre de différents marqueurs en fonction de la syntaxe appropriée. Si certains jetons contiennent des lettres RTL (de droite à gauche), le reclassement effectué pour la
présentation selon l'algorithme classique peut afficher les marqueurs dans un ordre différent de celui de la syntaxe. Par conséquent, les données bidirectionnelles structurées peuvent être décomposées par une conversion de type visuel vers logique, qui ne prend pas en compte la structure des données. Supposons par exemple qu'un fichiers COBOL
sur un système MVS
contient la ligne de code suivant, dans laquelle les marqueurs sont en arabe et en hébreu :
CHAINE "marqueur1", "marqueur2", "marqueur3", "marqueur4"
Après la conversion de type visuel vers logique, cette ligne apparaîtra correctement (comme sur l'hôte) dans les éditeurs logiques, mais elle sera stockée dans l'ordre inverse :CHAINE "marqueur4", "marqueur3", "marqueur2", "marqueur1"
Résolution du problème d'aller-retour
Afin de résoudre le problème d'aller-retour,l'algorithme de conversion bidirectionnel a été doté d'une option spécifique.
Lorsqu'elle est sélectionnée (c'est-à-dire lorsque la disposition du client logique dynamique est définie par un
utilisateur Rational Developer for
System z), le texte bidirectionnel pouvant présenter une ambiguïté est
automatiquement précédé de marques LRM ou RLM. Ces marques sont également appelées marques intra-jeton.
Résolution du problème de gestion d'expressions complexes
La résolution
de problèmes d'expressions complexes est également basée sur l'utilisation de marques LRM.
Malheureusement, il n'est pas possible de résoudre ce problème par une solution générique, car la résolution est fortement dépendante d'une syntaxe de langage particulière.
La conversion de type visuel vers logique pour les programmes source écrits en COBOL, C/C++, PL/I, HLASM et XML
a été étendue pour prendre en charge l'insertion de marques LRM, lorsque la disposition du client logique
dynamique est définie par l'utilisateur Rational Developer for
System z. Les marques introduites par l'algorithme logique dynamique pour résoudre des problèmes de syntaxe dépendants du langage sont appelés marques inter-jeton.