더북(TheBook)

트랜스파일러의 프런트엔드(즉, 스캐너와 파서)는 다른 컴파일러와 비슷하게 생겼다. 소스 언어가 타깃 언어를 감싼 단순한 구문 스킨(syntactic skin)이라면, 아예 분석을 완전히 생략하고 타깃 언어에 유사한 구문을 바로 출력할 수 있다.

두 언어의 시맨틱이 더 차이가 날수록 분석과 최적화처럼 완전한 기능을 갖춘 컴파일러에서 일반적인 단계들을 더 많이 볼 수 있다. 또한 코드 생성과 관련해서는 기계어와 유사한 이진 언어(binary language) 대신, 타깃 언어에서 문법적으로 올바른 소스(즉, 목적지) 코드 문자열을 생성한다.

어느 쪽이든 결과 코드를 출력 언어의 기존 컴파일 파이프라인을 통해 실행하면 모든 작업이 완료된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.