Программный модуль для работы с контекстно-свободными грамматиками

  • Михаил Александрович Жегалин Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина), ул. Профессора Попова, 5, корп. 3, 197022, Санкт-Петербург, Россия
  • Владислав Вадимович Яндринский Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина), ул. Профессора Попова, 5, корп. 3, 197022, Санкт-Петербург, Россия}
Ключевые слова: учебный модуль, грамматики, алгоритм Эрли, контекстно-свободные грамматики, сравнение грамматик

Аннотация

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

Биографии авторов

Михаил Александрович Жегалин, Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина), ул. Профессора Попова, 5, корп. 3, 197022, Санкт-Петербург, Россия

Студент 4 курса кафедры вычислительной техники СПбГЭТУ «ЛЭТИ», michael.zhegalin.univ@gmail.com

Владислав Вадимович Яндринский, Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина), ул. Профессора Попова, 5, корп. 3, 197022, Санкт-Петербург, Россия}

4th year Student of the bachelor’s degree program of the Сomputer Science Department, Saint Petersburg Electrotechnical University, yandrinsky@gmail.com

Литература

N. Chomsky, “Syntactic Structures,” New in linguistics, vol. 2, pp. 412–527, 1962 (in Russian).

B. K. Martynenko, Languages and translations, St. Petersburg, Russia: SPbGU Publ., 2013 (in Russian).

Jetbrains MPS, “Meta Programming System,” in www.jetbrains.com, 2024. [Online]. Available: https://www.jetbrains.com/mps/

Xtext Eclipse, “Language Engineering For Everyone!,” in eclipse.dev, 2024. [Online]. Available: https://eclipse.dev/Xtext/

ANTLR, “Quick Start,” in www.antlr.org, 2024. [Online]. Available: https://www.antlr.org

“Extended Backus–Naur Form,” in ru.wikipedia.org, 2024 (in Russian). [Online]. Available: https://ru.wikipedia.org/w/index.php?title=Расширенная_форма_Бэкуса_—_Наура&stable=1

N. Wirth, Algorithms and Data Structures, Мoscow: DMK press, 2010 (in Russian).

ITMO University, “Cocke-Younger-Kasami algorithm,” in neerc.ifmo.ru, 2022 (in Russian). [Online]. Available: https://neerc.ifmo.ru/wiki/index.php?title=Алгоритм_Кока-ЯнгераКасами_разбора_грамматики_в_НФХ

ITMO University, “Chomsky normal form,” in neerc.ifmo.ru, 2022 (in Russian). [Online]. Available: https://neerc.ifmo.ru/wiki/index.php?title=Нормальная_форма_Хомского

A. Sorokin, Earley algorithm, in homepage.mi-ras.ru, 2013 (in Russian). [Online]. Available: https://homepage.mi-ras.ru/~sk/lehre/fivt2013/Earley.pdf

Опубликован
2024-08-30
Как цитировать
Жегалин, М. А., & Яндринский, В. В. (2024). Программный модуль для работы с контекстно-свободными грамматиками . Компьютерные инструменты в образовании, (2), 72-84. https://doi.org/10.32603/2071-2340-2024-2-72-84
Выпуск
Раздел
Информатика