공부
컴파일러 본문
컴파일러란?
-인간이 만든 프로그램을 기계가 이해하도록 기계어로 변환하는 변환기(프로그램)
*기계어: 기계가 이해하는 2진숫자(0,1)로 작성된 언어
-컴파일: 소스코드를 변환하는 과정
-컴파일러: 소스코드 문법의 오류를 체크하고 컴파일 과정을 수행한 후 목적파일을 반환
-*소스코드: 프로그래밍 언어를 이용하여, 목적 프로그램의 작업 내용을 기술
언어번역기
원시 프로그램 → 언어 번역기 → 목적 프로그램
-원시 프로그램: 고급언어 프로그램 소스
-언어 번역기: 컴파일러, 인터프리터, 프리프로세서, 어셈블러, 교차 컴파일러 등
-목적 프로그램: 저급언어(기계어, 어셈블리어) 프로그램
컴파일 언어와 인터프리터 언어
컴파일 언어 | 인터프리터 언어 |
소스 코드를 작성 컴파일 프로그램을 이용하여 컴파일 실행 파일이 만들어짐 실행 파일을 실행시킴 속도가 빠름 C++, Visual C++, Java 등 |
소스파일을 해석 엔진프로그램을 이용해 소스를 한줄씩 실행 실행 파일이 만들어지지 않음 속도가 느림 java, 자바스크립트 등 |
컴파일 과정
-전단부: 어휘분석, 구문분석, 의미분석
-후단부: 중간코드생성, 코드최적화, 목적코드생성
컴파일러 구조
소스코드 → 어휘분석기 → 구문분석기 → 의미분석기 → 코드생성기 → 기계코드
'개발공부' 카테고리의 다른 글
[Java] 배열과 리스트의 차이 (0) | 2020.10.31 |
---|---|
[Java] continue, break, return 차이 (0) | 2020.10.31 |
서버와 인터넷 (0) | 2020.10.27 |
그래픽 카드 (0) | 2020.10.27 |
[Linux] 표준입력과 표준출력 (0) | 2020.10.26 |