프로그래밍/TIL(Today I Learned)

1강 컴파일러란?

가라멜 2018. 8. 19. 20:39
반응형

1. 컴파일러란?

- 번역기

컴파일러 기법 : 번역 후 실행 > 효율적

인터프리터 기법 : 번역과 실행(동시) > 사용자와 대화식


-논리적 구조

프로그램 > 어휘분석 > 구문분석 > 의미분석 > 중간코드 > 최적화 > 목적코드 생성


<어휘분석>

- 기본어휘가 문법에 맞는지 분석

- 어휘를 토큰으로 변환

- 연산자, 식별자, 예약어, 구분자 , 상수

- 어휘분석

- 어휘분석기


<구문분석>

- 파스 트리

- 구문 트리


<의미분석>

- 파스트리에 의미부여


<중간코드>

- 최적화를 위한 중간단계

- 후위표현/ 3주석코드 / U코드 / 문법지시적변환 등


<최적화>

- 효율화 / 수행시간 , 기억공간 최소화


<목적코드 생성>

- 사용할 레지스터의 수 

- 계산과정, 명령어 종류


1- 패스 컴파일러

- 효율성 / 실행속도가 빠름 / backpatching


2-패스 컴파일러

- 이식성 / 기계독립적 , 최적화 / 기억장소 절약 / 기계코드 표현 제약 / 실행속도가 느림



첫시간부터 어렵다 --;;

'프로그래밍 > TIL(Today I Learned)' 카테고리의 다른 글

2강 컴퓨터 명령  (0) 2018.08.21
2강 프로그래밍 언어의 역사 및 설계기준  (0) 2018.08.20
1강 웹과 자바  (0) 2018.08.19
컴파일러 구성  (0) 2018.08.18
JSP 프로그래밍  (0) 2018.08.18