.NET Design Patterns (GoF). Interpreter (Интерпретатор)

Oleksandr Hrebeniuk
1 min readJun 3, 2017

--

Паттерн Интерпретатор (Interpreter) определяет представление грамматики для заданного языка и интерпретатор предложений этого языка. Как правило, данный шаблон проектирования применяется для часто повторяющихся операций.

Например, нам надо разработать программ для вычислений простейших операций сложения и вычитания с помощью переменных: x + y - z. Для этого можно определить следующую грамматику:

IExpression ::= NumberExpression | Constant | AddExpression | SubtractExpression
AddExpression ::= IExpression + IExpression
SubtractExpression ::= IExpression - IExpression
NumberExpression ::= [A-Z,a-z]+
Constant ::= [1-9]+

Реализация этой грамматики на языке C# будет следующая программа:

--

--