<aside>

</aside>


🌟 챕터 μ†Œκ°œ

μ•ˆλ…•ν•˜μ„Έμš”, μ—¬λŸ¬λΆ„! 😊 μ˜€λŠ˜μ€ 행동 νŒ¨ν„΄μ˜ λ§ˆμ§€λ§‰ 주자, **인터프리터 νŒ¨ν„΄(Interpreter Pattern)**에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

ν˜Ήμ‹œ μ—¬λŸ¬λΆ„λ§Œμ˜ κ°„λ‹¨ν•œ μ–Έμ–΄λ‚˜ κ·œμΉ™μ„ λ§Œλ“€κ³ , ν”„λ‘œκ·Έλž¨μ΄ κ·Έ μ–Έμ–΄λ₯Ό μ΄ν•΄ν•˜κ³  μ‹€ν–‰ν•˜λ„λ‘ λ§Œλ“€κ³  μ‹ΆμœΌμ‹ κ°€μš”? πŸ€“ 인터프리터 νŒ¨ν„΄μ€ νŠΉμ • μ–Έμ–΄μ˜ 문법을 클래슀둜 ν‘œν˜„ν•˜κ³ , κ·Έ 클래슀 ꡬ쑰λ₯Ό μ‚¬μš©ν•˜μ—¬ ν•΄λ‹Ή μ–Έμ–΄λ‘œ μž‘μ„±λœ **λ¬Έμž₯을 해석(Interpret)**ν•˜λŠ” 방법을 μ œκ³΅ν•©λ‹ˆλ‹€. 마치 ν”„λ‘œκ·Έλž¨ μ•ˆμ— μž‘μ€ 'μ–Έμ–΄ 해석기'λ₯Ό λ§Œλ“œλŠ” 것과 κ°™μ£ ! ν•¨κ»˜ μ•Œμ•„λ΄…μ‹œλ‹€! ✨


🎯 챕터 λͺ©ν‘œ

이번 κ°•μ˜μ˜ λͺ©ν‘œμž…λ‹ˆλ‹€.

  1. 인터프리터 νŒ¨ν„΄μ˜ μ˜λ„(μ£Όμ–΄μ§„ 언어에 λŒ€ν•΄ 문법 ν‘œν˜„κ³Ό κ·Έ ν‘œν˜„μ„ ν•΄μ„ν•˜λŠ” 해석기 μ •μ˜)λ₯Ό μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  2. 이 νŒ¨ν„΄μ΄ ν•΄κ²°ν•˜λŠ” 문제(κ°„λ‹¨ν•œ μ–Έμ–΄λ‘œ μž‘μ„±λœ λ¬Έμž₯ 해석)λ₯Ό 식별할 수 μžˆμŠ΅λ‹ˆλ‹€.
  3. μ£Όμš” μ°Έμ—¬μž(AbstractExpression, TerminalExpression λ“±)와 각자의 역할을 μ΄ν•΄ν•©λ‹ˆλ‹€.
  4. νŒ¨ν„΄μ΄ **좔상 ꡬ문 트리(AST)**λ₯Ό μ–΄λ–»κ²Œ ν™œμš©ν•˜λŠ”μ§€ μ΄ν•΄ν•©λ‹ˆλ‹€.
  5. interpret() λ©”μ„œλ“œκ°€ μž¬κ·€μ μœΌλ‘œ λ™μž‘ν•˜λŠ” 방식을 μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  6. Pythonμ—μ„œ κ°„λ‹¨ν•œ 인터프리터 νŒ¨ν„΄ 예제λ₯Ό κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  7. νŒ¨ν„΄μ˜ 이점(문법 ν™•μž₯ μš©μ΄μ„±)κ³Ό 단점(λ³΅μž‘ν•œ 문법 처리의 어렀움)을 μ΄ν•΄ν•©λ‹ˆλ‹€.

πŸ’» κ°•μ˜μ—μ„œ μ‚¬μš©λ˜λŠ” 전체 μ½”λ“œ 및 ν”„λ‘œμ νŠΈ ꡬ쑰

κ°„λ‹¨ν•œ ν›„μœ„ ν‘œκΈ°λ²•(Postfix Notation) 계산기 예제λ₯Ό 톡해, μˆ˜μ‹ λ¬Έμžμ—΄μ„ ν•΄μ„ν•˜μ—¬ 계산 κ²°κ³Όλ₯Ό μ–»λŠ” 과정을 λ³΄μ—¬λ“œλ¦½λ‹ˆλ‹€. λͺ¨λ“  μ½”λ“œλŠ” interpreter_example.py 파일 ν•˜λ‚˜μ— λ‹΄κ² μŠ΅λ‹ˆλ‹€.