2

Синтаксические диаграммы КС-языков - Рисунок порядка КС-языков

Серия Что такое язык программирования?

Предыдущая статья: Автомат с магазинной памятью (стог-памятью) и КС-языки в vk.com

Статья для повторения:Синтаксические диаграммы автоматных языков - рисунок порядка автоматных языков в vk.com

Чтобы построить рисунок порядка по КС-грамматике следует соблюдать:

  1. Каждому неконечному строится свой отдел, помеченный именем символа.

  2. Неконечные из правил вывода вписывают в прямоугольники, а конечные в круги или овалы.

  3. Каждое правило строит ветвь последовательно связанных прямоугольников и кругов, в том же порядке как записаны конечные и неконечные.

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

Рассмотрим правила: А → БвГд | а

А → а

А → а

Простейший случай А→ а, имеем ветвь из одного конечного символа а.
Продолжим:

А → БвГд

А → БвГд

Тут описана ветвь А → БвГд, Б и Г неконечные символы поэтому заключены в прямоугольники, в и д конечные поэтому в круги. Обе ветви следует объединить параллельно:

А → БвГд | а

А → БвГд | а

Отдел А завершён. Но мы имеем ещё два неконечных Б и Г, поэтому следует отобразить и их отделы. Пусть Б описывает Б → в | дБ , а Г → eБГ | ε. Отобразим их:

Б → дБ|в , Г → еБГ|ε

Б → дБ|в , Г → еБГ|ε

Почти закончили, обратите внимание на правила Б → дБ и Г → еБГ, что между ними общего? Внутри этих правил встречается одноименный неконечный символ и он находится справа от всех символов. Такие правила называют праворекурсивными. Для этих неконечных у нас есть альтернативы Б → в , Г → ε, что нам говорит о необязательности вхождения левых символов праворекурсивных правил. Мы можем упростить отделы избегая рекурсии (перепутья), заменяя на циклы:

Упрощённые отделы

Упрощённые отделы

Отобразим полный рисунок и на этом урок завершён.

Рисунок порядка КС-языка.

Рисунок порядка КС-языка.

З.Ы. ε (эпсилон) - это пустая цепочка, теперь более понятно воспринимаю книгу «О дивный новый мир». Подписывайся, пройденный урок поможет нам разобраться в рекурсивном спуске.

UPD:

Читать далее...

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

Лига образования

6.8K постов22.9K подписчика

Правила сообщества

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


ДЛЯ АВТОРОВ:


Приветствуются:

-уважение к читателю и открытость

-желание учиться

Не рекомендуются:

-публикация недостоверной информации


ДЛЯ ЧИТАТЕЛЕЙ:


Приветствуются:

-конструктивные дискуссии на тему постов

Не рекомендуются:

-личные оскорбления и провокации

-неподкрепленные фактами утверждения


В этом сообществе мы все союзники - мы все хотим учиться! :)

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества