textLiteralDefaultIsString
textLiteralDefaultIsString 특성은 EGL에 텍스트 리터럴 처리 방법을 알려줍니다. 기본적으로 EGL은 STRING으로 명시적으로 유형 선언되지 않은 리터럴을 처리합니다. 그러면 개발자가 일반적으로 고정 텍스트 변수 유형을 사용하는 VisualAge® Generator 프로그램에서 충돌이 발생할 수 있습니다. 이러한 프로그램에서는 시간이 오래 걸리는 변환이 필요한 변수 길이, 유니코드 문자열로 리터럴을 구현하는 것이 비효율적입니다.
또한 call, transfer 또는 show 문에서 인수로 리터럴을 전달하는 경우 인수는 수신 매개변수의 유형(일반적으로 VisualAge Generator에서는 CHAR 유형)과 일치해야 합니다. textLiteralDefaultIsString을 NO로 설정하면 EGL이 VisualAge Generator 매개변수에 지정하는 데 적합한 유형을 리터럴에 제공합니다.
특성은 BOOLEAN이며 다음 값을 갖습니다.
- YES
- 텍스트 리터럴에 명시적 유형 스펙이 없는 경우 프리프로세서가 텍스트 리터럴에 STRING 유형을 지정합니다. 기본값입니다.
- NO
- 텍스트 유형은 다음 표에 표시된 것처럼 리터럴의 문자에 따라 다릅니다.
표 1. textLiteralDefaultIsString이 NO로 설정된 텍스트 리터럴의 유형 지정 리터럴의 컨텐츠 유형 길이 모든 1바이트 문자 CHAR 리터럴의 문자 수 모든 2바이트 문자 DBCHAR 리터럴의 문자 수 1바이트 문자와 2바이트 문자의 조합 MBCHAR 리터럴의 길이(바이트)
호환성
| 플랫폼 | 문제 |
|---|---|
| Java™ 생성 | 모든 Java 텍스트 리텉럴은 Java 문자열로 구현되므로 이 특성은 성능에 영향을 미치지 않습니다. |
| JavaScript 생성 | textLiteralDefaultIsString 특성이 지원되지 않습니다. |