Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
04.01.2020
Размер:
2.97 Mб
Скачать

7.2 Грамматика языка sdl

Язык SDL относится к искусственным языкам и является формализованным, т.е. формально определенным.

Строгое определение формализованного языка приводится в теории формальных языков:

Формализованным языком называется конечное или бесконечное подмножество W1 слов, образованных из некоторого конечного набора символов (алфавита) W. Указанное подмножество W1 называют языком над алфавитом W или W-языком.

Искусственные языки строятся в достаточной степени аналогично естественным. Выбирается алфавит языка – конечный набор символов, который для языков программирования бывает, как правило, богаче алфавита естественных языков. Для языков МСЭ принят алфавит №5 МККТТ.

Далее вводятся элементарные конструкции языка, т. е. определяется, какие цепочки символов принадлежат языку. Эти конструкции как бы соответствуют словам естественных языков. В SDL их называют лексическими единицами или, лексемами.

Но в отличие от естественных языков задаются лексемы не списком, а правилами порождения. Например, в SDL существует правило, согласно которому любая цепочка латинских букв является лексемой. Очевидно, что задавать такие лексемы списком, даже при ограничении на число букв в лексемах, практически невозможно.

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

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

Формальное описание языков кроме синтаксических правил содержит еще и так называемые правила корректности или статические условия, накладываемые на конструкции и/или тексты.

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

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

Слова определенного языка выводятся из некоторой начальной строки путем многократного применения этого правила.

Дополнительная особенность грамматики состоит в разбиении слов на множество Т терминальных символов и множество N нетерминальных символов.

Терминальные символы заданы и в рамках грамматики дальнейшего пояснения не требуют.

Нетерминальные символы с помощью правил подстановки выражаются через терминальные символы.

В языках МСЭ используют, так называемую, контекстно-свободную грамматику, у которой левая часть конструкции по заданию нового слова представляет собой одиночное нетерминальное слово “А”, а правая часть - это цепочка “а” терминальных и/или нетерминальных слов, известных к моменту использования данной подстановки

Соседние файлы в папке ЯМСЭ