--- id: P-REINFORCE-AST-TRANS category: "[[10_Wiki/πŸ’‘ Topics/Design & Experience]]" confidence_score: 0.99 tags: [AST, Abstract Syntax Tree, Transformation, Compiler, Babel] last_reinforced: 2026-04-20 --- # [[Abstract-Syntax-Tree-Transformation]] (AST λ³€ν™˜) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "μ½”λ“œλ₯Ό μ‘°κ°ν•˜λ“― λ³€ν˜•ν•˜λΌ." μ†ŒμŠ€ μ½”λ“œλ₯Ό 트리 ꡬ쑰둜 λΆ„ν•΄ν•œ λ’€, νŠΉμ • λ…Έλ“œλ₯Ό μΆ”κ°€, μ‚­μ œ, μˆ˜μ •ν•˜μ—¬ μ™„μ „νžˆ μƒˆλ‘œμš΄ κΈ°λŠ₯이 λ‹΄κΈ΄ μ½”λ“œλ‘œ μž¬μƒμ‚°ν•˜λŠ” ν˜„λŒ€ 개발 λ„κ΅¬μ˜ 핡심 λ§ˆμˆ μ΄λ‹€. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **Code Transpilation**: - μ΅œμ‹  μžλ°”μŠ€ν¬λ¦½νŠΈ(ES6+)λ₯Ό κ΅¬ν˜• λΈŒλΌμš°μ €μ—μ„œλ„ λŒμ•„κ°€κ²Œ ν•˜λŠ” `Babel` 같은 도ꡬ가 AST λ³€ν™˜μ˜ κ°€μž₯ λŒ€ν‘œμ μΈ 사둀닀. - **Custom Babel Plugins**: - νŠΉμ • ν•¨μˆ˜ ν˜ΈμΆœμ„ 컴파일 μ‹œμ μ— μ΅œμ ν™”ν•˜κ±°λ‚˜, λ‘œκΉ… μ½”λ“œλ₯Ό μžλ™μœΌλ‘œ μ‚½μž…ν•˜λŠ” λ“±μ˜ μž‘μ—…μ„ AST λ…Έλ“œ μ‘°μž‘μ„ 톡해 μˆ˜ν–‰ν•œλ‹€. - **Codemods**: - λŒ€κ·œλͺ¨ μ½”λ“œλ² μ΄μŠ€μ˜ 라이브러리 버전을 μ—…κ·Έλ ˆμ΄λ“œν•  λ•Œ, API λ³€κ²½ 사항을 수천 개의 νŒŒμΌμ— μžλ™μœΌλ‘œ λ°˜μ˜ν•˜λŠ” μžλ™ν™”λœ μ½”λ“œ μˆ˜μ • 기술. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (RL Update) - λ¬΄λΆ„λ³„ν•œ AST λ³€ν™˜μ€ 디버깅을 μ§€μ˜₯으둜 λ§Œλ“ λ‹€. μ‹€ν–‰λ˜λŠ” μ½”λ“œμ™€ 원본 μ†ŒμŠ€ μ½”λ“œκ°€ κ²°ν•©λ ₯을 μžƒκΈ° λ•Œλ¬Έμ΄λ‹€. λ”°λΌμ„œ `Source Map` 생성을 μ² μ €νžˆ κ΄€λ¦¬ν•˜μ—¬ λ³€ν™˜ 후에도 원본 μœ„μΉ˜λ₯Ό 좔적할 수 있게 ν•΄μ•Ό ν•œλ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) - Related: [[Abstract-Syntax-Tree-Traversal]] , [[Custom-ESLint-Rules-Development]] - Foundation: [[Computational Theory & Math/Information Theory]]