본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Compile

  • 사용자가 작성한 소스 프로그램을 컴퓨터가 이해할 수 있는 기계어로 번역하는 과정
  • 컴파일을 하면 기계어 코드로 변환된 목적 프로그램이 생성된다.

넓은 의미의 컴파일

편집 원본 편집
  • 원시 언어로 된 프로그램으로부터 그와 동등한 일을 하는 목적 언어 프로그램을 생성하는 작업
  • 프리 프로세싱, 매크로 처리, 어셈블 등 모든 종류의 언어처리 작업을 총칭

좁은 의미의 컴파일

편집 원본 편집
  • 고수준 언어로 작성된 원시 프로그램을 어셈블리 언어나 기계어 등의 저수준 언어로 된 목적 프로그램으로 번역

원시 프로그램은 다음 단계를 거쳐 목적 프로그램이 된다. 넓은 의미의 컴파일에는 맨 앞의 전처리도 들어간다.

  1. 전처리(선행처리) : 매크로 확장, 헤더 파일 포함, 조건부 컴파일 → 전처리기
  2. 어휘 분석 : 원시 프로그램을 하나의 긴 문자열로 보고 문자 단위로 훑어(스캐닝) 문법적으로 의미 있는 최소 단위인 토큰으로 나눈다 → 어휘 분석
  3. 구문 분석 : 토큰 열이 문법에 맞는지 검사해 파스 트리를 만든다
  4. 의미 분석 : 자료형 검사, 선언 여부 확인
  5. 중간 코드 생성 → 코드 최적화 → 목적 코드 생성

문자를 토큰으로 나누는 일은 구문 분석이 아니라 어휘 분석이 한다.