Study
런타임과 컴파일 타임
컴파일타임
- 소스코드가 컴파일러에 의해 기계어코드로 변환되어 실행이 가능한 프로그램이 되는 단계
런타임
- 컴파일이 완료되면 메모리에 적재되어 실행되는 단계
컴파일러의 역할
- 최신 버전의 타입스크립트, 자바스크립트 코드를 구버전의 자바스크립트로 트랜스파일한다.
- 코드의 타입 오류를 검사한다.
컴파일 과정
- tsc 명령어를 실행하여 프로그램 객체가 컴파일 과정을 시작한다.
- 스캐너는 소스 파일을 토큰 단위로 분리한다.
- 파서는 토큰을 이용하여 AST를 생성한다.
- 바인더는 AST의 각 노드에 대응하는 심볼을 생성한다. 심볼은 선언된 타입의 노드 정보를 담고 있다.
- 체커는 AST를 탐색하면서 심볼 정보를 활용하여 타입 검사를 수행한다.
- 타입 검사 결과 에러가 없다면 이미터를 사용해서 자바스크립트 소스 파일로 변환한다.