컴파일과 트랜스파일
Published: | at 오전 03:50 Table of contents
Open Table of contents
Compile
- 한 언어로 작성된 소스 코드를 받아서 다른 언어로 된 하나 이상의 출력 파일을 생성하는 프로그램을 포괄적으로 설명하는 용어
- 컴파일은 일반적으로 고급 언어로 작성된 소스 코드를 저급 언어로 변환하는 과정
- 주로 고급 언어에서 저급 언어로 변환하는 것을 의미
- 예를 들어, C++ 코드를 어셈블리어로 변환하는 것
- 컴파일러는 소스 코드를 기계어로 변환하여 실행 파일을 생성
- 이 과정에서 최적화와 오류 검사를 수행
- 컴파일된 코드는 특정 플랫폼에서 실행 가능
- 컴파일 과정에서 소스 코드의 문법 오류를 발견할 수 있음
- 컴파일된 코드는 실행 속도가 빠름
Transpile
- 트랜스파일은 한 고급 언어에서 다른 고급 언어로 변환하는 과정
- 예를 들어, TypeScript 코드를 JavaScript로 변환하는 것
- 트랜스파일러는 소스 코드를 다른 고급 언어로 변환하여 실행할 수 있도록 함
- 트랜스파일 과정에서 문법 오류를 발견할 수 없음
- 트랜스파일된 코드는 원래의 고급 언어와 비슷한 실행 속도를 가짐
- 트랜스파일은 주로 코드의 호환성을 위해 사용됨
- 트랜스파일러는 주로 문법 변환에 집중하며, 최적화는 수행하지 않음
- 트랜스파일된 코드는 원래의 고급 언어와 비슷한 실행 속도를 가짐
- 컴파일러의 하위 집합
- 트랜스파일에서 말하는 유사수준의 추상화는 언어를 하위, 중위, 상위 수준으로 분류하는 개념은 기계/아키텍처의 실제 작동에서 제공하는 추상화 수준에 따라 결정됨.
- 어셈블리와 같은 저수준 언어는 프로세서 아키텍처와 매우 유사함. 즉, 프로세서마다 다른 명령어를 사용합니다. 반면 C/C++/Java/JavaScript는 이러한 모든 요소를 추상화하여 더 많은 추상화를 제공.
- 따라서 트랜스파일러는 이 추상화의 관점에서 처음 학습한 언어에 더 가까운 언어로 컴파일함