compilation
컴파일
둘러보기로 가기
검색하러 가기
컴파일은 유닛을 해석하여 실행 가능한 형태로 만드는 과정으로, 다음 단계로 구성된다.
- (필요하면) 패키지에 어느 파일, 즉 유닛이 들어 있는지를 결정
- 파일 시스템 등에서 유닛에 대응하는 파일을 읽음
- 코드 문자 인코딩을 결정하고, 유니코드 스칼라 값의 열로 디코딩
- 다음 과정을 동시에 실행 (개념적으로는 아래 순서대로 일어나지만, 서로 영향을 줄 수 있음)
- 타이핑 (타입 추론 및 타입 결정)
한 번 컴파일된 유닛은 그 의미가 바뀌지 않는다. 예를 들어서 유닛을 실행하는 도중에 그 유닛에 함수를 추가하거나 뺄 수 없다. 이러한 일을 하려면,
- 유닛의 복제본을 만들어 그것을 컴파일한 뒤에 바꿔치기하거나,
- 정적 평가를 사용해서 컴파일 과정에서 함수를 추가한 것처럼 보이게 만들어야 한다.