LibRar.Org.Ua — Бібліотека українських авторефератів

Загрузка...

Головна Електроніка. Обчислювальна техніка → Формальные грамматики и их приложение в процессе разработки программного обеспечения

узлы графа можно рассматривать как символы алфавита. Только в обычном тексте каждый символ алфавита имеет две связи (слева и справа), а в графе символ может иметь множество связей.

По отношению к языку употребляют термины «синтаксис» и «семантика». Синтаксис – совокупность правил построения правильного текста, семантика – определяет смысл текста, его значение. Семантика в формальных языках связана с определенной структурой текста. Синтаксис и семантика связываются посредством формальной системы, называемой грамматикой.

Грамматикой называют четверку

Формальные грамматики и их приложение в процессе разработки программного обеспечения

где Формальные грамматики и их приложение в процессе разработки программного обеспечения – алфавит терминальных символов; Формальные грамматики и их приложение в процессе разработки программного обеспечения – алфавит нетерминальных символов; Формальные грамматики и их приложение в процессе разработки программного обеспечения – множество продукций вида Формальные грамматики и их приложение в процессе разработки программного обеспечения и Формальные грамматики и их приложение в процессе разработки программного обеспечения, Формальные грамматики и их приложение в процессе разработки программного обеспечения, Формальные грамматики и их приложение в процессе разработки программного обеспечения – множество цепочек, состоящих из символов алфавитов Формальные грамматики и их приложение в процессе разработки программного обеспечения и Формальные грамматики и их приложение в процессе разработки программного обеспечения; S – аксиома.

Грамматика структурирует смысловые понятия, выражаемые нетерминальными символами и показывает их связь с группами терминальных символов. Структуру этих понятий можно определить посредством операции, именуемой выводом и состоящей в пошаговой процедуре получения входной терминальной цепочке (терминальной языковой конструкции) из аксиомы. Шаг вывода состоит в замене нетерминального символа в уже выведенной цепочке правой частью (стоящей справа от →) той продукции, где этот нетерминал есть левая часть. Первой выведенной цепочкой считается аксиома S.

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



Формальные грамматики и их приложение в процессе разработки программного обеспечения


Рисунок 1 – Схема получения программного кода из нейпа


Расширенное понятие грамматики называется плекс-грамматикой и порождает структуры произвольных объектов, соединенных в заранее определенных точках связи [4]. Терминальными символами в плекс-грамматиках называют физически неделимые объекты (узлы графа), нетерминальными – узлы, которые могут быть выражены подграфом. Терминальные и нетерминальные символы называют нейпом. Нейп – это произвольный объект, имеющий произвольное конечное число точек связи, который представляется именем и точками связи. Продукции плекс-грамматики определяют, как сложные нейпы формируются из примитивных нейпов и других структур. Продукцию плекс-грамматики можно представить как в графической форме, так и в текстовой. Текстовая форма продукции имеет вид: Формальные грамматики и их приложение в процессе разработки программного обеспечения, где Формальные грамматики и их приложение в процессе разработки программного обеспечения – имя нетерминального объекта грамматики, Формальные грамматики и их приложение в процессе разработки программного обеспечения – список внешних точек соединений нетерминальной структуры Формальные грамматики и их приложение в процессе разработки программного обеспечения, Формальные грамматики и их приложение в процессе разработки программного обеспечения – список компонентов структуры, образующей Формальные грамматики и их приложение в процессе разработки программного обеспечения, Формальные грамматики и их приложение в процессе разработки программного обеспечения – список взаимосвязей компонентов, входящих в Формальные грамматики и их приложение в процессе разработки программного обеспечения, Формальные грамматики и их приложение в процессе разработки программного обеспечения – список соответствия, показывающий, как каждая точка связи из списка Формальные грамматики и их приложение в процессе разработки программного обеспечения, соотносится с точками связи в списке Формальные грамматики и их приложение в процессе разработки программного обеспечения.

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

Рассмотрим схему, представленную на рис. 2. В форме традиционного нейпа, описанного свыше, эта схема представляется строкой:


Формальные грамматики и их приложение в процессе разработки программного обеспечения

Формальные грамматики и их приложение в процессе разработки программного обеспечения,


где