추상 구문 구조 트리
해당 사이트에서 자바스크립트 코드를 AST를 확인 할수 있습니다.
https://astexplorer.net/
렉싱 또는 토큰화 단계
- 자바스크립트 엔진은 먼저 소스 코드를 입력 받습니다. 이 코드는 문자열의 형태로,
실행 가능한 프로그램을 나타냅니다.
- 엔진은 이 문자열을 읽기 시작하며, 코드를 구성하는 기본 요소들(토큰)로 나눕니다.
토큰은 자바스크립트 언어의 구문 규칙에 의해 정의되며, 이에는 키워드(if, else, function 등),
식별자(변수 및 함수 이름), 연산자(+, -, *, / 등), 리터럴(숫자 값, 문자열) 등이 포함됩니다.
- 이 단계에서 토큰은 단순히 문자열에서 언어의 기본 빌딩 블록으로 분리됩니다
구문 분석(파싱) 단계 및 AST 생성
- 토큰화 과정을 통해 생성된 토큰들은 다음 단계인 구문 분석(파싱) 단계로 넘어갑니다.
이 단계에서는 토큰들의 순서와 구조를 분석하여 프로그램의 구문적 구조를 이해합니다.
- 구문 분석의 결과는 추상 구문 트리(AST)입니다. AST는 코드의 구조를 나무 형태로 나타내며,
각 노드가 토큰(또는 토큰 그룹)을 나타냅니다.
이 트리 구조는 프로그램의 실행 로직, 변수와 함수의 관계, 조건문과 반복문의 구조 등 프로그램의 전체적인 구문적 구조를 반영합니다.
- AST는 코드의 의미를 분석하고 최적화하는 데 사용됩니다.
예를 들어, 자바스크립트 엔진은 AST를 기반으로 코드를 실행하기 위한 내부 명령어로 변환하거나, 코드 최적화 과정에서 사용할 수 있습니다.
