Tokenizer란 어떠한 구문이나 텍스트를 여러 개의 Token으로 나누는 것을 의미합니다. 여러 개의 Token으로 나눠 모델에서 처리할 수 있는 데이터로 변환하는 것입니다.
“I Love Swift” → [”I”, “Love”, “Swift”]“Swift Language” → ["S", "w", "i", "f", "t", " ", "L", "a", "n", "g", "u", "a", "g", "e"]"Let's do tokenization” → ["Let's" "do", token", "ization"]Lexer란 Tokenizer 로 의미있는 단어로 Token 을 나눈 후 토큰의 의미를 분석하는 역할을 합니다.
let a = 24
위와 같은 변수 선언 및 초기화하는 코드를 Tokenizer를 진행하여 아래와 같이 구분을 해보자
"let a = 24".split(separator: " ")
// ["let", "a", "=", "24"]
이후 Lexer 과정으로 나누어진 토큰들을 분석을 해보자면 아래와 같이 분석할 수 있다
"let": 키워드
"a": 식별자
"=": 할당 연산자
"24": 값
Parser 는 Tokenizer, Lexer 과정으로 토큰화된 데이터를 구조적으로 나타내게 하는 과정입니다.
{
"Codes": [
"keyword": "let",
"identifier": "a",
"operator": "=",
"value": "24"
]
}