Interpreter Pattern định nghĩa một ngôn ngữ và biểu diễn cú pháp của nó. Nó cũng định nghĩa một trình thông dịch sử dụng biểu diễn đó để giải thích các câu trong ngôn ngữ.
Interpreter Pattern là một mẫu thiết kế hành vi.
Context: Chứa thông tin toàn cục ngoài trình thông dịch.
AbstractExpression: Khai báo một hoạt động thông dịch trừu tượng, giao diện này được chia sẻ bởi tất cả các nút trong cây cú pháp trừu tượng.
TerminalExpression: Thực hiện hoạt động thông dịch liên quan đến các ký tự cuối cùng trong cú pháp. Thực hiện giao diện yêu cầu trong biểu diễn trừu tượng, chủ yếu là phương thức Interpret().
Mỗi ký tự cuối cùng trong cú pháp đều có một biểu diễn cuối cùng cụ thể tương ứng.
NonterminalExpression: Thực hiện hoạt động thông dịch liên quan đến các ký tự không cuối cùng trong cú pháp. Mỗi quy tắc R1, R2,… Rn trong cú pháp đều cần một lớp biểu diễn không cuối cùng cụ thể. Thông qua việc thực hiện phương thức Interpret() của biểu diễn trừu tượng để thực hiện hoạt động thông dịch.
Khách hàng
Đầu ra
ABC được giải thích bởi trình thông dịch cuối cùng thành: Terminal ABC
ABC được giải thích bởi trình thông dịch không cuối cùng thành: Nonterminal ABC