C/C++ 디자인 패턴 (23) — 인터프리터(Interpreter)
로그 뷰어에 "레벨 3 이상이면서 커널에서 왔거나 메시지에 oom이 들어간 줄" 같은 조건을 넣고 싶다. 조건 조합마다 체크박스와 코드를 추가할 수는 없으니, 사용자가 level >= 3 and (src == kernel…
로그 뷰어에 "레벨 3 이상이면서 커널에서 왔거나 메시지에 oom이 들어간 줄" 같은 조건을 넣고 싶다. 조건 조합마다 체크박스와 코드를 추가할 수는 없으니, 사용자가 level >= 3 and (src == kernel…
수식 파서가 만든 구문 트리(AST)에 평가, 출력, 최적화, 타입 검사 같은 연산이 계속 늘어난다고 하자. 연산마다 노드 클래스에 가상 함수를 추가하면, 연산 하나를 넣을 때마다 모든 노드 클래스를 고쳐야 하고…