728x90
반응형
SMALL

컴파일러

  • 고수준 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 저수준 언어(일반적으로 기계어 또는 바이트 코드)로 변환하는 소프트웨어 도구이다. 이 변환 과정을 "컴파일"이라고 한다.

컴파일러는 일반적으로 다음과 같은 두 단계로 작동한다:

  1. 전처리 및 구문 분석 단계: 이 단계에서 컴파일러는 소스 코드를 읽고, 구문을 분석하여 추상 구문 트리(Abstract Syntax Tree, AST)라는 내부 표현을 생성한다. AST는 소스 코드의 구조와 의미를 반영하며, 이 단계에서 문법 오류가 발견되면 컴파일러는 오류 메시지를 출력한다.
  2. 코드 생성 및 최적화 단계: 컴파일러는 AST를 기계어나 바이트 코드와 같은 저수준 코드로 변환한다. 이 과정에서 컴파일러는 다양한 최적화를 수행하여 생성된 코드가 가능한 효율적으로 실행될 수 있도록 한다.

컴파일러의 주요 장점 중 하나는 소스 코드를 한 번 컴파일하면, 결과로 생성된 실행 파일은 별도의 컴파일 과정 없이 바로 실행할 수 있다는 것이다. 이는 인터프리터와 대조적인 점으로, 인터프리터는 소스 코드를 라인별로 해석하고 실행하기 때문에 실행 시마다 해석 과정이 필요하다.

또한, 컴파일러는 코드 최적화를 통해 프로그램의 실행 속도를 높이는 데 중요한 역할을 한다. 하지만 반대편으로는 컴파일 과정이 인터프리터에 비해 시간이 더 걸릴 수 있다.

컴파일러의 예로는 C의 GCC, Java의 javac, Python의 PyPy 등이 있다.

728x90
반응형
LIST

'CS > 프로그래밍 언어' 카테고리의 다른 글

베이직(BASIC)  (0) 2023.05.29
코볼(COBOL)  (0) 2023.05.29
포트란(Fortran)  (0) 2023.05.29
고수준 언어와 어셈블리 언어의 차이점  (0) 2023.05.26
고수준 프로그래밍 언어(high-level programming language)  (0) 2023.05.26

+ Recent posts