스마트 논리적 레이아웃은 다음과 같은 두 가지 문제를 해결하기 위해 System z용 Rational Developer에 도입되었습니다.
STRING "token1", "token2", "token3", "token4"비주얼 대 논리적 변환 후 이 행은 논리적 편집기에서는 올바르게(호스트에서와 같게) 표시되지만 반대 순서로 저장될 것입니다.
STRING "token4", "token3", "token2", "token1"
라운드 트립 문제를 해결하려면 특수 옵션을 가진 양방향 변환 알고리즘을 제공해야 합니다. 이 옵션이 지정될 때(즉, System z용 Rational Developer 사용자가 스마트 논리적 클라이언트 레이아웃을 정의할 때), 잠재적 모호성을 가진 양방향 텍스트의 앞에 LRM 또는 RLM 기호가 자동으로 붙게 됩니다. 이 기호는 또한 intra-token 기호라고 합니다.
복합 표현식 문제의 해결은 LRM 기호 사용에 기반합니다. 이 해결 방안은 특정 언어 구문에 크게 달라지기 때문에 이 문제에 대한 일반 해결 방안을 제공하는 것은 불가능합니다. COBOL, C/C++, PL/I, HLASM 및 XML로 작성된 소스 프로그램의 비주얼 대 논리적 변환은 System z용 Rational Developer 사용자가 스마트 논리적 클라이언트 레이아웃을 정의할 때 LRM 기호 삽입을 지원하도록 확장되었습니다. 언어에 따른 구문 문제를 해결하기 위해 스마트 논리적 알고리즘에 도입된 기호를 inter-token 기호라고 합니다.