먼저 생활 비유
문장을 문법 나무로 바꾸기
“철수가 사과를 먹었다”를 주어·목적어·동사로 나누듯, 컴파일러도 코드를 토큰으로 자르고 관계를 나무로 만듭니다.
1.2 · 언어와 번역
컴파일러는 긴 소스 코드를 어디서부터 읽을까요?
컴파일러도 마법사가 아니라 입력을 읽고 다른 출력을 만드는 평범한 프로그램입니다.
먼저 생활 비유
“철수가 사과를 먹었다”를 주어·목적어·동사로 나누듯, 컴파일러도 코드를 토큰으로 자르고 관계를 나무로 만듭니다.
컴퓨터 예제로 바꾸기
total = price + tax;total, =, price, +, tax를 구분한 뒤 “price와 tax를 더해 total에 대입”이라는 구조를 만듭니다.
지금 일어나는 변화
사람이 작성한 문자들이 입력됩니다.
이 그림에서 기억할 한 문장
컴파일은 한 번의 번역이 아니라 자르기, 구조 확인, 중간 표현, 코드 생성의 파이프라인입니다.
현재 상태
30초 확인 문제
괄호에 따라 덧셈 순서가 달라지는 정보는 어디에 잘 드러날까요?
처음 보는 용어 두 개
이 절을 다 읽었다면
컴파일은 한 번의 번역이 아니라 자르기, 구조 확인, 중간 표현, 코드 생성의 파이프라인입니다.