- •Языки моделирования мсэ
- •Содержание:
- •Синтаксис и семантика в sdl. Ознакомление с бнф и с синтаксическими графами
- •Оборудование
- •7 Теоретическая часть
- •7.1 Назначение языка спецификаций и описаний sdl
- •7.2 Грамматика языка sdl
- •7.3 Синтаксис языка sdl
- •7.4 Нормальная и расширенная формы Бэкуса-Наура
- •8 Практическая часть
- •Составление диаграммы блока
- •Оборудование
- •7 Теоретическая часть
- •7.1 Описание структуры блока sdl
- •Синтаксис
- •7.3 Диаграмма блока
- •7.4 Комментарии и расширение текста
- •8 Практическая часть
- •Составление диаграммы системы
- •Оборудование
- •7 Теоретическая часть
- •7.1 Описание структуры системы sdl
- •Синтаксис
- •Семантика
- •Синтаксис
- •7.3 Диаграмма системы
- •7.4 Комментарии и расширение текста
- •8 Практическая часть
- •Составление диаграммы процесса
- •Оборудование
- •7 Теоретическая часть
- •7.1 Описание динамического поведения системы sdl
- •7.1.1 Процесс
- •7.1.2 Создание и уничтожение процесса
- •8 Практическая часть
- •Составление диаграммы процедуры
- •Оборудование
- •7.1.2 Вызов процедуры
- •7.1.3 Диаграмма процедуры
- •8 Практическая часть
- •Составление матрицы состояние/сигнал
- •Оборудование
- •7.1.2 Матрицы состояний/сигналов
- •8 Практическая часть
- •Ознакомление с языком mml
- •Оборудование
- •7 Теоретическая часть
- •7.1 Язык диалога mml
- •7.2 Язык диалога axe-10
- •8 Практическая часть
- •Разработка программ на языке chill
- •Оборудование
- •7 Теоретическая часть
- •7.2 Основные понятия
- •7.2.1 Значения и их типы
- •7.2.2 Имена объектов программ
- •7.2.5 Оператор присваивания
- •7.2.6 Области памяти с режимом «только для чтения»
- •7.2.7 Выражение
- •7.2.8 Константы
- •7.3 Структура программ
- •7.3.1 Обозримость и время жизни объектов программы
- •7.3.2 Модули
- •7.3.3 Блоки
- •7.3.4 Процедуры
- •7.3.5 Процессы
- •7.4 Пример технологической программы
- •8 Практическая часть
7.2 Грамматика языка sdl
Язык SDL относится к искусственным языкам и является формализованным, т.е. формально определенным.
Строгое определение формализованного языка приводится в теории формальных языков:
Формализованным языком называется конечное или бесконечное подмножество W1 слов, образованных из некоторого конечного набора символов (алфавита) W. Указанное подмножество W1 называют языком над алфавитом W или W-языком.
Искусственные языки строятся в достаточной степени аналогично естественным. Выбирается алфавит языка – конечный набор символов, который для языков программирования бывает, как правило, богаче алфавита естественных языков. Для языков МСЭ принят алфавит №5 МККТТ.
Далее вводятся элементарные конструкции языка, т. е. определяется, какие цепочки символов принадлежат языку. Эти конструкции как бы соответствуют словам естественных языков. В SDL их называют лексическими единицами или, лексемами.
Но в отличие от естественных языков задаются лексемы не списком, а правилами порождения. Например, в SDL существует правило, согласно которому любая цепочка латинских букв является лексемой. Очевидно, что задавать такие лексемы списком, даже при ограничении на число букв в лексемах, практически невозможно.
После того как описан состав лексем, формулируются правила образования предложений данного языка из этих лексем. Совокупность таких правил называется синтаксисом языка. Синтаксис языка определяет то, какие цепочки лексем образуют предложения данного языка, или, какие конструкции принадлежат данному языку. Такие конструкции называют синтаксически правильными. Таким образом, лексемы являются теми составляющими (теми «кирпичиками»), из которых строятся предложения некоторого искусственного языка.
Из предложений языка строятся тексты на данном языке, но в отличие от естественных языков здесь также существуют жесткие синтаксические правила, определяющие, какие конструкции и в каком порядке могут образовывать текст на данном языке. Такой текст для языков программирования называется программой, а для SDL – системой.
Формальное описание языков кроме синтаксических правил содержит еще и так называемые правила корректности или статические условия, накладываемые на конструкции и/или тексты.
В SDL совокупность синтаксических правил и правил корректности называется грамматикой языка. Отметим, что язык допускает использовать при описании некоторых частей системы неформальный текст, т. е. произвольный обычный текст, в котором не применяются синтаксические конструкции. Это относится к таким частям системы, как описание данных, работы, условий принятия решения и др. При реализации такого описания неформальный текст должен быть заменен каким-то реально действующим механизмом.
Грамматика формализованного языка содержит набор правил (называемых правилами подстановки), которые могут использоваться для вывода одного символа из другого путем замены подсимволов.
Слова определенного языка выводятся из некоторой начальной строки путем многократного применения этого правила.
Дополнительная особенность грамматики состоит в разбиении слов на множество Т терминальных символов и множество N нетерминальных символов.
Терминальные символы заданы и в рамках грамматики дальнейшего пояснения не требуют.
Нетерминальные символы с помощью правил подстановки выражаются через терминальные символы.
В языках МСЭ используют, так называемую, контекстно-свободную грамматику, у которой левая часть конструкции по заданию нового слова представляет собой одиночное нетерминальное слово “А”, а правая часть - это цепочка “а” терминальных и/или нетерминальных слов, известных к моменту использования данной подстановки