IT용어 정리 :: 컴파일러(Compiler)

IT용어 정리 :: 컴파일러(Compiler)

컴파일러(Compiler)란?

한 줄 요약 :

컴파일러란 개발자가 프로그래밍 언어(Java, Python, C, C++ 등)를 사용해 만든 파일을 컴퓨터가 읽을 수 있는 기계어인

0과 1로 변환해 컴퓨터에게 전달시키는 역할을 합니다.

자세한 설명 :

초기 컴퓨터 프로그램들은 lower level language 라고 부르는 언어로 작성이 되었습니다. 하지만 서로 다른 CPU의 등장으로 각각의 다른 lower level language를 작성해야 하는 기회비용이 생겼고, 프로그래머들(사람)은 서로 이해할 수 있는 공통된 언어의 필요성(영어)을 느꼈습니다. 이로 인해 만들어진 것이 high-level programming language (고급 언어) 입니다.

하지만 high-level programming language(고급 언어)는 단지 사람들 간의 이해를 돕기 위해 만들어진 언어일 뿐 , 컴퓨터 프로그램은 사람의 언어를 이해하지 못하기 때문에 만들어진 것이 컴파일러 입니다.

즉, 컴파일러는 사람들이 서로 이해하는 고급언어를 컴퓨터가 이해할 수 있도록 기계어, lower level language인 0과 1로 변환해 컴퓨터에게 전달하는 프로그램 을 말합니다.

예외로, 프로그래밍 언어인 자바(Java)와 같은 경우, 컴파일러가 고급언어를 바이트 코드로 변환합니다. 그리고 다양한 운영체제(OS)에서 실행되도록 개발을 했기 때문에 운영체제에 상관없이 실행할 수 있다 는 장점이 있습니다.

컴파일러의 실행 단계

- 구분 문석 : 컴파일러가 프로그래머가 작성한 소스 코드 파일을 읽으면서 문법적인 요소를 해석합니다. 이 과정에서 문 법적 오류가 있으면 사용자에게 알려줍니다.

- 최적화 : 문법적으로 해석한 소스코드를 최적화 하는 역할을 수행합니다. 도달할 수 없는 코드를 식별하거나, 루프 등의 부분을 해결합니다.

- 코드 생성 : 최적화된 구문을 목표 코드로 생성합니다.

from http://seo-coding.tistory.com/21 by ccl(A) rewrite - 2021-12-05 02:28:21