Пред.Страница След.Страница  Раздел Содержание


7.8. Объектно-ориентированые модели АТ-преобразователя

В предыдущих параграфах настоящего раздела были описаны практически все компоненты, которые следует рассматривать как объекты, образующие модель преобразователя. Такими объектами являются: Parser, лексический анализатор, магазин и таблицы преобразователя. Для каждого из этих объектов необходимо построить класс, определяющий переменные и методы.

Чтобы сделать текст программы Parser удобным для чтения, определим интерфейс MGsymType, в котором опишем константы, обозначающие символы действия и типы магазинных символов. Этот интерфейс должен быть реализован программой Parser.

Допустим, что все классы, определяющие таблицы, связаны с классом Parser отношениями ассоциации. Кроме того, свяжем ассоциациями классы, взаимодействующие друг с другом. В результате получим диаграмму классов преобразователя концептуального уровня в виде схемы, изображенной на рисунке 7.6.

 

 

 

Рис. 7.6. Диаграмма классов концептуального уровня.

 

Следующим шагом процесса построения объектно-ориентированной модели преобразователя является построение диаграммы классов уровня спецификации. В такой диаграмме должны быть определены атрибуты, переменные класса и переменные экземпляра, а также методы класса. Перечисленные компоненты, как правило, определяются семантикой класса и условиями взаимодействия с другими классами. В нашем случае диаграмма классов уровня спецификации, на которой показаны только отношения класса Parser, имеет вид, показанный на рисунке 7.7.

 

 

Рис. 7.7. Диаграммы классов преобразователя

 

Взаимодействие объектов, соответствующих построенной диаграмме классов, может быть показано с помощью диаграммы последовательности. Такая диаграмма для варианта построения атома операции конъюнкции, приведена на рисунке 7.8.

 

 

 

                                                                                                            

Рис. 7.8. Диаграмма последовательности построения атома для операции конъюнкции

 

На диаграмме последовательности показано, что после порождения объекта Parser, он создает все объекты, необходимые для работы. Затем он читает очередной входной токен и символ из вершины магазина, после чего вызывается метод, выполняющий построение атома конъюнкции. Этот метод читает операнды из магазина и строит новое имя для результата выполнения операции. Построенное имя заносится в символьную таблицу и таблицу переменных, а также записывается в магазин с учетом ссылок, установленных в магазине.

 


Предтраница След.Страница  Раздел Содержание