- Цели и задачи дисциплины
- Преподаваемая дисциплина является средством решения некоторых прикладных и системных задач. Преподавание и изучение дисциплины следует рассматривать как важную составляющую профессиональной подготовки. Целью дисциплины является обучение студентов применению теории формальных языков и автоматов, методов и алгоритмов лексического и синтаксически управляемого разбора при создании системного и прикладного обеспечения. Задачами дисциплины заключаются в том, чтобы ознакомить студентов с формальными методами описания структуры текстовой информации и синтаксиса языков программирования; дать представление о проблемах и направлениях исследований в области языков программирования; дать практические навыки по использованию современных библиотек и CASE-средств для обработки текстовой информации, для разработки компиляторов и интерпретаторов проблемно-ориентированных языков.
- Краткое содержание дисциплины
- Теория формальных языков, способы описания, классификация языков и распознавателей. Регулярные языки, использование регулярных выражений для обработки текстовой информации и лексического анализа. Контекстно-свободные языки, их классификация, виды распознавателей для синтаксического анализа. Трансляторы, структура компиляторов и интерпретаторов, этапы трансляции и промежуточные внутренние представления программы, принципы оптимизации кода. Современные CASE-средства, разработка интерпретатора и компилятора учебного языка с использованием LLVM и технологии JIT.
- Компетенции обучающегося, формируемые в результате освоения дисциплины
- Выпускник должен обладать:
- ПК-1 Способен активно участвовать в разработке системного и прикладного программного обеспечения
- Образование
- Учебный план 01.03.02, 2022, (4.0), Прикладная математика и информатика
- Методы трансляции и формальные языки