Теория формальных языков и компиляторов (ВИ-01) — Теоретические материалы

Теория формальных языков и компиляторов

Достовалов Д.Н., к.т.н., доцент каф. АСУ НГТУ (d.dostovalov@corp.nstu.ru)

 

1. Виды деятельности:

  • Лекции
  • Лабораторные
  • Курсовая работа
  • Экзамен

2. Тематика курса

  • Введение. Формальные языки и языковые процессоры. Работа яз. процессора (анализ и синтез).
  • Порождающие грамматики и языки.
  • Конечные автоматы.
  • Регулярные выражения.
  • Этапы анализа (лексический, синтаксический и семантический анализ). Алгоритмы анализа.

3. Курсовая работа

См. в пункте "Задание на курсовую работу".

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

4. Экзамен

В билете 1 теоретический вопрос и 1 задача. Для решения задачи необходимо применить теоретический материал, изложенный в лекциях и главах 2, 3 и 4 учебника [1].

Список вопросов и пример задачи находится в разделе "Вопросы к экзамену".

Десять лекций по материалам учебника "Теория и практика языковых процессоров".

Для закрепления материала в конце каждой лекции приведены задачи для самостоятельного решения.

Задание:

1. Прочитать методичку "C# Visual Studio.pdf".

2. Выполнить все действия, которые указаны в этой методичке.
Нужно использовать Visual Studio (в примере используется версия 2013, в 2019 должно быть так же).
Обратите внимание при создании проекта в Visual Studio: язык программирования - C#.
Картинки для кнопок можно взять из архива Resources.zip (там два набора иконок, можно использовать любой) или сделать свои.

3. В результате работы должен получиться текстовый редактор. Нужно сохранить проект (он пригодится для курсовой работы), и показать преподавателю.

[1] Шорников Ю. В. Теория и практика языковых процессоров: учебное пособие. Новосибирск: Изд-во НГТУ, 2004.

http://elibrary.nstu.ru/source?id=12590