대다수의 프로그래밍 언어는 어떻게 동작할까?


컴퓨터는 우리가 작성한 코드를 실행하기 위해서 이 코드를 자기가 해석하기 쉬운 형태로 변환하는 함

= 컴파일

그래서 우리가 프로그래밍 언어로 작성한 코드를 컴파일 하면 코드가 컴퓨터가 이해할 수 있는 기계어 같은 형태로 변환됨

image.png

그리고 이렇게 코드를 컴파일하는 녀석 = 컴파일러

자바나 자바스크립트같은 언어를 컴파일하면 바이트 코드라는 형식으로 변환이됨.

image.png

그런데 컴파일러는 어떤 과정을 거쳐 코드를 컴파일할까?

  1. 우선 컴파일러는 우리가 작성한 코드를 바로 바이트코드로 변환하는게 아니라 그 전에 AST(추상 문법 트리)라는 특별한 형태로 먼저 변환을 함

image.png

  1. 그림처럼 코드의 공백이나 주석 탭 등의 코드 실행에 관계없는 그런 요소들은 전부 제거하고 트리 형태의 자료구조에 코드를 쪼개 저장 해 놓은 형태를 말함

image.png