EGL 파트 해석 규칙
파트 해석 규칙은 EGL이 프로그램에서 파트 이름을 검색하여 참조를 해석하는 방법을 설명합니다. 이는 표현식의 이름을 해석하기 위해 검색(표현식에서 이름 해석에 설명되어 있음)하는 것과 다른 프로세스입니다.
파트 해석 규칙은 다음에 적용됩니다.
- 파트를 기반으로 하는 변수, 필드 또는 매개변수 선언
- use 문
- 이름을 필드 또는 함수로 해석할 수 없는 표현식
- 파트를 참조하는 특성
파트 해석에는 세 가지 중요한 개념이 있습니다.
- EGL_ROOT
- EGL_ROOT는 EGL에서 제공하는 모든 파트를 보유하는 논리 컨테이너입니다.
- EGL 빌드 경로
- EGL 빌드 경로는 프로젝트 간 가시성을 제어하지만 EGL이 파트 이름을 해석하려고 할 때 검색 순서를 제공하기도 합니다. EGL_ROOT는 경로의 끝에 내재적으로 추가됩니다. 자세한 정보는 EGL 프로그래머 안내서의 "EGL 빌드 경로"를 참조하십시오.
- 시스템 범위
- 시스템 범위에는 가져오거나 완전하지 않아도 해석할 수
있는 EGL 파트의 세트가 있습니다. 현재 시스템 범위에
있는 파트는 EGL_ROOT에서 발견된 파트뿐입니다.
시스템 범위를 사용하면 규정자 또는 import 문이
없어도 sqlLib.sqlData 레코드와 같은
시스템 파트를 참조할 수 있습니다.
mySQLDataVar sqlData;
완전한 파트 이름을 해석하기 위해 EGL은 빌드 경로의 각 항목을 검색하여 지정된 패키지와 파트가 포함되었는지 확인합니다. EGL 빌드 경로에서 발견되는 첫 번째 파트가 사용되는 파트입니다.
완전하지 않은 파트 이름을 해석하기 위해 EGL은 다음 항목에 순서대로
우선순위를 부여합니다.
- 단일 파트 가져오기
- EGL은 먼저 소스 파일에서 단일 파트 import 문을 검사하여
이름을 해석하려고 합니다. 예를 들어, 다음 import 문은
이름 myLibrary를 해석합니다.
import com.companyb.gl.myLibrary; - 기본 패키지에서 파트를 가져올 수 없습니다.
- Current® 패키지
- 단일 파트 가져오기를 검사한 후 EGL은 현재 패키지의 나머지 부분에서 이름을 확인합니다. 예를 들어, 이전 단계에 실패하고 myLibrary 라이브러리가 현재 패키지의 파트인 경우 EGL은 해당 라이브러리를 사용하여 참조를 해석합니다.
- On-Demand 가져오기
- EGL은 EGL 빌드 경로에 있는 모든 프로젝트의 On-Demand import 문에서 각 패키지를 순서대로 검색합니다. 일치하는 패키지를 발견하면 해당 패키지에 일치하는 파트가 있는지 조사합니다. 해당 일치 패키지에서 파트를 찾을 수 없는 경우에는 동일한 이름의 다른 패키지가 있는지 계속해서 EGL 빌드 경로를 검색합니다.
- EGL은 이 단계에서 소스 파일의 모든 On-Demand import 문을 읽습니다. 둘 이상의 On-Demand import 문이 동일한 파트 이름을 해석하는 경우 EGL은 해당 이름을 모호한 것으로 표시합니다. 하나 이상의 On-Demand import 문을 단일 파트 가져오기 또는 완전한 파트 이름으로 바꿔 이와 같은 충돌을 해결하십시오.
- com.companyb.payroll 패키지에 myLibrary가 있는 경우에는
EGL에서 다음 코드를 사용하여 해석할 수 있습니다.
import com.companyb.payroll.*; - 기본 패키지에서 파트를 가져올 수 없습니다.
- 시스템 범위
- EGL이 이전 단계에서 파트 이름을 해석할 수 없는 경우에만 시스템 범위에서 일치 파트를 검색합니다.