Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Design Patterns via C#.pdf
Скачиваний:
150
Добавлен:
17.03.2016
Размер:
13.25 Mб
Скачать

195

Участники

AbstractExpression - Абстрактное выражение:

Предоставляет абстрактный метод Interpret, который будет реализован во всех узлах абстрактного синтаксического дерева.

TerminalExpression - Терминальное выражение:

Реализует абстрактный метод Interpret для анализа терминальных символов грамматики, которые входят в словарь V. Для каждого терминального символа в предложении (буквы или слова) требуется создавать отдельный класс TerminalExpression.

NonterminalExpression - Нетерминальное выражение:

Представляет собой объектно-ориентированное представление правила R (Rule). Для каждого правила R = {R1, R2, … Rn} требуется создавать отдельный класс NonterminalExpression. Реализует абстрактный метод Interpret для работы с правилами (нетерминальными символами грамматики).

Context - Контекст:

Содержит в себе цепочки определенного языка и другую вспомогательную информацию требуемую для работы интерпретатора.

Client - Клиент:

Строит (или получает в готовом виде) абстрактное синтаксическое дерево, представляющее собой отдельное предложение на языке заданном определенной грамматикой. Дерево составляется из экземпляров классов TerminalExpression и NonterminalExpression.

Отношения между участниками

Отношения между классами

Класс Client связан связями отношения ассоциации с классами Context и AbstractExpression.

Класс TerminalExpression связан связью отношения наследования с абстрактным классом

AbstractExpression.

Класс NonterminalExpression связан связью отношения наследования и связью отношения агрегации с абстрактным классом AbstractExpression.

Отношения между объектами

Клиент строит (или получает в готовом виде) абстрактное синтаксическое дерево, представляющее собой отдельное предложение на языке заданном определенной грамматикой. Дерево составляется из экземпляров классов TerminalExpression и NonterminalExpression.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]