AST (Abstract Syntax Tree)
ref. https://yceffort.kr/2021/05/ast-for-javascript
- 프로그래밍 언어로 작성된 소스코드의 추상 구문 구조의 트리
- 추상적인 이유는, 실제 구문에서 나타나는 모든 세세한 정보를 표현하지 않으므로.
- AST가 만들어진 이후에는 Contextual Analysis 와 같은 과정을 통해, 추가적인 정보가 AST 에 포함된다
- AST 는 프로그램 분석, 프로그램 변환 시스템에서 사용된다.
AST 의 실제 활용 사례 (javascript)
1. 트랜스파일링
- 바벨은 3단계로 이루어짐
- parsing -> transforming -> generation
- 바벨에 자바스크립트 코드를 넘기면, AST 를 활용하여 코드를 새롭게 변환하여 만든다.
2. Prettier
- 프리티어 역시, 기존의 코드를 받아서 이를 다듬은 코드로 리턴한다.
- 해당 과정에서 AST 를 거친다.