Алгоритм синтаксического анализа регулярных стохастических атрибутных метаграмматик

ВОЕННО-СПЕЦИАЛЬНЫЕ НАУКИ

УДК 658.5.011

АЛГОРИТМ СИНТАКСИЧЕСКОГО АНАЛИЗА РЕГУЛЯРНЫХ СТОХАСТИЧЕСКИХ АТРИБУТНЫХ МЕТАГРАММАТИК

П.И. Абрамов, Р.Н. Акиншин, Д.А. Хомяков

Рассмотрены пути создания способа синтаксического анализа регулярных стохастических атрибутных метаграмматик «сверху-вниз». Основная идея способа заключается в выполнении рекурсивной процедуры нисходящей по стохастическим Т8 правилам согласования генерации и последующего грамматического разбора с последовательным предсказанием терминалов в грамматиках всех уровней, кроме самого нижнего.

Показано, что применение разработанных алгоритмов позволяет снизить на 1-2 порядка временную сложность процедур синтаксического анализа по сравнению с известными алгоритмами при решении рассматриваемого класса задач.

Ключевые слова: синтаксический анализ, атрибутные метаграмматики, регулярные грамматики.

Анализ свойств различных классов стохастических атрибутных графовых метаграмматик (САМ) аналогично [1-3] показал, что помимо сохранения свойств отдельных грамматик при их системном объединении в рамках САМ снижается громоздкость синтаксических описаний, повышается их наглядность, модифицируемость и уменьшается сложность при сохранении мощности порождаемых семейств языков.

В частности, при использовании в САМ, помимо правил согласования типа «терминал ^ начальный символ» (ТБ), дополнительных правил типа «терминал ^ метка продукции» (ТР), «терминал ^ нетерминал» (ТК), имеющих различные интерпретации, позволяет порождать языки, относящиеся к более сложным классам, чем языки, порождаемые соответствующими одноуровневыми грамматиками. Кроме того, языки, порождаемые рассмотренными классами САМ, замкнуты относительно основных алгебраических операций, что позволяет использовать известные и создавать новые методы восстановления и синтеза грамматик при создании и модификации синтаксических описаний.

Представляет определенный интерес с целью создания процедурной основы общего способа и итерационной схемы структурно-параметрического синтеза (формирования) программ рассматриваемого класса рассмотреть пути создания способа синтаксического анализа регулярных САМ «сверху-вниз», основная идея которого заключается в выполнении рекурсивной процедуры нисходящей по стохастическим ТБ правилам согласования генерации и последующего грамматического разбора с последовательным предсказанием терминалов в грамматиках всех уровней, кроме самого нижнего (уровень М).

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

Для записи алгоритма введено понятие состояния САМ - Q вида:

Q = { А, а, Б, в, Б),

А =

А«|А(2), А(2),...,А(2) |...| А(т), А(т),

1

а

а:' | а4 ,а Ч 1 2

2

а

N 2

Б =

Ч 1 1

Б

N2

, б

|...| а(т),а

2

, А

, А

а

12

Nm

Nm

л

ММ

2

Мт 1

| а<М),а(М),.

12

а

ММ

, Б

2

ММ

В =

в(1) | В(2), В(2), /1 1 . ' - -

Е =

Е(1) | Е^>, Е

1

В(2) |... | В(т),В(т),

.

N2 ,Е

1

N2 1

1

, В

, В

Е

Nm .

Nm 1

12

NM

, Е

2

NM

где А - вектор текущих нетерминалов САМ; а - вектор текущих терминалов САМ; Б- вектор позиций концов цепочек, генерируемых (разбираемых, анализируемых) с использованием грамматик, входящих в САМ; В - вектор текущих значений унаследованных атрибутов; Е - вектор текущих значений синтезированных атрибутов.

Алгоритм, реализующий выполнение синтаксического анализа «сверху-вниз», заключается в последовательном выполнении следующих основных шагов для грамматики ы произвольного уровня т:

1) В грамматике /т уровня т производится поиск наиболее вероятного (при использующейся записи-самого левого) из еще не использовав-

шихся правил подстановки вида А.

О)

к

т^т

»аИ

/mJm

где А

1т'"т

Лт)

текущее состояние вектора Av '. Осуществляется вычисление унаследо-

1т

ванных атрибутов и, если возможно, ряда синтезированных атрибутов, которые заносятся в вектора В(т) и Е(т).

2) Если в грамматике ы уровня т есть входящие ТР правила согласования из грамматики /т-1 уровня (т - 1), то также проверяется наличие

2

2

2

а1 . ->о> , где о: 7 - начальный нетерминал грамматики О. ' п-го

imJm 1п 1п 1п

правила подстановки А(т Ч -> ^(т)А(т Ч в грамматике 1т-1,

1

,

где А: к - текущее состояние вектора А. '.

г

3) Производится определение ТБ правила согласования вида

-—Н> о (п),

1п

уровня, М > п > т.

4) В грамматике О(п) производятся операции, аналогичные опера-

1п

циям, выполняемым на шагах 1 - 3 для грамматики О(т).

1т

5) Выполнение подобных операций продолжается для всех грамматик, связанных ТБ правилами согласования вплоть до достижения уровня II

М, т.е. после перехода ау у ->о4 у.

1nJn гМ

6) Грамматика уровня М используется для генерации и анализа соответствующей подсистемы, при этом используются количественные характеристики унаследованных атрибутов, занесенные в вектор вМ .

7) В случае возможности генерации и разбора проводится предсказание в грамматике О(п) следующего состояния А(п? и продолжение ана-

1п ^п1п

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

нетерминалов данной грамматики, выдается сигнал в грамматику О(т) об

1т

успешном выполнении разбора, синтезированные атрибуты, А

1ткт imJm

и позиция конца последней разобранной цепочки заносятся в соответствующие вектора Е(т), А(т), а(т), О(т), и далее продолжается, начиная с

1т 1т 1т 1т

этого состояния, анализ цепочки в соответствии с шагами 1 - 7.

Входная цепочка считается разобранной, если возможен ее полный

анализ, начиная с исходного состояния Qo, и в случае, если О(т) = О(1).

1т 11

Использование векторов состояний позволяет производить возвраты в случае неудачи с разбором очередной части цепочки и проверить новую ветвь разбора. Для реализации записи векторов состояний могут быть (аналогично [1-3]) использованы магазины со специальной стековой организацией доступа к содержимому ячеек.

В общетеоретическом плане данный способ является модификацией и конкретизацией общих методов синтаксического анализа (СА) контекстно-свободных грамматик [3], (метод СА контекстно-свободных грамматик «сверху-вниз») и СА регулярных метаграмматик (МГ) («сверху-вниз»).

Модификация направлена главным образом на учет многоуровневой структуры САМ и полного набора стохастических синтаксических и атрибутных правил в МГ.

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

Алгоритм синтаксического анализа «сверху-вниз» и его модификации [3] могут быть реализованы специальным многомагазинным автоматом со стековой организацией магазинов и дополнительным специальным вычислителем, реализующем операции по вычислению атрибутов по имеющимся правилам, а также вызова аналитических и имитационных моделей и их использования для получения синтезированных атрибутов при заданных входных атрибутах, которые вычислены на предыдущих шагах анализа.

Апробация данных алгоритмов и программ показала, что их применение позволяет снизить на 1-2 порядка временную сложность процедур синтаксического анализа по сравнению с известными алгоритмами синтаксического анализа контекстно-свободных атрибутных метаграмматик при решении рассматриваемого класса задач.

При выполнении заданных критериев эффективности осуществляется переход к этапу непосредственно реализации подпрограмм создания основных средств, подсистем контроля и реализации программы в целом.

Основные особенности формально-эвристических процедур, реализуемых в рамках данной общей схемы, определяются следующими факторами:

- основные процедуры и функции по направленному перебору вариантов при формировании ПК реализуются в рамках комплексного подхода, сочетающего применение стохастических атрибутных грамматик, аналитических и имитационных моделей;

- при использовании разработанных стохастических атрибутных метаграмматических моделей значения унаследованных атрибутов, характеризующих параметры отдельных подпрограмм получаются с использованием комплекса имитационных моделей, получение обобщенных значений показателей эффективности функционирования (стоимости) перспективных подсистем.

Список литературы

1. Особенности применения атрибутных метаграмматик для формального структурно-лингвистического описания вариантов построения и программ создания телекоммуникационных систем с расширяемой архи-

тектурой. / О.И. Атакищев [и др.] // Атрибутные метаграмматики. Основные понятия и определения. Телекоммуникации. Часть 1. № 5. М.: Машиностроение, 2003.

2. Особенности использования стохастических атрибутных грамматик для структурно-лингвистического описания вариантов построения распределенных систем управления с расширяемой архитектурой / О.И. Атакищев [и др.] // Сборник материалов 6-й Международной конференции «Оптико-электронные приборы и устройства в системах распознавания образов, обработки изображений и символьной информации (Распо-знавание-2003)». Курск, 2003.

3. Городецкий В.И., Дрожжин В.В., Юсупов Р.М. Многоуровневые атрибутные грамматики для моделирования сложных структурно-динамических систем // Техническая кибернетика. 1986. №1. С. 165.

Абрамов Павел Иванович, канд. техн. наук, нач. управления, Россия, Москва, Научно-исследовательский физико-химический институт им. Л.Я. Карпова,

Акиншин Руслан Николаевич, д-р техн. наук, доцент, ведущий научный сотрудник, Россия, Москва, Секция прикладных проблем при Президиуме Российской академии наук,

Хомяков Денис Александрович, магистрант, Россия, Москва, МГТУ им. Н.Э. Баумана

PARSING ALGORITHM FOR REGULAR STOCHASTIC ATTRIBUTE METAGRAMMARS P.I. Abramov, R.N. Akinshin, D.A. Khomyakov

Ways to create a parsing method for regular stochastic attribute metagrammars «top-down» have been considered. The main idea of the method consists in executing recursive descent procedure according to stochastic TS principles of concord of generation and the following parsing with sequential prediction of terminals in all levels of grammar except the lowest one.

It has been demonstrated that applying of the developed algorithms allows decreasing of parsing time complexity by one order or two in comparison with existing algorithms in solving of the considered class of problems.

Key words: parsing, attribute metagrammars, regular grammars

Abramov Pavel Ivanovich, candidate of engineering, head of department, Russia, Moscow, Scientific-Research Institute of Physical Chemistry named after L.Ya Karpov.,

Akinshin Ruslan Nikolayevich, doctor of engineering, an associate professor, chief researcher, Russia, Moscow, Section of applied problems under the Presidium of the Russian academy of science,

Khomyakov Denis Aleksandrovich, postgraduate in master's degree, Russia, Moscow, Moscow State Technical University named after N.E Bauman