컴파일러가 여러 데이터구조를 해석하는 방식에 대한 이론을 정리한 내용입니다.
Tokenizer는 어떠한 구문을 토큰화 시키는 역할을 합니다. 토큰화라는 것은 구문에 내용을 의미있는 구문단위로 잘개 쪼개는 방식입니다. 이렇게 쪼개진 토큰들은 Lexer를 통하여 의미가 부여됩니다.
Lexer는 토큰을 입력받아 해당 토큰에 의미를 부여하는 역할을 하게 됩니다. 구문의 시작, 심볼, 문자, 등등의 의미를 부여할 수 있습니다.
Lexer로 의미가 부여된 모든 단위들을 구조적으로 나타내게 됩니다. 이는 컴퓨터가 이해할 수 있는 데이터 형식인데 이를 AST 트리형식이라고 합니다.
AST(Abstract Syntax Tree)는 컴퓨터가 이해할 수 있는 데이터 단위로 변환된 트리 구조를 의미합니다. 이러한 트리는 여러가지 하위 데이터를 간단하게 나타낼 수 있으므로 후에 변환 등의 작업이 쉬워집니다.