[CS]Tokenizer, Lexer, Parser, AST

한상욱·2024년 7월 21일
0

CS&자격증후기&잡담

목록 보기
8/21
post-thumbnail

들어가며

컴파일러가 여러 데이터구조를 해석하는 방식에 대한 이론을 정리한 내용입니다.

Tokenizer

Tokenizer는 어떠한 구문을 토큰화 시키는 역할을 합니다. 토큰화라는 것은 구문에 내용을 의미있는 구문단위로 잘개 쪼개는 방식입니다. 이렇게 쪼개진 토큰들은 Lexer를 통하여 의미가 부여됩니다.

Lexer

Lexer는 토큰을 입력받아 해당 토큰에 의미를 부여하는 역할을 하게 됩니다. 구문의 시작, 심볼, 문자, 등등의 의미를 부여할 수 있습니다.

Parser

Lexer로 의미가 부여된 모든 단위들을 구조적으로 나타내게 됩니다. 이는 컴퓨터가 이해할 수 있는 데이터 형식인데 이를 AST 트리형식이라고 합니다.

AST

AST(Abstract Syntax Tree)는 컴퓨터가 이해할 수 있는 데이터 단위로 변환된 트리 구조를 의미합니다. 이러한 트리는 여러가지 하위 데이터를 간단하게 나타낼 수 있으므로 후에 변환 등의 작업이 쉬워집니다.

profile
자기주도적, 지속 성장하는 모바일앱 개발자가 되기 위해

0개의 댓글