===== Элементы теории формальных языков ===== ==== Быстрая инструкция по установке ==== https://github.com/antlr/antlr4/blob/master/doc/getting-started.md === Обзор курса === Курс **"Элементы теории формальных языков"** знакомит с фундаментальными понятиями формальных языков, автоматов и их практическим применением в разработке программного обеспечения. **Основные темы курса:** - Регулярные языки и конечные автоматы - Контекстно-свободные грамматики и синтаксический анализ - Автоматы с магазинной памятью - Практическое применение в компиляторах и трансляторах - Работа с современными инструментами (ANTLR4, LLVM) === Быстрые ссылки === ^ **Раздел** ^ **Описание** ^ | [[gram:cd|Описание курса]] | Полная программа, цели, структура, литература | | [[gram:labs|Лабораторные работы]] | 4 сквозные лабораторные с вариантами кейсов | | [[gram:schedule|Расписание]] | График занятий и сроки сдачи | | [[gram:materials|Материалы]] | Лекции, презентации, примеры кода | === Новости курса === **14.11.2025 - Начало курса** * Зарегистрируйтесь на платформе * Ознакомьтесь с [[gram:cd|описанием курса]] * Выберите вариант кейса для [[gram:labs|лабораторных работ]] **14.11.2025 - Старт Лабораторной 1** * Начало работы над лексическим анализатором * Консультации по выбору инструментов === Преподаватель === * **Кафедра:** Кафедра информационных технологий * **Контакты:** eugeneai [at] irnok.net * **Консультации:** по расписанию занятий === Технологический стек === ^ **Python 3.8+** ^ **ANTLR4** ^ **LLVM** ^ **DeepSeek*** ^ | {{:gram:python.png?50|}} | {{:gram:antlr.png?50|}} | {{:gram:llvm.png?50|}} | {{:gram:ai.png?50|}} | | **Регулярные выражения** | **Docker** | **Git** | **Pytest** | * Контролируемое использование для анализа кода и генерации шаблонов === Важные примечания === * Все лабораторные работы являются **сквозными** - каждая последующая строится на основе предыдущей * Для каждого кейса предоставляется **17 вариантов** сложности * Использование **AI-инструментов** разрешено в контролируемом режиме для обучения * Основной фокус - **практическое применение** теории в реальных задачах === Старт работы === Чтобы начать работу с курсом: - Изучите [[gram:cd|описание курса]] - Выберите кейс из [[gram:labs|лабораторных работ]] - Ознакомьтесь с [[gram:materials|материалами]] - Начните выполнение [[gram:case-001|первого кейса]] ---- **Кафедра информационных технологий** | **Иркутский государственный университет** | **2025**