Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

공부

컴파일러 본문

개발공부

컴파일러

dfgdfgfdg 2020. 10. 27. 01:04

컴파일러란?

-인간이 만든 프로그램을 기계가 이해하도록 기계어로 변환하는 변환기(프로그램)

 *기계어: 기계가 이해하는 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