: 프로그래밍 언어의 형식을 분석하고, 데이터를 이해하며, 실행방식으로 변환하는 핵심 과정
: 분석을 위한 필요한 구문론적 구조를 제공
: 가장 대중적으로 사용되는 tree 구조

AST as List 선언
(node-name node-left node-right)
2+3 --> (+ 2 3)
CFG : <add_expr> -> +
code : 2+3
AST as list : (+ (int 2) (int 3))
code : A = 2+3
s-exp : (= A (+ 2 3))
begin
a=2;
c=a+3;
end
AST as list : (= a 2), (= c (+ a 3))

AST의 마지막 자식은 항상 terminal이다.