The smart logical layout scheme has been introduced into Rational® Developer for System z® to overcome restrictions
of the logical ordering scheme and to provide for the special requirements
of programming languages.
The smart logical layout has been introduced in Rational Developer for System z to solve two main problems:
- Round-trip problem
- The implicit (logical) reordering algorithm has known restrictions
that do not allow correct handling of some strings containing bidirectional
text. As a result, users cannot easily generate certain presentations.
These restrictions also create ambiguity during visual to logical
conversion, which is usually performed when data is downloaded from
a zSeries® remote system
to a Windows or Java client.
- Complex expressions handling
- Text written in formal languages (such as programming languages)
must obey rules that dictate the order of different tokens according
to the appropriate syntax. If some of the tokens contain RTL (right-to-left)
letters, the reordering performed for presentation according to the
regular algorithm may cause the tokens to appear in an order different
from the syntactical order. As a result, structured bidirectional
data can be broken by visual-to-logical conversion, which is unaware
of the data's structure. Assume, for example, that a COBOL file on
an MVS™ system contains the following
line of code in which the tokens are Arabic or Hebrew:
STRING "token1", "token2", "token3", "token4"
After
visual-to-logical conversion, this row will look correct (the same
as on the host) in any logical editor, but will be stored in the opposite
order:STRING "token4", "token3", "token2", "token1"
Solving the round-trip problem
To solve
the round-trip problem, the bidirectional conversion algorithm has
been supplied with a special option. When this option is specified
(that is, when the smart logical client layout is defined by a Rational Developer for System z user), bidirectional
text with potential ambiguity is preceded automatically by LRM or
RLM marks. These marks are also called intra-token marks.
Solving the problem of complex expressions handling
Resolution
of complex expressions problems is also based on use of LRM marks.
Unfortunately, it is not possible to resolve this problem with a generic
solution, because resolution is strongly dependent on particular language
syntax. Visual-to-logical conversion for source programs written in
COBOL, C/C++, PL/I, HLASM, and XML has been extended to support LRM
marks insertion, when smart logical client layout is defined by the Rational Developer for System z user. Marks introduced
by the smart logical algorithm to solve language-dependent syntax
problems are called inter-token marks.