앞에 나온 여러 장에서 패턴 매칭을 보았지만, 이 장에서는 언어 문법을 시퀀스 패턴으로 표현
하는 방법을 알아본다. 그러고 나면 이해하고 확장하기 쉬운 언어 처리기를 만드는 데
match
/
case
가 얼마나 효율적인 도구인지 알게 될 것이다. 여기서는 작지만 스킴 언어의 함수형 부분
을 처리하는 완전한 인터프리터를 구현하고 살펴본다. 이 개념은 대형 시스템의 비즈니스 규칙
을 정의하는 템플릿 언어
template
language
나 도메인 특화 언어
domain
-
specific
language
(
DSL
)를 개발하는
데 동일하게 적용할 수 있다.
else
절은 그리 대단하지 않지만
for
,
while
,
try
와 함께 적절히 사용하면 개발자의 의도를
전달하는 데 도움이 된다.
18
.
1
이번 장의 변경 사항
18
.
3
절 ‘사례 연구:
lis.py
에서의 패턴 매칭’이 새로 추가되었다.
18
.
2
.
1
절 ‘
contextlib
유틸리티’에는 파이썬
3
.
6
에서
contextlib
모듈에 추가된 기능 몇 가
지와 파이썬
3
.
10
에 새로 추가된 괄호를 이용한 콘텍스트 관리자 구문에 관한 내용을 추가했다.
자, 이제 강력한
with
문부터 알아보자.
18
.
2
콘텍스트 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.