자바스크립트 엔진에서 토크나이징과 파싱 과정의 차이점은 무엇인가요? #55
-
관련 챕터[Part2] 1.3 코드 컴파일 (Compiling Code) |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
답변책에서는 토크나이징과 렉싱은 미묘하고 학술적인 차이가 있는데 둘의 차이는 토큰을 무상태 방식으로 인식하는지 와 상태 유지 방식으로 인식하는 지에 있습니다.라고 나와 있는데 잘 와닿지 않는다. ###토크나이징 (Tokenizing) 입력: 원시 소스 코드 (예: let x = 10;) 토크나이징 과정
###파싱(Parsing) 입력: 토큰의 리스트 (예: [let, x, =, 10, ;]) 파싱의 과정
####차이점 입력과 출력 역할 |
Beta Was this translation helpful? Give feedback.
답변
책에서는 토크나이징과 렉싱은 미묘하고 학술적인 차이가 있는데 둘의 차이는 토큰을 무상태 방식으로 인식하는지 와 상태 유지 방식으로 인식하는 지에 있습니다.라고 나와 있는데 잘 와닿지 않는다.
###토크나이징 (Tokenizing)
원시 소스 코드를 개별적인 단위인 토큰으로 분리하는 과정
입력: 원시 소스 코드 (예: let x = 10;)
출력: 토큰의 리스트 (예: [let, x, =, 10, ;])
토크나이징 과정
###파싱(Parsing)
토크나이징 단계에서 생성된 토큰을 이용해 문법적으로 의미 있는 구조로 변환하는 과정, 이 구조 AST(추상 구문 트리)로 표현
입력: 토큰의 리스트 (예: [let, x, =, 10, ;])
출력: 추상 구문 트리 (AST)
파싱의 과정
####차이점
목적
토크나이징: 소스 코드를 기본 단위(토큰)로 분리합니다.
파싱: 토큰을 문법적으로 의미 있는 구조(AST)로 변환합니다.
입력과 출력
토크나이징:
입력: 원시 소스 코드
출력: 토큰 리스트
파싱:
입력: 토큰 리스트
…