flowchart LR
A[소스 코드] --> B[어휘 분석<br/>Lexical]
B --> C[구문 분석<br/>Syntax]
C --> D[의미 분석<br/>Semantic]
D --> E[중간 코드<br/>IR]
E --> F[최적화<br/>Optimization]
F --> G[코드 생성<br/>Code Gen]
G --> H[기계어]
style B fill:#e1f5fe
style C fill:#e8f5e9
style D fill:#fff3e0
style F fill:#fce4ec
flowchart LR
A["정규표현식<br/>(a|b)*abb"] --> B["NFA<br/>(Thompson)"]
B --> C["DFA<br/>(부분집합)"]
C --> D["최소 DFA<br/>(Hopcroft)"]
D --> E["어휘 분석기<br/>(Scanner)"]
flowchart TD
A[기초] --> B[정규 언어]
B --> C[NFA/DFA]
C --> D[어휘 분석기 구현]
A --> E[문맥 자유 문법]
E --> F[파싱 이론]
F --> G[파서 구현]
D --> H[컴파일러 프론트엔드]
G --> H
H --> I[IR 설계]
I --> J[최적화]
J --> K[코드 생성]